找回密码
 立即注册
查看: 2083|回复: 3

如何快速在wordpress后台中增加一个发布全站公告的功能?

[复制链接]

334

主题

519

回帖

3404

积分

管理员

积分
3404
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:" G1 G7 w" y! C; p/ L; ~
5 H' O1 V) l. P- K$ O. T) z
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
. q$ V( D* R; ^  x* Q8 Y
2 ]+ u+ k3 ~$ }9 k2 ]" L2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。6 t  x' D( [+ [; c1 _: L
  z! W2 N( V) u" w
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。3 z, J/ q6 }! j! g9 h& o

: N, q' [) L$ q1 W: Y! v4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。) ?4 |8 M: y8 P7 j/ r

1 h2 P. s! P( C+ l7 `- o注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

334

主题

519

回帖

3404

积分

管理员

积分
3404
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?( Q1 _6 w- @: @1 b1 z+ O
* |: b& t! b& `6 D9 r8 J9 j3 [2 B$ |
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:7 X/ q: |8 ^% ~# K1 h1 V" S6 _

: W- {; z1 S8 K8 x1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:' D; Z7 ]1 _; h
4 l9 f0 t' B, \2 j3 b+ e& k
   ```
% L: G$ B: n' w, T2 `8 H1 h   add_menu_page(9 L$ F  g' l8 n3 B! f
       '全站公告',
" d9 I: l6 j7 B# z, ]6 X       '全站公告',& {! u# C( a  m: @! b
       'manage_options', //需要的用户权限
& c1 C6 i- h8 u% Z5 ~1 W% s0 P0 T       'site-wide-notice', //后台页面的 slug- g, l  j$ `5 p1 v8 B9 w
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
  H- N, y$ |, R4 m( t7 M, C6 v       'dashicons-megaphone', //用于显示在菜单中的图标
" ?$ m5 C" ~% B, Y, M' b       30 //菜单项的位置- k# u0 h3 O8 f+ M6 ^8 C
   );$ _# O$ s- I' e( O! |9 p. \
   ```
; W/ ^/ q3 I4 v' @$ g7 w
) a0 y" X7 ^1 I9 y   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。7 M/ r5 B1 t" a/ u. ^" h
. s1 y/ g6 v5 c
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
; b/ {% m% u/ l8 O
* [' W5 b4 r. Y1 o) A8 |8 l. o7 _   ```+ ^9 r  k# J- c3 D+ q+ `2 T) n
   function render_site_wide_notice_page() {
; C3 s4 O/ Z2 f4 A      // 渲染后台页面内容8 P5 y2 m5 N( a
      echo '<div class="wrap">
/ J9 `9 U0 C5 d6 @          <h2>全站公告</h2>
. q- W3 m3 o3 a: ]          <form method="post" action="">
, ?1 Z1 H, w" {+ H0 [              <label for="title">公告标题:</label>5 i9 r# \- K$ U6 m# D7 Y/ t+ l4 \
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
7 k! `% a0 [7 `8 h( u; l- a4 I0 P              <label for="content">公告内容:</label>
2 ?! |! i. @$ }: z              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
) Y" i9 |) x, X, A! n              <input type="submit" name="submit" value="保存设置">% f- W5 G  }6 C2 g9 n5 J9 q: B& B1 x
          </form>
, N5 _% p7 r+ k* g      </div>';
+ _' y, I( X- ^# a! f0 a; ?" E' b8 R0 \7 ~8 L
      // 处理表单数据
; l' g" o0 d1 t) t- r. r' m& f      if (isset($_POST['submit'])) {
: L2 s( v7 W' j0 u) U: X          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
+ W4 s$ |3 I- {' d; m# E          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));0 j: w6 l8 ?' W4 `" @
      }4 g% i$ s1 ^, S% S% u: b  z
   }
1 _7 H/ q; d2 T( N2 K2 }; b   ```* E$ l. ]& {0 k) b
& F' C* }' P9 u  @+ T' C/ V
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
( w4 y: {# `! Q9 r
4 |- [9 R. i2 O5 Q3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:9 l) I9 w/ M. c9 B

) y# Q; I5 }: Z   ```
/ p- c% B. J8 M$ c( _9 G  B$ Q0 u3 J! z   <?php
! m% x  o0 B7 q" ?   $site_wide_notice_title = get_option('site_wide_notice_title');
$ Q0 H% ^7 ~: F/ V, Q   $site_wide_notice_content = get_option('site_wide_notice_content');
3 R, I9 |2 k* o: n: V0 T& O   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {" d1 O% z% B6 R$ y3 s6 ?, c
       echo '<div class="site-wide-notice">';9 T, K2 l. a7 ^/ Z2 y) f
       if (!empty($site_wide_notice_title)) {( t  s) n# w( S2 {3 r/ H
           echo '<h3>'.$site_wide_notice_title.'</h3>';! x5 a" V! u/ ]5 Z' y+ c3 q5 o
       }
6 K3 y! f/ Z1 g1 P* E# T       if (!empty($site_wide_notice_content)) {) d) F6 g! V" S5 C, V# L2 I- t
           echo '<p>'.$site_wide_notice_content.'</p>';
. F8 x" ?: p7 m0 }3 N       }
8 y9 Z/ _4 H% Z0 ^9 M       echo '</div>';6 S8 v. J# o3 ?' U
   }. W  J3 @% \: S5 a6 f5 X
   ?>
" t5 d( X# \- |' F/ m# B! K   ```
& T% C$ T" h" u
" E) l3 ]3 [) R& Z6 c2 C# r9 S& B   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
. p9 R$ v/ S+ ]; e+ a* \9 `7 f9 M
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

334

主题

519

回帖

3404

积分

管理员

积分
3404
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?* \  U9 V4 D8 e

9 N4 y; M1 ?9 T# k. E您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
. J1 J1 R$ m7 J; V  {6 V* h3 E# m/ o7 z
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
3 J7 B7 ]- Q1 p' x
8 ~% W2 `- i. p+ y& Q```
7 M8 x1 }$ n; P1 E, }. P" dfunction create_custom_post_type() {
1 W# i, M7 I0 Q9 T4 I    $args = array(6 d: B) [+ Q$ b+ v# ?% t
        'labels' => array(" E5 Z+ k( r( s3 ~5 L: G- y
            'name' => '公告',
2 g) T" Y$ m1 f) i$ ]5 h0 y            'singular_name' => '公告'( T4 x  S" E+ v& o( M/ V# [% w9 \
        ),
- P1 \; B; ?& s+ C" ?        'public' => true,
- T. f8 k* m0 s) w        'has_archive' => true,
0 y( \" S. g$ d. V6 ^        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),2 {! _# p" K8 w" @
        'taxonomies' => array('category', 'post_tag'),
5 R0 m# b1 X2 P2 I7 n, }, g        'menu_icon' => 'dashicons-megaphone',
6 n5 e4 [+ ^  @% A        'menu_position' => 5,
5 h! |6 L: [9 W# i        'rewrite' => array('slug' => 'site-wide-notices')% S  D, ~; d- [! u: }
    );
/ _4 Z  A$ Z3 ^/ m  R' {, }9 _4 j    register_post_type('site-wide-notices', $args);/ \  r% s* W! n7 b& C
}
8 ^: a# F  j/ X$ [4 [3 xadd_action('init', 'create_custom_post_type');
* t! B% E! a5 `5 {* H```# x0 @8 {: g: |. S

) T' q; I& Y! [5 Z8 ]. z8 k7 p在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
; Z8 q3 C; m0 f2 y! w# z+ j6 `, M6 |8 J4 m
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。/ l  m$ P9 t1 j" q9 z" @, E

: R9 S& ^. ?& f9 c3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
' y1 n" u: V: |+ |3 O: @" |
' X( E  a0 l* ?2 a  Y2 s```7 k6 j* o2 T8 Y/ j+ G6 V! S
$args = array(
$ D, L3 v- x# Q; a$ Q# o. X    'posts_per_page' => 3, // 显示的公告数量
$ R3 O1 R* E3 i' E8 E! g9 g    'post_type' => 'site-wide-notices', // 公告文章类型1 x9 @" u, @5 h; d3 J0 U
    'post_status' => 'publish', // 公告状态
: o5 W% s9 S1 E% N+ `' \" S    'order' => 'DESC' // 排序方式; c  h) [' G9 @- h( `- u
);
- n! @- ?: d5 n/ Z7 [2 d  Y' N" V5 c. T( H7 o' B
$notices = new WP_Query($args);
- G. C( i& g5 b2 V1 Yif ($notices->have_posts()) :- ]( {2 t3 {5 f. L1 W+ Z& Y! b
    while ($notices->have_posts()) : $notices->the_post(); ?>/ d, q# f! o! I$ w0 W& W
        <div class="notice">
, i3 j# p9 G7 F  }  K8 J( r4 I            <h3><?php the_title(); ?></h3>
! j  l7 q" u! {/ l2 s            <div class="notice-content"><?php the_content(); ?></div>
1 s/ x" v2 f: r% S3 O8 W8 f        </div>: t8 y% U4 h1 A
    <?php endwhile;! Q" Z6 U6 ]6 j6 ]
else :1 ^+ i& S& K5 u9 x- |& c4 i
    echo "暂无公告";2 \2 s8 B2 C5 M
endif;
; G2 X$ V$ @+ B/ p5 ^wp_reset_query();
  h. u( w4 O) A( h& u; t```
8 c1 R! D* a, y3 v
1 ^8 ]0 T, G$ P) d) t这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。# m! Y: d. g7 f5 J# |% {

$ Q9 U0 D7 ^& E以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

334

主题

519

回帖

3404

积分

管理员

积分
3404
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
. Y7 d7 e6 ^' n# }* }" J) t: K% ]1 ~( h# x. U. [/ Q
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
+ U9 u: B3 I, i- ?1 E0 n7 F0 X, \
# m3 x. A& D5 l. p8 E以下是创建自定义插件的步骤:) y# {$ I+ S9 ~5 F. l% t& U/ }

6 l4 y$ F7 j! C+ Z) z3 m1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
% c6 B+ \) m( H7 z3 o% Z8 \$ L
$ k3 ?) E' Z3 x2 d   ```
6 p* t9 J9 v5 L. d* R% }% U' W   <?php
- g6 q) u/ R/ h- {8 S   /*
9 ]! ^8 K6 B: r7 x   Plugin Name: Site Wide Notices Plugin; k" q* a! Q% D4 w
   Description: Adds a new custom post type for site-wide notices.& _' ~( H6 {2 A( V
   Version: 1.0! p7 S& s  j* h: i# }& m
   Author: Your Name5 E- l5 l) L8 ]& o
   Author URI: http://example.com
  B+ t( a! t7 ^: b' ]: O- B+ c   */; F/ k4 d) w6 ?5 w9 w) [) p! {0 V

! y8 H! g$ n: q& R' S' z8 j# m   // Add plugin code here...
* \7 m( g: `/ k: ?0 }) E   ```
( w3 H, V, h! t1 o& {# \
: O, B! p% H) N+ R5 |% q0 q   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。( J3 y3 H* E5 @. X

# ~7 f+ @0 b5 T2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
7 q( j) ?  d. F$ q
  Z6 ]5 Z7 F# ~/ B: T, |5 e# h   ```
0 o8 y& D) u- `% N   add_action('init', 'create_custom_post_type');  N" \5 Y0 g1 [; ^6 E' v; a+ _- p
   function create_custom_post_type() {: t& e1 U* O) k# m8 _
      $labels = array(3 t8 d9 |! u) g( F5 n3 E' U( k, @
          'name' => 'Site Wide Notices',
3 B# Y. d: O* [          'singular_name' => 'Site Wide Notice',( l+ o" v. w& D3 e/ ~
          'add_new' => 'Add New',
- ]3 x- e: u* w, q          'add_new_item' => 'Add New Site Wide Notice',! |5 i, v1 T, x0 k
          'edit_item' => 'Edit Site Wide Notice',. {. Z  T0 f6 a' o  u
          'new_item' => 'New Site Wide Notice',
* B2 F' ^* C7 E$ P# G& C' a          'view_item' => 'View Site Wide Notice',- ]" U( [. U  R6 B: `5 Y
          'search_items' => 'Search Site Wide Notices',
* c6 M1 U/ l/ y: R1 o          'not_found' => 'No site-wide notices found',
7 m- B3 q# v8 C! Y          'not_found_in_trash' => 'No site-wide notices found in trash'5 Z3 T7 T$ z  i+ @, X' Z  Q
      );9 _) a9 s9 I( Y. Y
; O7 Z6 U) X7 i# \
      $args = array(3 @% @3 M9 f# G
          'labels' => $labels,+ I1 T# ]) O. X% a
          'public' => true,
$ {5 u/ f- p# p  a* [% R. n9 p+ u- A          'has_archive' => true,
' o" q+ u1 b1 e  h9 ~4 p9 D* n          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
" o1 ^0 z- b- K          'taxonomies' => array('category', 'post_tag')," Z" {* L: _7 f9 V% a# w
          'menu_icon' => 'dashicons-megaphone',
: g& r( v8 T. W& x7 h/ k* A% G          'menu_position' => 5,
' w# A3 ]" D+ ^: o. R1 _! v7 V          'rewrite' => array('slug' => 'site-wide-notices')  {: c6 z. E6 s, }
      );
0 v7 N& n; l. T7 O; e1 B/ H
4 [: _* `( ~# Q! H4 u8 |* Y      register_post_type('site-wide-notices', $args);
1 ]9 [& ^" L/ n   }
" i5 r9 h* U* C, p/ r. f   ```" C) N6 M* x( X+ z. H  s

$ o% F. [) T0 V" `" w% b   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。9 U) b- ?* L& Z3 a5 D# L- S

7 i; q: {# X* M5 F. y# q( C' P+ G3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:" d4 y' p4 t% I: H- x5 h
2 g% O6 a5 Q7 \: x
   ```$ t2 l9 z" g' u
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
, l7 M" s% ^) k* T0 G8 H   function add_site_wide_notices_boxes() {  [- X. B) t3 n$ S, ^9 E
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');8 W( c/ c1 `6 s4 y% k
   }
0 E3 @% h% j: M6 ]. [: H' z8 ~: J5 N& v$ m
   function notice_details_meta_box($post) {# |6 P: D5 W( t
      wp_nonce_field(basename(__FILE__), 'notices_nonce');, |% W: A6 R9 o* h6 l" d
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
9 Z) s# d3 k& b6 l: C! J: d      $notice_content = get_post_meta($post->ID, 'notice_content', true);. B' c; i& c0 v: J; E
      ?>
3 j+ V  r6 a7 {7 [4 [+ K; k# e1 m      <p>( V0 R$ L( L1 \: k5 f5 ~
          <label for="notice-title">Notice Title</label><br>
. z  j% Q' L+ s+ d9 P          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">. y- p6 M3 v% `# S6 r
      </p>: L# B, z. H+ {+ s, k" M
      <p>
9 a9 s3 H8 t# F: @          <label for="notice-content">Notice Content</label><br># h* i+ V- ?* u1 M
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
  K; O7 n: }3 |& U7 C7 l8 [      </p>
& l9 b$ I0 U# X. c+ x, g/ [. U      <?php
6 j& h3 w* S/ Y* ^6 J' Y   }0 H+ v, X) u! n, h( n4 H& ^
1 C% [& E5 \9 o1 D" s7 U
   add_action('save_post', 'save_site_wide_notice_meta_box');
% K! C2 H. k2 t, a4 b4 C. K   function save_site_wide_notice_meta_box($post_id) {# n  A0 m" G9 `7 G4 ?9 {2 j
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__))), ~" V* l2 S/ ^$ i6 a0 B8 [: K& E
         return;. U" A/ P' o2 ^$ x1 a* _, a4 v
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)2 [& h; K" c/ \' _9 n1 \+ l3 N8 \
         return;
% U7 O& w+ }/ j# F2 n# D% I8 g0 g4 s* f2 O+ i
      if (isset($_POST['notice_title'])) {
) H0 B: ^6 Y+ X, N$ H          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
! C  j( J5 I: t+ O7 l. j0 j      }
# ~7 P' g- K& j8 \" ~" t2 |5 l, H      if (isset($_POST['notice_content'])) {, R, {4 G: y' L: G
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));# p: C& I; \* Z$ e4 w
      }7 R9 a9 x  l! C
   }6 y! V3 c% ]* E* i3 t
   ```
, b$ B% K; \- u1 s4 v* i3 Q% H) X6 c# g
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
. F+ S$ ~) @$ T& ]' v/ a4 K" d0 }; V, d' a
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
1 w5 N7 J' \$ N* V2 T- r6 ~6 n. Y' f6 i1 n
   ```
5 v( M" z" g" s9 t# y4 K' r   $args = array(+ Z; p* l5 [  D0 j* o
      'post_type' => 'site-wide-notices',( M# D& s1 Y" M
      'posts_per_page' => 3,( `/ i. \9 i- \: n/ L7 x) U; ?) v
      'order' => 'DESC',
0 m2 v' a. `6 R0 U% Q      'orderby' => 'date'. Q+ o( \2 j0 e$ l5 M) Z8 z% e
   );' j* r& V, Y+ D% f
   $query = new WP_Query($args);
0 i" j& o1 a6 c; t7 E5 F   if ($query->have_posts()) :% _5 s# q( c4 K# [5 V2 G
      while ($query->have_posts()) : $query->the_post(); ?>6 C, T! z- o3 E' M: R" j
          <div class="notice">/ ?9 |1 [0 D2 H7 w+ u+ r- x# _
              <h3><?php the_title(); ?></h3>& w" j& C0 _8 Y
              <div class="notice-content"><?php the_content(); ?></div>, m4 ?* G. T! M9 j! H
          </div>
. M; C" s2 e# V4 v  U& \: _& r      <?php endwhile;8 m- D: h7 h8 B3 X7 w5 ^
      wp_reset_postdata();
3 K) Q  r: Y% Z9 S3 E! w   endif;
) g+ @; f6 o2 `8 d+ I   ```9 [6 B! K$ v6 X9 e
% w+ v, w/ Z! N4 g+ U  O1 |4 q4 A
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|通达创业无忧 ( 粤ICP备2023021749号|粤公网安备 44030402006137号 )

GMT+8, 2025-12-7 07:56 , Processed in 0.076319 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表