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

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

[复制链接]

320

主题

485

回帖

3140

积分

管理员

积分
3140
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
" q) p( q& h7 D/ \# t/ _: I; M' Z) U6 v9 @5 h: k$ S2 J
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。7 q1 s6 P: R  ^2 T5 L% }. s# a

$ j7 I; T3 j! s% a. H8 {2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
. p. K/ f& ]" D7 e$ B0 |, x" }4 ?% x" j
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。! B2 R5 n8 S; }1 v# b2 k; R

9 D+ z4 t2 N6 v) Q/ j2 ]4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。1 ~# j+ {% [4 D  C1 f; Q( c) p

0 S0 R5 O" C; T: l% o+ Q% \# ]注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

320

主题

485

回帖

3140

积分

管理员

积分
3140
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
( t# {- Y+ C. i
1 B5 M7 ~: f/ ]. c如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:" H. e6 z3 b, G, A9 f3 K# A9 B1 V
9 n% a, c$ v  V; G' h
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:$ @- o0 O1 K* `2 j
. g" _( \$ n4 u+ k
   ```6 t# o+ w7 j& W9 V  p7 h. l
   add_menu_page(
1 i" d# E( W- w0 v9 F/ x( p       '全站公告',1 K# D# x! m3 d) ]% y
       '全站公告',6 K( U5 d/ m, k: d! j$ o0 @
       'manage_options', //需要的用户权限/ U5 Z6 |# W; M' k
       'site-wide-notice', //后台页面的 slug) W1 c8 u6 V$ e. e0 {# I
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
7 d/ V) V# q  H! p, a3 ]& ]       'dashicons-megaphone', //用于显示在菜单中的图标9 r" f& i0 u& ?
       30 //菜单项的位置
6 x$ ~' ~- h; N9 [   );& s- ]$ p: M3 P
   ```
( N( G& D) a" O/ N5 v# j
8 J% }. y7 X( Y) Q   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
. N: V! W( M0 K1 Q0 J; E" I
+ G8 h/ @  A; m5 c1 S2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:- b, t  m8 `( l4 X0 {+ O
  K1 r/ e% c$ }/ X/ z. @: ?- H/ Q8 t
   ```+ _% t& T( w& d: Q1 |! x  z2 ^
   function render_site_wide_notice_page() {2 a! y! [  i+ a, i2 K
      // 渲染后台页面内容
" {9 e  S8 F& `' ~. a. h9 `- O$ H      echo '<div class="wrap">
% }! l3 r/ t+ g. K# Q3 l1 l$ q          <h2>全站公告</h2>
' b- u9 u! @, a( j          <form method="post" action="">% m, B9 \/ T3 C# V
              <label for="title">公告标题:</label>0 w5 h% A( k$ M5 k
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
/ _5 F; b. q& Z2 I) L) Y2 j              <label for="content">公告内容:</label>! @/ [( c5 p# Y
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>6 {8 l3 ?+ N* z" H5 Q! P
              <input type="submit" name="submit" value="保存设置">: I# t  m- v9 P& b3 j
          </form>, u4 `* |8 w' I% `
      </div>';6 p0 u: T1 X, Q6 j8 S
% z* H" p3 X9 c. t; a; M
      // 处理表单数据
0 p& \: [7 v' O- N      if (isset($_POST['submit'])) {1 v$ _- l) P1 m& `8 r
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));8 c" Q% R5 H& c+ [( E9 o
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));9 r' k) ]" L/ m; \. ]
      }* R/ Y% ~, E( A1 A
   }
