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

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

[复制链接]

340

主题

530

回帖

3538

积分

管理员

积分
3538
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
5 e: f% Q( ?$ {3 U4 b0 b* P( q' Z1 c! o+ H4 ^& A( [+ C
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。  h2 o, o& h; o1 x, {6 k" i
# F& \: Q+ p: A
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
8 o1 U/ ]7 _6 e, c" g5 |2 i: A' B- l+ u1 J1 v
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
) j" H1 S6 u2 A, V. }! [1 }0 p8 g
, S- ~  b: P; f2 C4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。4 D- K  E2 Z/ R/ M& J5 \: Z

& C. j% R2 t0 U! B" N9 u" [注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

340

主题

530

回帖

3538

积分

管理员

积分
3538
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?# F4 a, m5 K8 e

, f. Z4 C! y( q; o  l如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
; F# Z; B6 h! G7 v& {3 o& R
( V! i% Q# p% \& U1 O1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
1 S6 h3 o& A" a2 `* p3 g# Y  y- d, r# _4 l/ R" B7 |
   ```+ A9 G! v% ^, ~+ v4 |
   add_menu_page(
& r3 {$ q' l7 y* ~       '全站公告',
" d# L( b. ^9 x5 c       '全站公告',
9 J9 K/ m' I* `       'manage_options', //需要的用户权限
- o. C. f: T1 j" H: Q0 Y9 f1 r       'site-wide-notice', //后台页面的 slug
. m: ]% }  N) c; ]4 c" ^5 f       'render_site_wide_notice_page', //用于渲染后台页面内容的函数; K9 C, T1 H) m" l
       'dashicons-megaphone', //用于显示在菜单中的图标
4 \* N: @* C- A7 ~0 Z% e       30 //菜单项的位置
* z" N, X8 V8 n' n5 l  A; s+ f   );2 X6 ]8 q$ {5 V/ N" K
   ```
9 w3 f1 w) Q9 Q4 t0 q: X# m* S1 I2 v8 Z# y; v
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
: _+ A7 j- P( A/ @6 l  B/ r& R  f& y' F6 y% m
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
  R. T8 u: y  u  X3 \2 m! E
3 M/ |  T3 }) R8 w   ```+ U1 @5 \% L7 N; y0 i4 f
   function render_site_wide_notice_page() {
+ a+ F9 H6 u0 ~! K  I4 G      // 渲染后台页面内容# P$ Y* ~2 e  o7 h- P0 s
      echo '<div class="wrap">
7 Y& ]  @2 Y4 s' I* p1 ]          <h2>全站公告</h2>
* B1 W2 b! g7 \          <form method="post" action="">9 M; w# x: D) h$ L2 |5 O
              <label for="title">公告标题:</label>* h6 B) s, ]5 y* y3 s9 U; A
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
- K7 g& e; A1 _7 E3 N              <label for="content">公告内容:</label>6 F& ^! D' X8 V) u* p% [' |
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>+ H- D  l9 j; k7 d5 n
              <input type="submit" name="submit" value="保存设置">
