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

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

[复制链接]

336

主题

520

回帖

3442

积分

管理员

积分
3442
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
8 F0 U9 Z- r% h& ~' k$ O/ p- f' s- }) u1 F
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。5 f4 j5 Z, p$ Z  ~/ Z. @  |; t
% s4 z' U2 t& y) m% d
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。. H* K  y/ h9 D" `  E

& D+ g( W; S4 z4 |$ v& x3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
3 n, ~/ @) Z9 w2 s1 T# ?0 e% B* ?6 ~, c$ {5 r0 K
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。( n1 v9 x6 X! I

% Q8 m2 u) I8 @7 X7 L& G) _注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

336

主题

520

回帖

3442

积分

管理员

积分
3442
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?4 c( I$ N5 A! h
6 q% m& B6 k; P  {
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:* w5 X" j) o  \. s

# a# B- i( U, f1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:2 o  j& h  \" P; U$ G8 R
8 m$ z( A5 e7 h$ b% }
   ```
& i7 ]4 [( p- k' O. E   add_menu_page(
% o$ l" r6 Z3 W6 u       '全站公告',7 b) @+ G) z- G  p6 U8 i4 |
       '全站公告',- _+ `' [4 Z/ M8 R) ?
       'manage_options', //需要的用户权限3 k: V: S6 t* ]3 }, Z
       'site-wide-notice', //后台页面的 slug
) ^; b# c5 N0 u6 x6 k* n+ w- e) D       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
0 D/ s9 |; g7 G- ^! O9 H7 c       'dashicons-megaphone', //用于显示在菜单中的图标
" G7 W' u& q8 ~5 A$ b! p, l       30 //菜单项的位置
- Q8 d8 _8 Q. y0 Q7 V   );0 k6 b. K" A9 q6 V) \! Z- [
   ```" W5 Z9 J" A5 F1 l9 ^: X4 W

4 I& c3 Q  c6 P! i8 J   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
! h! p. G/ U$ D. u9 U5 g
8 L8 W+ T7 A0 \! D( h$ R2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
  [; A7 z7 [2 b( e) ~
( Z% k0 c; p7 l  y& ]   ```- G4 F1 C% {& ~1 Q% f& d' b
   function render_site_wide_notice_page() {
* x" Q' n: n9 u* o" Z: d      // 渲染后台页面内容
  @, [$ K9 s5 y5 F8 D9 n      echo '<div class="wrap">: V: j& w$ T# p. C
          <h2>全站公告</h2>6 F  m( C. U+ R8 s8 |
          <form method="post" action="">2 D# t4 A+ x( i' z2 @. }2 h% q1 s
              <label for="title">公告标题:</label>4 E* E9 i$ q. e) h+ O  B4 o
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
" s$ f$ I% L7 e1 X: d# l              <label for="content">公告内容:</label>1 N1 f9 }' u$ b1 ^
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>( P5 y. x" X; G" H) F1 e, K# u0 i
              <input type="submit" name="submit" value="保存设置">6 G- o0 F  X* I: V- X: M
          </form>
" G4 A8 v( P' _; N2 I: m      </div>';
( ?# E' b- j/ p/ |8 B2 g
; P; S  a# W7 r6 P; d  l      // 处理表单数据
. h0 F% Q) `, b- |/ C# D      if (isset($_POST['submit'])) {
  f2 r( T& U- h4 Z- s          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));  P9 m$ j4 E# Y; n2 v
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
+ v) V) o, H* ~  _      }3 [- _. S# N! @: r# l
   }" E0 \; Z( G/ B' X% j+ x
   ```
/ o. O1 J+ L/ C/ y7 |$ _) P7 f& U" d; F
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
  A- }  f# m$ f" Y/ f" u' Z8 J/ f* u4 q2 [+ y
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:' o; H; v% x. T1 f, C
' ^. R* X# A% M4 ^/ A7 q6 H, @
   ```" q3 P3 l' S. [+ ^  u
   <?php3 r. w2 D$ C9 [
   $site_wide_notice_title = get_option('site_wide_notice_title');
2 f5 }( d3 A; ]! V" w% z: j   $site_wide_notice_content = get_option('site_wide_notice_content');* G: x/ P% D9 h3 f( n
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
- a' R0 n1 v" N/ z1 z2 f       echo '<div class="site-wide-notice">';, |  b: i2 T- x1 k
       if (!empty($site_wide_notice_title)) {. t& X/ p0 w+ v# D8 ?+ o) _
           echo '<h3>'.$site_wide_notice_title.'</h3>';; O/ Y  d* P* x8 v  p& N
       }
3 S0 u, y* c' q* M. u$ g7 s       if (!empty($site_wide_notice_content)) {
( [+ l* R3 y3 S. f           echo '<p>'.$site_wide_notice_content.'</p>';! ?% d4 ]- F7 p# e! N+ W/ O: [/ g
       }+ G' B- {' V- G" N7 F& S
       echo '</div>';
& [9 O* J5 E' V/ t$ G6 F# @. d   }/ {- w: y1 i3 d% u, s3 G
   ?>
+ d; f8 s1 ?( L3 S* ~7 Q0 o% W2 u- L   ```
& l) n! l1 t! p1 G5 l
; q/ R5 w. n, h( h$ s   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
) P- s! H0 i$ R" Z1 A2 W5 A' S
$ Q  Y; Q: S. i2 @: W& P" T" i请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