9 q/ U: w. {( n4 v   ```( {7 a$ T8 G- |& A: j5 ^# b

. N) x& S* j: _( U5 z! c% C( c; O  f   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。8 D  ]2 X3 f3 q* G; A: C
4 T' O& I0 y4 P; [
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:* Z6 f% W' y9 \7 d6 q/ P$ T

- d" w$ a5 z% G9 b   ```  G1 X$ H" W& Y9 g1 I
   <?php
4 P: _- _  F& |- |+ v4 u/ D+ }   $site_wide_notice_title = get_option('site_wide_notice_title');0 g& W9 L- T; Y! m% F" F& T
   $site_wide_notice_content = get_option('site_wide_notice_content');
+ }: \+ ^& d& y) N5 Q) r* \   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {) X. I0 p& }( L: z( ]
       echo '<div class="site-wide-notice">';
/ |( X9 t1 q& D' i& @' f( ~       if (!empty($site_wide_notice_title)) {
* j1 i; p% N2 H) ~           echo '<h3>'.$site_wide_notice_title.'</h3>';
6 Q8 V8 C" k1 N       }
$ i9 E$ e4 c% a2 e- M$ }       if (!empty($site_wide_notice_content)) {
( I( `8 d5 l) B; Q& g6 `* q           echo '<p>'.$site_wide_notice_content.'</p>';  e" w+ \6 G: _' x: q2 i$ j- e: w, X
       }
: U: r* \9 }- \0 S# r6 m       echo '</div>';
( {. r0 w# q8 ~) b: M0 x/ Z   }. s; C' c$ A- @3 m& b
   ?>
7 {% \8 d7 O* k  [/ r9 o   ```
) g- w+ ]' k- M, B
) h0 E. T; m( q   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
/ y# |& s( y0 T: J9 V
# v# ]% D2 A) u1 l请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

320

主题

485

回帖

3140

积分

管理员

积分
3140
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?  q0 j6 Q& U9 p# w: u

3 E5 C: k0 }3 _) \/ l& M2 N* Y" ~您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:& i2 ^, S7 \5 Q& [4 L

3 i9 X3 T3 h1 I. Q% t2 v/ c7 \# r7 c1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
# D: \5 G7 J2 Y" @1 }, Z4 G! t: c/ g4 I+ ?3 {
```  m+ L/ {; B- D4 u
function create_custom_post_type() {
. Z% `2 s% o. e/ Q    $args = array(  M1 R) S( M3 d" J9 I( @& A
        'labels' => array(
5 Y, k2 }1 A- E  ?' s            'name' => '公告',* y$ w% v( ?. [. N
            'singular_name' => '公告'  e- Y: H  t2 t$ R7 y" M
        ),
6 C' Y& W* z, K* g        'public' => true,+ T* f5 B" h- f) ^. i+ \
        'has_archive' => true,8 A" H$ W4 Y& }- N/ v' W. \$ ~; v
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
5 c0 h/ u$ q0 o        'taxonomies' => array('category', 'post_tag'),
% L) K/ L+ E& g( k; q1 j0 U; A        'menu_icon' => 'dashicons-megaphone',0 d" R! U! J" p+ R
        'menu_position' => 5,
" L7 P: _" Y% t4 I* i4 D* y        'rewrite' => array('slug' => 'site-wide-notices'); Y2 H* x. H* f" R9 F) w
    );
. R9 W9 l  z) R- _. [/ B    register_post_type('site-wide-notices', $args);
* \1 L  p0 j8 C! V% X+ L5 R  O) q2 E}
) r; Y2 _) S. P" W* i2 C( ~8 padd_action('init', 'create_custom_post_type');
) j( [1 N* t4 }2 t0 X2 O2 e```1 n! B, k% N, Y- F& T

. d6 W4 Q- ]! {: ^0 Q9 Y9 R在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。9 U4 R  N& H. k$ V

& J3 H: E$ w6 B: @. ]2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。% E2 i( y5 b1 h' a- W

% H  z# n7 s8 l" N9 _3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:# N7 z% A$ a: t3 Y
7 z2 f: s' n, H5 M: p) W
```' N  V, |- [) R% N: _$ J
$args = array(
/ I) {. k& }8 Q/ k    'posts_per_page' => 3, // 显示的公告数量
! T. O; i4 p& U: A2 A7 p6 ]    'post_type' => 'site-wide-notices', // 公告文章类型7 J4 y8 A. ]* x; `# D
    'post_status' => 'publish', // 公告状态
+ H2 K$ R5 T2 y7 {# ^/ R    'order' => 'DESC' // 排序方式
& [0 h) t4 W& j" u- g+ B( _( {);# y9 U6 Q2 D% E# b3 w
$ c/ B% j- x  g' \, J" G3 \
$notices = new WP_Query($args);' L8 D, R7 E: A3 g2 q# i
if ($notices->have_posts()) :6 l9 n! L" r  X" Z7 ~' t2 \
    while ($notices->have_posts()) : $notices->the_post(); ?>
( i. |5 A% {$ v  n7 ~- g( {$ h        <div class="notice">; J0 e' K) E+ N- A" r% P
            <h3><?php the_title(); ?></h3>
/ {2 ~+ N* n  @# F            <div class="notice-content"><?php the_content(); ?></div>% E/ C/ u/ r+ p6 }2 n. V5 D3 {4 ~
        </div>8 |9 ]4 Y6 `, e% h
    <?php endwhile;
4 u/ y9 ]9 j4 H2 V: L( delse :. I+ q0 @) Z. N+ Z# g4 m
    echo "暂无公告";
/ c* Q* r' ]# \endif;
7 w9 s. e/ Y) E$ x+ I5 o6 owp_reset_query();
/ W# A. [7 T3 A7 V* ^3 `/ F```- ?! o& _4 r2 D, Q# x

- Z8 Q' m; m: `* r0 ]这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。" [3 p4 M7 m( \6 b. R8 g) o

/ s7 d7 E3 Q- l5 Z以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

320

主题

485

回帖

3140

积分

管理员

积分
3140
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?9 a" C5 N7 _" v; X) b

" ?; ?) S( w1 U如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。8 H+ f8 `& N( P( k  f6 V6 c' Z8 s4 {

7 I' s& C/ U6 S以下是创建自定义插件的步骤:
0 H: X, A. g0 `# w( R) ^2 t" L- x/ R( N
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
2 [; a3 X2 C0 `2 S5 f" Y9 W! |) r5 c6 A3 b; {  F8 y/ x3 U
   ```6 X' \. X7 Q  H4 m# a# i" F( ^
   <?php
3 [: m" G$ I" y) H& m+ R   /*
+ q  t+ s$ I9 P. b: d: Q   Plugin Name: Site Wide Notices Plugin
5 N8 A+ x! P+ D! M7 w8 k7 s1 u   Description: Adds a new custom post type for site-wide notices.4 V: u1 r9 H( m* r- s3 ?0 W3 Z
   Version: 1.0
" B4 ^/ w9 i6 h, F# ]0 t   Author: Your Name
  C. h7 J6 t2 M+ i! i) q4 a5 f   Author URI: http://example.com' X4 l% B8 i3 j. `0 X1 t% T' Q8 ~3 N
   */
2 g& O; G/ a4 y: S: M* r- ~+ s% ~+ u) ^( f3 z! u
   // Add plugin code here...
/ G& o( |/ X4 D: n, |0 Z   ```
% Z* u  a, v- j/ ~( ^8 a! Z7 C  i2 R2 {/ k( d
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。2 X4 \0 v8 z% T; u1 Q6 Y

: l* a1 @) m* U2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:: Q3 z% q; P4 C- E' G7 N3 U
  {) j/ E: U& T( m; G; C
   ```
1 [/ E/ a8 \# N" X% R& }8 U; O   add_action('init', 'create_custom_post_type');5 I+ ?4 ^) q, G- c8 b. W! v
   function create_custom_post_type() {# r2 c+ i- J0 ~( E5 Y4 W! y# S
      $labels = array(
' m0 ]; _- i  K4 r          'name' => 'Site Wide Notices',
+ |" f6 L' w& S, d4 n          'singular_name' => 'Site Wide Notice',. b$ T, b' a6 [6 x  @/ q: _3 y: v
          'add_new' => 'Add New',
  L4 [6 v% D% S* {          'add_new_item' => 'Add New Site Wide Notice',
6 {0 H# x% X# S) x7 i( `- n          'edit_item' => 'Edit Site Wide Notice',
& ?1 i2 F5 c7 ]5 Z- l' b          'new_item' => 'New Site Wide Notice',
" e8 ^; R9 l& k4 s/ b2 r          'view_item' => 'View Site Wide Notice',8 q3 s* ^) t+ V3 c5 p
          'search_items' => 'Search Site Wide Notices',/ y. H9 l6 R+ ~1 b3 c
          'not_found' => 'No site-wide notices found',! g7 d* @/ z. c2 a1 O* K1 |
          'not_found_in_trash' => 'No site-wide notices found in trash'9 o2 a9 v5 m2 o% H+ K2 T
      );
6 c( Q  [& K! D2 ~
$ O1 C) n- S! o; A) Z- t  Q      $args = array(* |! K3 f+ R1 `- Q2 r0 E* Y
          'labels' => $labels,
; ^1 d& I/ x6 m' P          'public' => true,
' m; [$ C+ L1 e! I) ?2 O; t          'has_archive' => true,
& n) M  V$ C, H; s  v          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),1 I2 Q2 C2 k' o
          'taxonomies' => array('category', 'post_tag'),
- [  e7 x! m' I  b7 S          'menu_icon' => 'dashicons-megaphone',
. U0 g3 U: t1 H! O* A& L2 D          'menu_position' => 5,
) m9 o8 _. t- {1 a3 w$ e          'rewrite' => array('slug' => 'site-wide-notices')  P* V4 E  w; i8 v
      );
3 u( Y; q: G9 H0 y7 ^; @) R( e1 m% R3 i, M' q
      register_post_type('site-wide-notices', $args);# B: Q  D9 E+ @3 J2 s, `5 p" w1 N9 e% N: W
   }1 ^9 p8 {* P( E' R! @
   ```1 ]# m$ l- Z4 X& F: A" ]

  d# G/ y5 C& u. `% z) l% R   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。9 ^$ w9 W0 u  [* [0 E3 Z! f

2 y; K9 w. _8 q6 U2 k" N4 G3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:% w. U7 @0 x4 V6 i% y
9 p9 t! y) u) ]' P- v
   ```5 ]2 M8 b# J* ]* Z! E
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');" I9 n% W( U) i6 X0 x9 C: g
   function add_site_wide_notices_boxes() {
! k5 Q2 X2 d0 N/ [      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');$ t) D; B/ q$ @7 N# Z4 W2 ^# Z6 r
   }
, s; F" o3 O* }0 o1 y( m
1 U# M& @2 D6 f7 e; O% c; t   function notice_details_meta_box($post) {
$ C% p& l' A& K6 w% U) B2 J  x      wp_nonce_field(basename(__FILE__), 'notices_nonce');9 L6 `' u) o' z* N
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
! z/ H$ Z+ z. m2 y. X      $notice_content = get_post_meta($post->ID, 'notice_content', true);; C5 Q) {0 h5 K: P" j2 Y3 R2 [0 U
      ?>
7 x; R4 R2 j2 H- h4 N3 x      <p>
" h$ ]1 i; |0 D; q; f9 n          <label for="notice-title">Notice Title</label><br>
& K, Z: T+ N- |7 q  a4 g& C          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
! b& ]. R% ^8 s" b2 [  D      </p>$ ]$ H: n( j% p0 M; A
      <p>7 D5 L- d+ a" ]% Y0 T* b& ~7 p, Z* M
          <label for="notice-content">Notice Content</label><br>( G! [  t8 r( _/ x( ~$ W
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
& c+ u8 b5 }6 E: s      </p>
* D$ \1 T4 d% M$ G/ y( H      <?php3 I# X& O8 X4 T& N) s' f
   }
# `, |3 H8 E9 y! l6 \9 L
( ?# C' n* r5 _   add_action('save_post', 'save_site_wide_notice_meta_box');  @7 U  N& Z, `* h6 s" e
   function save_site_wide_notice_meta_box($post_id) {
! m+ A/ S* M  g9 `/ u      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))! N  t- E" E: e9 d3 t' L1 S6 k
         return;
5 i5 u* D, x$ N- x8 e      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)* b0 s. b3 J9 O
         return;3 C; B6 Q; T+ n9 a9 r

" `% k6 @  P9 q; E+ A      if (isset($_POST['notice_title'])) {! _) n, o8 ^% {0 e
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
. T! w# e; i  u- ]      }
- [9 d. W( y1 Y( _; g      if (isset($_POST['notice_content'])) {
' f6 ~( a( ~' `3 F# l- U          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));% K3 N3 f% w4 ~5 G( h, \7 F3 ^/ R
      }
# F$ N7 s" N4 K8 s+ S; k" r   }6 X! ~; R- N2 K7 J6 ]
   ```
7 G& U% K. p' M5 a( _( T8 [6 U$ Q, p6 v: U; i
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
7 a7 _8 ^3 N3 g" Z& P; r: ?# `! y# \4 V. l8 V& B' K( f
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
; q9 V# f5 Q; F9 M. ~9 C
2 ^- c7 Z" S. K+ ?+ G4 Y   ```
. @9 W4 ?" K9 C" u2 y+ E0 L   $args = array(
  V' j5 E0 v$ q+ \) S$ {+ L      'post_type' => 'site-wide-notices',* q- F8 q8 j3 D' ]: }2 V$ a
      'posts_per_page' => 3,# }. B6 ^; C  b3 M: O6 F; J
      'order' => 'DESC',
0 |( A- k3 Z+ n1 @/ p      'orderby' => 'date'
! K, ?& M  ?1 E) w   );% }$ B  d1 ~$ W
   $query = new WP_Query($args);- Y* [4 J. o2 U8 q2 s
   if ($query->have_posts()) :
# a. y5 X* A4 @$ C( l' e      while ($query->have_posts()) : $query->the_post(); ?>
& G# t; @3 \7 }9 B" g8 [6 R* u          <div class="notice">7 q7 I8 k- P9 J/ y
              <h3><?php the_title(); ?></h3>
% o7 Q& F6 m1 a+ O  J5 N- M1 W4 Q              <div class="notice-content"><?php the_content(); ?></div>" }$ }( u& x" h7 w# C) g
          </div>
2 O+ y! ]& y3 J' j2 J/ m- b      <?php endwhile;  X: k. u2 D' H+ I8 S6 T
      wp_reset_postdata();
: j0 @) C2 n- q0 I. [4 _- }   endif;
! ~$ V( ]1 u, e7 }   ```
5 t! e# R, c! v# Q, A' v8 |2 d1 e9 }: Z
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|通达产控投资 ( 粤ICP备2023021749号-1|粤公网安备 44030402006137号 )

GMT+8, 2025-8-19 13:41 , Processed in 0.075850 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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