; A- l4 U/ b/ Q8 e" E* H          </form>
) X/ o. D0 E4 q' H7 x& W      </div>';
& }; [/ Y6 D( ], W: ?5 x% h# \0 k& f+ ?& b7 b  P5 h
      // 处理表单数据1 X+ y+ d$ @7 o2 A
      if (isset($_POST['submit'])) {7 Z" N% n9 I0 v5 b0 p; m5 P) F0 i& c
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
- n, b  S9 `3 F! s          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
. n* e# ]/ x' R* c/ w      }
& I1 I+ H5 _) e& z  ?- H  ]# E+ G   }
2 k7 }6 I1 r" m; i   ```
: I- O  W& m/ q# i8 s- E7 v( H
) q$ I4 z: n% j' m   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。& |. E  b  v. y  P

3 }* E6 E- W4 N8 O3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:2 E8 r1 c7 S+ T$ ?+ t/ J  \7 A7 ]
  ~3 k; [" q- O7 V7 B4 A
   ```+ Q4 F! ]2 t: f# ?2 n, |
   <?php7 }. O0 `9 g' {/ S& w$ K1 w
   $site_wide_notice_title = get_option('site_wide_notice_title');- I+ X0 e  [) C' o$ o
   $site_wide_notice_content = get_option('site_wide_notice_content');
* }5 X6 X: M9 h9 O6 G   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
' A( [- c# O; o+ ]       echo '<div class="site-wide-notice">';! b  C) B& N# v- B5 z) o: b
       if (!empty($site_wide_notice_title)) {
7 l% s1 g6 n5 {, b. \" f           echo '<h3>'.$site_wide_notice_title.'</h3>';
1 A9 w. P# d( c8 c* c       }! K& H) I; x) M8 ~- O+ D: R2 h6 X9 c- V
       if (!empty($site_wide_notice_content)) {. g+ I  J5 C* R0 l: b
           echo '<p>'.$site_wide_notice_content.'</p>';
$ D9 x+ I+ ]+ [( A       }- }# X  C- q0 D  f1 }0 {
       echo '</div>';
& v+ ?. X2 }" [4 N   }
/ n( l; _0 }8 M7 S+ P( n5 Z   ?>3 s( p" P8 j5 h& P5 r( `5 d
   ```
: n8 q! J' w# f3 D  K. Y
/ J' Y+ E8 S6 t6 W" b: X  f   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。9 O$ w+ S0 C  I0 ?# R7 ]  n; D* O
( |3 c3 t" f1 H7 n3 a
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

340

主题

530

回帖

3538

积分

管理员

积分
3538
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
4 Y! E% m7 v8 J% S5 E6 r/ R- S/ `$ e- Q( ^4 x' R2 |
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:$ i1 P! d4 ~6 ?  o# ^; M; N

! ?1 o. M- E; l4 |3 k5 N6 w+ c1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:) G; }; O7 ?' p3 n' ?! G
2 b& o: l5 V4 U3 G$ T
```
; k- F6 Z* x$ o, ?% Rfunction create_custom_post_type() {
( r0 z5 k& a) a; }% a- y    $args = array(: k" t6 Y1 V1 R- {: R8 q
        'labels' => array(& Z8 z3 [, |1 }6 j* E
            'name' => '公告',
5 m' H6 p3 f, k: A7 p& d            'singular_name' => '公告'/ ?* V/ {# n; L: {4 F" \( h
        ),
. U7 b9 |+ |' v        'public' => true,( n6 B! ^6 D" p  Y) ~: w; }
        'has_archive' => true,' U; s( T5 _9 t, }: l
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),  }& h2 F8 E/ \# Q) X0 W; L
        'taxonomies' => array('category', 'post_tag'),: D- L* N& Q; w4 B
        'menu_icon' => 'dashicons-megaphone',9 x0 P6 S5 d' c- Y& ?/ u
        'menu_position' => 5,) c, L$ h+ G0 S' e4 G
        'rewrite' => array('slug' => 'site-wide-notices')3 J& q% Q9 T& b/ r$ N
    );
: P9 h/ E- ~: F) o! y, W    register_post_type('site-wide-notices', $args);, d3 ?3 j, z, @/ D- V/ G3 s
}
0 X6 p4 {# n( T7 madd_action('init', 'create_custom_post_type');* }/ u6 B) I: j
```
9 d* t" C( u( q& I5 {
: S# a% _1 t" T5 N& L% w$ |在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
( v0 d/ S1 I* V) m+ }1 i$ |# `* M* C# ^
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
) q9 X) N/ H) w' I+ K6 ]  U6 {$ S- F' C  W# o. e8 B
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
( M. U/ G" [) Z7 J
2 J- l( a% o! N! i+ e3 \) _```2 M. j, R, h5 H! E0 r
$args = array(
. g* f! [. P5 j$ ?    'posts_per_page' => 3, // 显示的公告数量! o/ S+ O9 R+ [
    'post_type' => 'site-wide-notices', // 公告文章类型# a& F$ n! K8 {' W7 ?5 j. @
    'post_status' => 'publish', // 公告状态
$ D4 n2 m& g; Y+ U  F1 r    'order' => 'DESC' // 排序方式6 P$ i# v2 b$ r  V
);2 F0 I: R( e5 y# z
! N' {6 Q+ p: ?( G/ _
$notices = new WP_Query($args);
( q9 y, o9 \* Z; f( P6 Uif ($notices->have_posts()) :
+ E) ~5 q* f7 V. I- Z, e" ]' d    while ($notices->have_posts()) : $notices->the_post(); ?>% Q( k8 w% B8 S2 D& K" L# }$ E
        <div class="notice">' ^- T& G+ F# k2 E: U4 l
            <h3><?php the_title(); ?></h3>
# V, D# @) a" h+ U            <div class="notice-content"><?php the_content(); ?></div>
) D1 c1 }( [7 N1 |        </div>
$ c' r+ _+ Q: n    <?php endwhile;
6 j2 d1 p+ c1 o+ M4 H. zelse :! f% o! I2 Z, @/ v
    echo "暂无公告";- J0 k1 }) ^+ `. f, u  Y
endif;9 _  R" i6 V/ }' q3 ~% t
wp_reset_query();
! L  N6 y+ N5 d2 l```# `1 |1 D8 j- @+ O, o2 R; ~8 x) Q
5 V. ~- F& n; f( g+ x$ X! F
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
9 S$ A2 J8 l+ G" c8 h
" i  t; k# G4 S+ U2 ]# I以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

340

主题

530

回帖

3538

积分

管理员

积分
3538
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?6 x2 H! ~5 D* L) k2 w) O