336

主题

520

回帖

3442

积分

管理员

积分
3442
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
9 O/ _$ @  T; Z" I4 J0 ?
4 s5 e) m2 W! v& f  R9 ]您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:1 X) z; W5 c9 q+ F3 M/ O1 S$ T
) I3 m. x3 T) z  N) \& V
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:9 l* z1 e/ b& ^% D6 z6 f
/ r* A' p  Y) {  i0 f9 c$ s4 S
```
& T9 H, k& L- r. Ffunction create_custom_post_type() {+ M% J% t$ b: N% {. s- i% h+ ]
    $args = array(# X# v# R+ k* Z; P
        'labels' => array(: B7 P. q! [# T+ c( h* h
            'name' => '公告',
" [; A# ]' D- d; A$ ~+ I            'singular_name' => '公告'
9 ?0 D& W# m! E* B: e% z        ),1 F8 F( T! Q3 }# Y* v  z; n
        'public' => true,) Y3 ^  ^4 Q3 W- f
        'has_archive' => true,7 Z' I, z, a+ f+ }. k
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
$ Q* c  t7 O# q        'taxonomies' => array('category', 'post_tag'),
7 L0 m6 V1 P7 O' P: ]5 X- ^; V8 }        'menu_icon' => 'dashicons-megaphone',
' ~' O0 f4 H) q2 ]2 F        'menu_position' => 5,6 T; ~5 d! R* W4 K+ k( u- {
        'rewrite' => array('slug' => 'site-wide-notices')# q- ^/ J5 Q3 W' K" H* q3 N
    );) s- [! D- J, |0 T  I" R
    register_post_type('site-wide-notices', $args);/ ^6 W9 `1 B# \1 w" R' n
}
: z2 O. e0 H! f( qadd_action('init', 'create_custom_post_type');% e3 l* ^* T# _* K# x
```
) \% L! m9 H& v1 A% ]
' Z9 x& q& w3 N  s; ]8 q在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。$ t- L% @$ I2 a7 o6 Q& Z
  E2 I/ M7 M. R8 q* }1 g; _
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。0 y0 l+ O. \& }. K& q

9 P. R* m1 B4 S3 d, I% ], a0 {6 S' C0 P  H3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
: S3 j2 j1 C7 k& Y! p
+ y% D3 @# M: j: k7 S! {5 z) f```' J- e- T; F& b( u2 E" p
$args = array(4 ]6 V. J; T- K
    'posts_per_page' => 3, // 显示的公告数量
' f6 O; d. q+ r    'post_type' => 'site-wide-notices', // 公告文章类型0 g; i0 J' Y  B# J7 u6 B
    'post_status' => 'publish', // 公告状态
, z) s  [4 W* M8 G& h    'order' => 'DESC' // 排序方式
2 P$ C9 ~4 |( U);
! k" |6 S+ G2 t& H% N' s5 L5 U( ?. m* }
$notices = new WP_Query($args);
- q- g: k  Q6 a: K1 L$ J+ Xif ($notices->have_posts()) :
/ t: l2 N. H5 t$ C$ z    while ($notices->have_posts()) : $notices->the_post(); ?>
# O- s' ]$ n# s: L! r        <div class="notice">
9 `7 \  G/ X0 M& q            <h3><?php the_title(); ?></h3>  ~; ]0 f, Q% T! L0 f. ?
            <div class="notice-content"><?php the_content(); ?></div>
4 A! m* w7 l8 R6 T$ U. J: z        </div>" u: a3 K! L5 l4 a
    <?php endwhile;/ C" e( ^3 M# _4 n% ]9 ]! Q# W* B9 ^. h8 `
else :
5 g7 ~! c6 i. R- F    echo "暂无公告";. b: z  e" e9 ^! C. M6 q$ i7 N( H
endif;- x( B( t6 ~* u1 {6 H4 F* O
wp_reset_query();
, P! V/ @. `! V: `! s```
. f2 k; R0 Q9 F8 ]  A) [
; H3 ]6 {* |8 N2 Y这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。) i4 ]. L4 h6 p9 O
' {9 }0 X% X0 }. k5 ~7 \
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

336

主题

520

回帖

3442

积分

管理员

积分
3442
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
' w6 H& J  S9 n5 U8 |$ v. N
/ q& v5 f( `4 p6 z如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。. b+ ]# \9 q/ r: ]
/ Q, M$ h9 R2 v8 E0 v" a' T, t
以下是创建自定义插件的步骤:
4 k' {4 G/ \5 v/ {) {" R  W0 D/ g+ W
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:7 b$ ^& f& d- W& t

* p8 f& {/ D4 [* g( B   ```
: b' Z( T# J, B5 y) n: Y" n; B4 L   <?php
( O/ Q% [) ?3 _/ Q* ~   /*
( l' u- T, U  l+ M   Plugin Name: Site Wide Notices Plugin3 D1 n& n2 U, r
   Description: Adds a new custom post type for site-wide notices.2 M6 D; W+ \/ |7 V2 N, t
   Version: 1.03 y  l  N8 r) z& s# Z8 i
   Author: Your Name- \. U. Y6 W: p2 N' i' Z. ]
   Author URI: http://example.com' S2 z6 B0 I& f: ?9 H
   */. E$ |, F" j4 y. Q! U4 a$ q- i
. V5 t' ]. F0 V2 w) q: M9 P
   // Add plugin code here...; R: s! K2 p8 U( v& ?& P$ L
   ```
" e  k# I" Z8 i6 F) c
8 @- _/ E, k4 H7 b   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
7 O/ Y4 t& l% p
! n8 I& J* d* C7 H0 K2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:/ I  |  T7 d5 b1 W0 ^

& |" d" E9 d9 i7 H' K$ h3 N$ v( d% j   ```7 y1 q* l% q! u) @- }  o
   add_action('init', 'create_custom_post_type');
& N1 p2 K$ C; }( d* ?4 o; s   function create_custom_post_type() {8 \, U: q/ ]2 Z2 z
      $labels = array(
3 [  L# j+ A% b  z; O  n          'name' => 'Site Wide Notices',
: _( o6 e- w, W8 ]5 B3 ]9 F          'singular_name' => 'Site Wide Notice',
0 d0 d6 d+ C/ u: f! P          'add_new' => 'Add New',
) A  G8 f* ]7 p; ?          'add_new_item' => 'Add New Site Wide Notice',
0 q0 [$ E) Y% Z0 D* _. A! _% k7 o          'edit_item' => 'Edit Site Wide Notice',
6 s, z4 f' n& K! l          'new_item' => 'New Site Wide Notice',5 @  `9 w: A7 p" E' D% y, B% r
          'view_item' => 'View Site Wide Notice',
% |3 M! f8 m# R  N0 d6 }5 o          'search_items' => 'Search Site Wide Notices',* I% w  c' W5 Z& A, ^1 ]
          'not_found' => 'No site-wide notices found',
/ M  q4 v8 Y  A: ?. N& n3 j          'not_found_in_trash' => 'No site-wide notices found in trash'
2 ?2 L& D: V  s9 h6 j( i3 r! o  \      );" \" E9 z5 S6 x8 c, P5 M
1 w! Z2 t7 r5 ]. y9 D1 |
      $args = array(
, }1 C" v7 Q* g3 ^' ?& ?4 e( P          'labels' => $labels,; o+ L0 f% m# u& H/ _5 a* M
          'public' => true,( |( a% P; v. c
          'has_archive' => true,- b% f- M1 Z: @. {5 h
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
# q% E" }  }- I          'taxonomies' => array('category', 'post_tag'),/ \( ]4 G  m. Q
          'menu_icon' => 'dashicons-megaphone',# t0 X8 K3 Q* a" [; B
          'menu_position' => 5,
- \! u/ L* V- Y6 P          'rewrite' => array('slug' => 'site-wide-notices'); \5 u: z- v( ?( W( G" T. I
      );7 g! @- B  x, Y+ C, r

; [- a% Z8 H' D1 ~      register_post_type('site-wide-notices', $args);
; Q$ U- q! u" i   }
, |+ F0 V4 Z. v  B/ X5 n   ```1 Z$ l* z0 o/ z! r% P

( o5 r* _; W: X; C* ~& q5 N4 }   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
2 I. s3 z" P' n) F. N; t6 g0 w
' C! i9 A4 C+ S9 H# d3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
! g5 G! Q/ V$ B' J/ n% v7 j$ Q* }8 z9 d5 `% [% p8 {$ |, a/ d
   ```. m/ k# Y9 w1 Q1 U, O5 L: Q+ C
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');! R4 ^' N' s, @1 h9 I8 y" I
   function add_site_wide_notices_boxes() {
+ \" s+ a5 m" {6 ?  x. {      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');! M# ^; |( ~" H* x- _7 }! z. L
   }# L" K! h: t* z, M7 h
' s) ?8 @( c/ [0 E
   function notice_details_meta_box($post) {
2 I# K( @# I6 o$ U      wp_nonce_field(basename(__FILE__), 'notices_nonce');) M5 o7 x  X4 I/ ~5 G. g
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
* j/ H. t2 I/ @) C% `  G/ U5 t: }      $notice_content = get_post_meta($post->ID, 'notice_content', true);
8 t( }3 s4 Z* C; U      ?>
; Q# I( y8 f. @- q      <p>
7 F9 x0 h9 m# w1 B7 l          <label for="notice-title">Notice Title</label><br>& q% u% N3 s$ q: X9 }  L8 v! Y
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">, Z/ J; ^8 J2 j7 S
      </p>$ _# f4 Z, K+ _7 }; n1 h7 r* U# ?
      <p>* I7 b9 u2 d# R
          <label for="notice-content">Notice Content</label><br>
' X' P2 \' O; ^( Q( f" d          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
! [$ i. {7 p  U& C' l      </p>
4 a8 X: U2 o& H, o, Q      <?php
0 K& B6 n, K- J   }* z: X! j+ B: E' [. w/ s

4 ]+ R8 O3 \& W/ T0 ~4 j  L   add_action('save_post', 'save_site_wide_notice_meta_box');
' K7 {* b+ r/ q$ L3 l4 _$ Z0 c; F   function save_site_wide_notice_meta_box($post_id) {
/ A. z1 i$ J' I# o4 x+ W  Y7 f      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
; ]- h+ W/ @* u, D' ?* r! V         return;4 \3 R2 D# ^  r- `+ d
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
/ j* Z! Q/ T8 ^8 C% l6 G, L         return;/ Y& P, G  k8 o  k' a4 ~3 D$ v- [

$ m* C/ I& n! ?4 k      if (isset($_POST['notice_title'])) {7 R! Z8 c; b0 K' H0 o! {5 g# c
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));- ~% L& K7 |" c# M* P1 Y! k9 a7 p' w
      }
: |) i9 g5 `  b      if (isset($_POST['notice_content'])) {
: o1 H" ~0 V+ V          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));( g8 F% ~2 B7 l  Z3 k. l7 j
      }
+ A+ }- P6 {' q: g   }, }1 g+ Q8 [/ d
   ```4 k# J& T- c- ]  {
- X7 @4 P" E% R3 o2 A) d* z$ {6 N* G
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。* u& c0 y! m, W4 B3 K/ ?* N
& ?- Q2 p* R& d  G
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:5 ]# Y6 x2 X. ~. u! r% t0 {! P
2 t% K' E* q$ T: ~. J
   ```9 c  b/ \5 A4 l: _
   $args = array(
2 \' [1 V1 q6 g+ ]% H      'post_type' => 'site-wide-notices',- u( L8 l$ u: F6 H% _0 `
      'posts_per_page' => 3,; g5 N3 T$ a- z& q" m; L: h% s; C
      'order' => 'DESC',+ \7 n' l5 i$ e& \9 d
      'orderby' => 'date'
: i( R: k0 j  t# E% D8 L& V. S) q   );
& r( l# u7 ?. m   $query = new WP_Query($args);/ p" C; o$ a  f" f: c3 v3 l
   if ($query->have_posts()) :
7 ~; a: {8 G  q) }      while ($query->have_posts()) : $query->the_post(); ?>
: ]5 Q! J, ~, G& \          <div class="notice">
: h5 _; G  H! _2 |              <h3><?php the_title(); ?></h3>) t' n0 t2 {( |+ r6 e0 Q
              <div class="notice-content"><?php the_content(); ?></div>" I) C5 D0 j, |2 Z' o
          </div>
( a; q  r# {2 }/ o      <?php endwhile;
! W  H/ w1 z& _      wp_reset_postdata();
1 c& Y8 m' A2 S2 }# @# m- o( v   endif;9 R" }0 I! r5 j# }# i! s1 R
   ```
# y' F0 R2 H0 }  h' r+ q% l9 N' H6 c5 S8 r5 z' I* l
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-20 04:43 , Processed in 0.019823 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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