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

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

[复制链接]

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:8 Z( N& w  h6 T% k) _% Z' p% h
# B/ `, N0 E) V9 D2 k' I; `" l; ~
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
9 r1 O" T7 \& D  y
" D" K/ h  W4 @7 R; z. D" U2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。  B9 A( D' }$ w5 j% l; c4 k' ~: a  T
) t' n* T' r! {5 T
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
' J- d- N9 D9 K2 H* ]
+ E& U4 u8 T% W& R1 c7 x4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。; f; y; c$ `: t% z, K

8 `7 i4 w. b# ~! J6 j" u注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
( ?& X. v7 s$ v" O9 g- J
% Q# ?2 S+ Q5 Y; S6 G如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:( j  x2 @% R) Z9 W, k% z' j

( c& _& z( E& B3 g6 N& u  [; L' @1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
- G+ b+ V( F) d( r( g1 }2 h9 s3 _3 H3 I4 x) O8 Z3 E: ^
   ```# x# V% r: ^0 f8 _# j. v
   add_menu_page(
4 k7 [; r; ]" |, n       '全站公告',
+ \3 _1 j* \& Q, K% Y3 H       '全站公告',
6 E3 E8 P( e% U+ v; S9 s       'manage_options', //需要的用户权限  i3 x0 V4 }2 V% q4 I( q
       'site-wide-notice', //后台页面的 slug
! a7 f6 g7 R) t  b7 u+ ]: k" E       'render_site_wide_notice_page', //用于渲染后台页面内容的函数" p' \5 E) t( ]% N. J
       'dashicons-megaphone', //用于显示在菜单中的图标9 h. p; _% |* i
       30 //菜单项的位置
5 a. @  ]' o! l- z   );% I! ~$ o9 r) F" |/ L  G7 e& U+ h
   ```5 _9 |% x4 ?% Z9 j- ~6 p* Z
0 N# B5 u. A; }$ E% }
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。9 [* y) ?7 Z7 @
) c- [! H+ A/ A/ Q$ Q# J& W
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:+ O) ]/ H. l+ x; T

# Q) p5 F, @- r   ```, q  }" \! M/ D9 C1 T; q$ Y! h
   function render_site_wide_notice_page() {7 z" t; {: \( U4 n( K. P7 y
      // 渲染后台页面内容
/ E; m5 ^& r3 M. i  r( s5 z' A" Y      echo '<div class="wrap">
+ V8 g; y$ x! `, t) A' B# @          <h2>全站公告</h2>
$ i. ?1 r$ c/ p& w# n' G0 U! _* S          <form method="post" action="">
- I* W5 W* J  G9 D, X              <label for="title">公告标题:</label># X" y3 A, k" X2 o! r
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>% v4 M, K, ?% Q# g' y% l8 S! K) S
              <label for="content">公告内容:</label>1 Y9 y9 E( \# j6 B2 M/ s
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>5 l1 @7 K( c4 ?; n
              <input type="submit" name="submit" value="保存设置">( x. O, G- M) C0 e
          </form>
9 y( C1 g8 _. S' q; i/ U9 v      </div>';
5 K' x1 G1 [! m. m9 l  J$ {5 C& U' {- X' n
      // 处理表单数据/ F& v* L& ~  K/ A4 [
      if (isset($_POST['submit'])) {
- @2 T1 J) `; N% j7 C) {0 l& k) q          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
9 @' u; E" r! f) C9 t2 i9 i          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));% E0 n- t$ }3 U; ?
      }
% ~, {/ x+ `! F1 c: `' L2 s7 F   }
* ~- F0 R; W" W2 R   ```
) U- I8 J- X2 ^4 W; \6 L% C+ \2 [/ |; v" Q4 r) z
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
2 ~7 a  |# U# x. n! S! r: `% Z4 M  U% z
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:8 K# W1 k% \1 Q9 C  P, s( J
# }) w; q1 S5 D5 J
   ```/ z5 d! Z8 g( B! d) u# b# Z
   <?php
0 p  H- H8 u  s* g7 S# q' Z   $site_wide_notice_title = get_option('site_wide_notice_title');* V8 M3 j8 x/ v- E% o! C# n" m9 U4 v
   $site_wide_notice_content = get_option('site_wide_notice_content');
7 h1 w, a$ o' Y) \   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {6 C5 I4 ?' I( u5 K* G: x/ p; S
       echo '<div class="site-wide-notice">';# z1 V- u" g8 }) [! |# \1 l
       if (!empty($site_wide_notice_title)) {* u1 R: o* P( X6 O
           echo '<h3>'.$site_wide_notice_title.'</h3>';
* T+ ~' G4 p, v/ ~0 }       }
9 }& T8 H; O% O+ |2 y       if (!empty($site_wide_notice_content)) {
* R( u7 v/ n. D) G           echo '<p>'.$site_wide_notice_content.'</p>';. S+ O- I8 X# u* ^) U# R5 y
       }
4 m7 c9 c9 B- [, l; y0 B( q0 D       echo '</div>';: l9 j* U& C0 F2 P  A
   }
5 _8 K6 y& a) g   ?>. b% ]5 E3 g2 |
   ```: {* x2 X- C( t1 Q
- z; H5 p1 Q6 D, |7 J' H% v
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
6 C8 {+ f- y/ N' E& j! Q" V0 T8 x! F, B: Y& y; B- B
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?2 q- x- E+ Z; f3 o% Y$ W  g# ^
; S: i) n6 [. |  v* N3 }
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
3 i" i" h& ]( @. M
" @/ q- u+ r- O* V1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:6 @$ G" f9 \9 ^' u

; S$ s5 K1 w- A+ \% Z- O```
3 {- `" A/ O7 V7 H+ _4 j1 Pfunction create_custom_post_type() {4 M' y; T& z8 w: `4 d
    $args = array(5 y  J; D/ h) d
        'labels' => array(
! x) z$ [0 p" [  ~" t$ b            'name' => '公告',& n/ z! p( I% t2 R. U
            'singular_name' => '公告'0 y. E; c3 N$ I% r: B% F4 A  V  ]
        ),
9 l. v$ E; n6 g: M4 s$ N        'public' => true,
& z, C- Q  G3 T( T        'has_archive' => true,) ]% `. A2 Q& v) _% I) v
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
7 m5 B9 Z9 [+ I& u0 R+ M8 P& j0 G        'taxonomies' => array('category', 'post_tag'),% H$ m8 b+ L5 }2 I8 {
        'menu_icon' => 'dashicons-megaphone',
, _6 H0 c9 Q# c! i        'menu_position' => 5,
, ?+ O9 z& `  [        'rewrite' => array('slug' => 'site-wide-notices')# R( A% \6 c2 [5 Q/ \7 W2 J
    );
( w" q5 h4 A4 L    register_post_type('site-wide-notices', $args);1 T1 s7 P; m9 M/ K
}
- E( @1 D7 g' [2 H$ p4 G% Jadd_action('init', 'create_custom_post_type');
% u/ F' |/ M: F* r6 V```: S2 {- S3 }9 O* O4 Q, \4 m' l/ W
! U6 e; S0 n! l! y+ T$ K5 o
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。/ w4 z6 E' b2 r1 T* O* r- S0 v
9 I/ M$ G/ o4 u& s
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
/ P& W- [2 E/ h% q
- R1 C- D4 W+ X$ D7 f7 A3 n3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
3 L- M6 N- d; k) H/ Y& C7 }& b5 {4 w  h9 L4 S& R
```+ L/ k9 y- V/ C* ?$ b
$args = array(
0 U  ]$ w( ~; t$ Y    'posts_per_page' => 3, // 显示的公告数量' o+ p( l/ i8 {  @6 m' o
    'post_type' => 'site-wide-notices', // 公告文章类型) q& [2 U1 D0 J/ ~
    'post_status' => 'publish', // 公告状态6 ~& c  t* }+ c' R
    'order' => 'DESC' // 排序方式
: [. l6 [: t8 {; y& e, {( \);3 \, R: m. `" o7 T
( a; g% I0 w' V3 T' t# e- }
$notices = new WP_Query($args);7 S& y/ w0 f# N% x8 v
if ($notices->have_posts()) :
" N3 U- X3 L4 s    while ($notices->have_posts()) : $notices->the_post(); ?>: v7 f' R8 g$ T# ^2 ?8 @! X
        <div class="notice">& u& ^4 q$ D& I+ R# V+ u: k
            <h3><?php the_title(); ?></h3>6 X* }" ~: E$ Y! w! y/ x! q& J, y
            <div class="notice-content"><?php the_content(); ?></div>
0 V7 a3 |5 P+ m& S. E& R        </div>2 z& L$ f, V  }
    <?php endwhile;
1 r; q* T) L0 ^/ g5 c4 xelse :  a, E3 C4 X) A$ q: ^( O* ?
    echo "暂无公告";% i6 B$ o% _9 u+ ?& j; o
endif;9 t  U: @5 k: F+ B6 t
wp_reset_query();
5 {# a" R5 z2 V% _0 F```
, }- M5 e; H3 t( n* i1 e( r, w4 t; ]% c0 n/ R, W
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。% w& i0 R  n& }; \; N% h5 G: m9 i: C4 n
: \! S6 ?6 f; ]
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
; Q  E9 S4 I6 V6 _2 W: f
$ ~* \' w4 }  _) X如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
. R6 A3 x: n" p2 a! g( E% w4 P6 I0 _
以下是创建自定义插件的步骤:7 q$ X9 C) O" U1 g1 q
: u& n6 w0 ]% ]
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
/ D& H9 i, E8 d5 u% n
4 q, [4 z3 c$ y   ```
/ V) o9 f2 K1 t, u/ E' M: o  t   <?php( H5 v. N8 b; j% G) h
   /*
! q+ I1 \/ t* Y5 S0 A   Plugin Name: Site Wide Notices Plugin$ h/ z- f/ W1 B' H9 |4 F
   Description: Adds a new custom post type for site-wide notices.; @$ j  [( f/ q- f/ g$ Z5 ?4 m" |
   Version: 1.0
! r8 G. }  n& ^$ G! Q! M" ]   Author: Your Name
2 R+ |8 M# ?5 j* O* m$ M   Author URI: http://example.com
; a& [: O* m; v. y  h/ @  h, @   */* O4 N" V& R2 E) ]6 c

5 d' r" G8 ^, e% m0 m( R( z! u   // Add plugin code here...1 }3 U% ]; Z' j. Q
   ```
1 X# o. S4 R) K) [( a6 |. D+ d
9 E- ^: v" C* q7 t; ?   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
" r1 a6 [- P- Y/ o, @9 K: H( o# q% Y. t
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:2 W4 z: \- u5 I& Z/ i' x
1 W4 f/ ~' ~/ g$ i; w
   ```
/ |9 ?/ q8 S( m   add_action('init', 'create_custom_post_type');; Q# I! ^# G8 n+ ?1 z- W0 P. S& V
   function create_custom_post_type() {
* B1 x0 z* t# g- {/ s: o# x7 r      $labels = array(1 ^2 e1 c4 B3 L8 x- n
          'name' => 'Site Wide Notices',
7 v8 x6 z7 J' @5 b" Y1 E: W          'singular_name' => 'Site Wide Notice',
3 b9 O1 R/ [) ]" t5 D4 S5 h, m2 y% H          'add_new' => 'Add New',2 }! e- Z  Z# e
          'add_new_item' => 'Add New Site Wide Notice',) k3 Z2 u4 J0 A% X2 w7 h
          'edit_item' => 'Edit Site Wide Notice',
# f( _% S) T" Q  j  N          'new_item' => 'New Site Wide Notice',
0 g( J( @) z) q: J! }$ e2 Z          'view_item' => 'View Site Wide Notice',
2 M- o! [, f8 u+ ~          'search_items' => 'Search Site Wide Notices',3 B/ b* ~% r' W  J. u' j- X
          'not_found' => 'No site-wide notices found',9 ~: K  d( y/ q  M7 \/ }7 Y
          'not_found_in_trash' => 'No site-wide notices found in trash'
3 J/ X# q. ~2 Y      );* `( C, G  C* F, F

# a* K% R# e+ I' u      $args = array(
# N! J, B: M& g0 ^          'labels' => $labels,
( {* Z  P- }& Q2 k+ |% B2 d          'public' => true,$ R( V7 q  @- y/ S, J: x; T! \
          'has_archive' => true,
& B6 }. k8 O6 x2 s. g# R& I( T0 ]          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),9 p% K. r0 e+ q7 s* z
          'taxonomies' => array('category', 'post_tag'),% Q6 o+ L( J( W" W
          'menu_icon' => 'dashicons-megaphone',
# p4 R( N; U; p$ p0 j( O3 _          'menu_position' => 5,
0 E3 r9 r* o. M* |; `/ d          'rewrite' => array('slug' => 'site-wide-notices')1 Y; M  V+ [$ |/ p
      );
8 O2 @' G. U( ?' C) |0 n1 W
: S- p$ G& C) `0 C6 l      register_post_type('site-wide-notices', $args);
4 `4 o6 p' j' K) K   }2 H* {; c; Z9 {4 u- F5 e: q
   ```/ a, s0 }- Z; Y" I) j# f

9 {( K/ B2 b) ^; t0 t6 d   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。- }3 j5 N( N- [/ c) c
6 [) S0 l  w! q3 j: W- q3 S( @4 P
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
+ ~4 y$ d5 s4 c" Z0 O+ c& g1 U6 m" F6 V. q! e, r: t
   ```
- p* W1 {5 f) W2 |& Z; d' u" o   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
# O9 \9 z; ]1 J1 @" n   function add_site_wide_notices_boxes() {  f6 }  b- ~. Y9 j' S+ z
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');6 r7 m; i6 Z4 v' X/ E; l
   }5 J3 S5 I: y5 q* X* @, _- {: a& \
/ N0 U8 n/ D6 Q, T
   function notice_details_meta_box($post) {
  ]8 q; D4 t- o2 F, j. M      wp_nonce_field(basename(__FILE__), 'notices_nonce');
1 T7 I: e  v7 J- M) \9 i      $notice_title = get_post_meta($post->ID, 'notice_title', true);5 `8 D$ K# i8 f1 I; f2 ~
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
$ J; m2 R& T3 {! W      ?>
0 D( [+ o, O8 D( h+ P/ x9 F      <p>
0 Q: v; G$ S+ ?' O          <label for="notice-title">Notice Title</label><br>
6 ]& \% ?0 r. B) e# x: |* u          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
7 e* S. }3 @  f      </p>
0 n9 [3 |" M) R( W% W7 S2 v7 S      <p>- y. X3 w5 [: P
          <label for="notice-content">Notice Content</label><br>
3 U' P$ s, g5 b: }5 b. ]# \          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>  K0 n9 V* \+ ?0 T# c
      </p>' H5 H% Y7 p+ ~  O% J/ d( |' N  w
      <?php
2 F* D+ `3 D- G# p# `- z   }
& L! ^! P1 V  y- x3 F, }6 y
" ]+ Q: G% t5 }3 P6 `6 g* W   add_action('save_post', 'save_site_wide_notice_meta_box');
8 d- _+ u& p( d" S0 w: i0 o   function save_site_wide_notice_meta_box($post_id) {
$ j2 R, V- D: H9 s4 `: x      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
& A5 _9 R1 L' M% p0 P+ S+ X         return;! p. w. a. M% _! g1 P
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)$ X6 c7 l$ R6 ^  w
         return;3 Q9 O6 K. S# s. l0 K  c, S
" N. C& `7 F. ~& a) P$ N4 \* w8 j" W% C
      if (isset($_POST['notice_title'])) {! p; l' H0 R% {7 A: F
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));& T( y* h5 U* W
      }0 W% _% ]" M9 g- {- x; s) g
      if (isset($_POST['notice_content'])) {
4 F. x, u5 z( {# ]7 @9 o1 a          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
4 Y% o0 B) ~" R; N# c& V0 X; b' i4 d      }+ K6 F5 @1 g0 l# [, _: {' k
   }
2 g3 x+ \. h9 h# v$ |5 F3 x   ```& h) {$ d  h$ [# h

, o" u2 U# q' m. N4 s5 o   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。+ k* U  y" J# [
7 g+ \5 F1 d) m: j9 |( q
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:7 A  x3 h& ]; x0 M
/ C! k: h+ I) Q8 N9 L  G' v5 d" Q
   ```. D) [! O5 ~: u, w, @- T
   $args = array(
3 j$ s4 U5 g9 G7 D      'post_type' => 'site-wide-notices',8 I) Q5 }; S( R5 ]$ f
      'posts_per_page' => 3,
- g% f4 a; o- @1 u. i1 T      'order' => 'DESC',7 a4 y" U  \8 V. l6 B4 L3 Q) d
      'orderby' => 'date'
7 _8 x8 M. P% B8 F   );
/ G- k' `# E( {7 o3 ]/ q   $query = new WP_Query($args);
+ T/ P) C2 h; I0 z1 J% w7 b' ^" V: L   if ($query->have_posts()) :
0 T  `! [, I0 U6 _! p9 G6 g      while ($query->have_posts()) : $query->the_post(); ?>
0 i/ L: u: @  S0 N% H3 d. U8 t* {4 Z% A          <div class="notice">) d. A, ^  j9 H+ [0 ~
              <h3><?php the_title(); ?></h3>. J& L6 ^7 K/ _: i$ L# k) g( y) |
              <div class="notice-content"><?php the_content(); ?></div>7 y- t7 d( f" v9 o: I" V# W( Y, E
          </div>0 X/ S  P% `. _4 D" |! x+ _
      <?php endwhile;- a. \+ N, E+ I) S# o% X5 \* u
      wp_reset_postdata();0 Y. ^- d/ x2 b, S4 g( `5 f, z
   endif;( A0 _' x1 b% l# v1 w6 Y% |) v( A
   ```) u2 q4 u3 j- t& z4 d" o
( |- L: q/ h5 t" Y5 N& ?) M
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-15 08:05 , Processed in 0.014324 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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