( G" G$ ^7 K- o2 G4 U5 A, Y如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。, B. E' o+ t# r& c
: W: t- T9 T0 @0 l
以下是创建自定义插件的步骤:5 Z" r" a" }/ S7 w8 e
) P- Y, }) V0 p2 X
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
4 y. g8 u( [0 ~4 B. S  @0 A1 W. `( s( f
   ```
% Y1 g, P) B1 A4 q4 Q5 J( Y* K. u4 C   <?php. _; p8 Q0 O6 W( V
   /*
: j) F( R1 H& }( w0 _- e8 \0 ~   Plugin Name: Site Wide Notices Plugin
1 B5 u2 Q  _6 K* N6 Y5 L   Description: Adds a new custom post type for site-wide notices.7 j5 {1 _# w$ S+ g. c; b; n- e& b' a
   Version: 1.0
7 B1 o$ _9 }0 w8 r* A  _   Author: Your Name
0 J, G% B6 q: X  f& H8 l/ {   Author URI: http://example.com
" P3 j( R+ x7 F& J, P   */
" z! W+ h& o+ E7 U7 e
  z6 L+ w- P9 J+ R) `" z3 _! o$ w   // Add plugin code here...7 F- q- Z+ M6 N% U( g' v
   ```5 o0 i8 s& E6 f

0 w5 v; s' f% u   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。( y" X% `. m; q/ d

, y& \( q$ {% u4 N3 H, |: O/ @2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
' z) ]2 @$ u% P8 k7 c
6 s  C2 C2 ]# ^! h0 a8 u   ```
' d. A, |8 N9 O; Z: H   add_action('init', 'create_custom_post_type');
* u9 W& ^" @7 B* c% j# d8 F) F   function create_custom_post_type() {
' H: j" x: ^/ Q: y+ @4 h9 C      $labels = array($ Q9 V6 U& W3 C' Y1 r( a" X
          'name' => 'Site Wide Notices',
0 o! k7 N" T2 \          'singular_name' => 'Site Wide Notice',
9 G1 i- a" r' t  G          'add_new' => 'Add New',0 k0 n" b2 T* j
          'add_new_item' => 'Add New Site Wide Notice',* g# l+ u* Q8 X, J' y8 [9 }
          'edit_item' => 'Edit Site Wide Notice',
9 A, R8 n3 B" V7 H7 M% v9 t, F          'new_item' => 'New Site Wide Notice',
4 q, ^2 ]( o  E8 {          'view_item' => 'View Site Wide Notice',. a8 @5 s  Q, q1 g5 g
          'search_items' => 'Search Site Wide Notices',
: K5 u8 X8 H$ l- S( e! b. D- U& Z7 m( i% l          'not_found' => 'No site-wide notices found',
: L0 P" i& B3 V" r          'not_found_in_trash' => 'No site-wide notices found in trash'
" P- U3 f1 k7 F7 K# t7 o2 i" ?7 r7 W/ i      );
$ Z; B* C7 @  P* z/ q
. H1 f$ O9 P. W* A( c# I- q      $args = array(
1 v3 E- c& U/ }9 r$ O9 l# l% z          'labels' => $labels,$ K1 O! x, {$ ^, P
          'public' => true,8 p, U' R9 M  ^9 M" l- {+ }
          'has_archive' => true,; F, Z2 M& n2 E* T. |' S* q4 x
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
) E. |) e. D: o$ X          'taxonomies' => array('category', 'post_tag'),  X6 M) e& b% ~7 |
          'menu_icon' => 'dashicons-megaphone',  x# b) W0 [: ^, N5 |
          'menu_position' => 5,2 `" d+ i# a: d  s  X: X" V
          'rewrite' => array('slug' => 'site-wide-notices')2 Y( \+ ^, ^6 c$ A' G( }% V. l
      );
) ~3 I: V4 G! l& y. a! `. U' d2 O6 S
      register_post_type('site-wide-notices', $args);& |6 C& w, }8 H9 S! Y
   }
( E& D# `/ L( J* Q% i: M. ~   ```
3 k# G8 e- G, W: R6 L& E
9 _5 U& ]( k' q1 L   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
- H1 ~4 `9 {+ F1 b9 K& |
1 @/ k9 @4 O6 m$ z' s3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
0 G7 K7 h/ Y' I3 ?0 @& C
5 [! f  O: V4 e6 T; p; e" G# I   ```& `: u0 D* d2 L$ H& |
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');3 v& O! J6 z& ~- E8 p- A) p
   function add_site_wide_notices_boxes() {
% {- x, r) u! {. k  x      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');4 M6 w2 [8 `4 W8 m  ?$ a
   }: F: n8 W/ Z/ D3 h5 [5 V: G

+ Q% b1 w: L- A8 [  \* M: i# `8 J   function notice_details_meta_box($post) {- K( Q2 ~5 `$ n* `+ }
      wp_nonce_field(basename(__FILE__), 'notices_nonce');
) `6 n: J9 ~* H3 n: E( g# I      $notice_title = get_post_meta($post->ID, 'notice_title', true);  Z9 F* B: L6 v; c
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
/ {' G' h, O$ w; h      ?>7 l' S5 N% P% _5 H5 d
      <p>3 L: m/ v! o$ q) ~5 H; L. z
          <label for="notice-title">Notice Title</label><br>
8 N( J9 k; n( t          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
0 J  J( F. d- @: F+ C      </p>
( ?: Z4 P) e1 S' {, A8 @9 m# G3 n+ d' j      <p>
6 S. X* ~# f$ b3 v6 x          <label for="notice-content">Notice Content</label><br>3 g" v# V+ Y; T" l$ }% \
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
0 f1 F, ^9 I: v7 p6 E2 l* r      </p>7 Y; I, B# u7 v( q) Z, ^: Z
      <?php. t, ]6 W- s+ S& F" Y/ y6 M6 L
   }
; t  Q& \& l3 I
! t: A+ T2 i5 R* t  N5 @   add_action('save_post', 'save_site_wide_notice_meta_box');1 [& \  l& I6 U; k/ |6 W3 j
   function save_site_wide_notice_meta_box($post_id) {* Q, z1 W* w+ ~/ t
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
0 u) `1 P# E$ z5 G/ @0 H6 h         return;
3 q8 a( r4 g( P. r2 R3 s      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
* ]& o& h+ U0 o/ O+ }         return;
7 P5 h# H4 P0 A
$ u' b0 Q: n, A4 d, a7 ]      if (isset($_POST['notice_title'])) {
2 q) k3 o  o; k9 z7 A# H          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));- F9 b- s3 H- V& k% o4 J
      }
: W% A" E2 `6 u* `      if (isset($_POST['notice_content'])) {
- N/ C5 B; ], _          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
( Y) k4 ]- O( n      }
" s5 A: Q5 y4 K% v4 x   }4 W4 w) ~8 Z: k6 n' Z- H
   ```4 Q9 u/ \) N2 a8 v% T: ^  c

! }3 D3 Z! N* W9 y6 ^6 v   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。( l5 ^  D/ W0 ~9 k' v5 q

& g% u3 T+ J) T" g/ [7 N4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:1 ]0 l- {* F1 n! ~+ P" F

, @+ m* n/ U8 M3 B- f( y  D/ N# t   ```1 X/ Q9 U4 h6 }2 p6 v5 U) }( P
   $args = array(
" `" e  s# S# h' t) |  s3 z      'post_type' => 'site-wide-notices',
1 e$ y7 z/ D/ u3 L: T      'posts_per_page' => 3,% l1 ]5 V9 g1 L: w6 i
      'order' => 'DESC',
9 p4 {) Z2 u" B6 g, w1 ?      'orderby' => 'date'+ T) i5 i( Q% s& y1 G8 O& I4 d
   );
- C) l! q2 J2 J% m   $query = new WP_Query($args);
; s1 Q4 d# \* L; z# a   if ($query->have_posts()) :9 a! z  S* i- h8 h  d, j" r
      while ($query->have_posts()) : $query->the_post(); ?>4 y2 O6 x( {4 ]0 z8 z! m( I3 M
          <div class="notice">
# ?  ], l( s) s2 Y& J; O              <h3><?php the_title(); ?></h3>
3 e: \! _$ @4 H! o' T" C              <div class="notice-content"><?php the_content(); ?></div>
- {# A5 a, f* H- }" s+ C. x          </div>3 C3 @3 `/ `& w& Q
      <?php endwhile;
" M" y; R: a5 E" l      wp_reset_postdata();( ?+ e1 f% n" W4 \0 a
   endif;
& C' w: l4 y' \/ F4 O$ s   ```: N$ m. i5 R: B+ G3 }4 t; S& ]
/ ^6 w! s7 y, A: A8 X
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-22 20:35 , Processed in 0.014294 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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