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

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

[复制链接]

322

主题

485

回帖

3170

积分

管理员

积分
3170
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:1 F; E1 L/ W& x- b! N" y
7 ]+ v& p9 H  a* h
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
) Y7 n5 X0 `6 ^7 Z# X8 S7 j  [  D9 A2 S& \- \" ^. U  \
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
0 ^1 `# [, C/ d2 r
& ]: Z1 M9 K# i+ G3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。- ~( L9 g7 ~' Y, b4 E. T
4 G3 |, [, `' e: {, \
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
' w/ ~) f$ W/ L) y, i& R4 Y8 r: N4 o+ O6 u2 B. r
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

322

主题

485

回帖

3170

积分

管理员

积分
3170
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?% }* ~" b5 [, a8 X6 I# ]2 D6 t. w

5 S, F5 w8 w* x- O5 `- @8 T& [! k如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
, l$ Z3 A4 e( J; g0 ^9 y* `3 Q# n  r0 I! j) r3 i
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:2 [/ l9 u9 s$ W! I! d: z. L
: B4 K' F  j7 o4 W) j) _* L
   ```! f* @- H! }! N, _- X# K
   add_menu_page(% x' S6 `/ L+ Q2 e
       '全站公告',
( R$ n8 j0 V( y0 p: m       '全站公告',
- H; M6 H! ?/ `" ?2 R0 [* N( c" ^( g, c( V       'manage_options', //需要的用户权限! Z9 c+ Q5 c% Z+ y" A
       'site-wide-notice', //后台页面的 slug% T' m9 Q: L, I% g, q3 h- L8 v; d
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
$ z/ p# Z. [' a4 P7 \! D" ]2 s& v       'dashicons-megaphone', //用于显示在菜单中的图标
* B; T* \# T; F( M: {6 E% O- V       30 //菜单项的位置' h8 U& f  c$ w! L) u" @
   );
* V- G% I  }( @   ```& l& R1 G/ F, i5 g0 V  H. K0 |6 I

# J! E: K7 [+ X" a' d   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
2 }9 e4 k3 M/ {+ m! H
1 t3 N# Q+ v1 |* S" ]5 H2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
8 K- M$ y% c/ r) ^8 N
9 p! A/ ^0 J7 v3 s) m. Q0 J1 j6 r   ```  J" k  B1 f: v! L  f" X
   function render_site_wide_notice_page() {$ K+ p6 X% o& Z4 Y4 i# e/ P
      // 渲染后台页面内容6 U# A: p: p8 Y% V+ j7 r
      echo '<div class="wrap">
  a& M) U3 l* x4 A          <h2>全站公告</h2>
4 p  f) f6 f' U; G9 U          <form method="post" action="">' T+ t3 Y/ x" g. @) [/ [+ ^
              <label for="title">公告标题:</label>0 ~  f& a. v2 Y% y. W/ w
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
3 `! s; e# X6 F7 ?7 G              <label for="content">公告内容:</label>
, t3 Z$ w/ I5 ]" e" p              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>! u+ z; |% q: e
              <input type="submit" name="submit" value="保存设置">) }5 }0 j0 b* I. u5 _! H
          </form>/ L% z7 w" v6 h/ v
      </div>';
6 _) I! ~. h( N3 V& W( G
1 ]7 s0 i; H1 Y2 _2 G  i      // 处理表单数据
2 G* D7 w* i- r% X. {2 g# h/ z      if (isset($_POST['submit'])) {
/ X: z+ e$ m( B; g          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
3 p0 e8 g0 w; ^4 ^7 x) M. g          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
1 b4 z/ E9 }! R4 C  ~      }
+ y4 o7 `3 k% [7 \   }
, _* c4 a8 b& }3 }" w& W$ {   ```
9 s- n, j0 b+ k. Q, H4 u: a* C' r, i2 v, z6 v, S
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。- W* P# E, |& H. }! y+ O
/ X8 i- J- D% @4 b
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
; ?* j6 V% l+ K) c/ q' b5 \7 J% W% K  @- ^4 C
   ```
: \9 e  U% y& X$ t   <?php
1 [7 \1 }9 `2 v5 ~9 D   $site_wide_notice_title = get_option('site_wide_notice_title');& `* a9 e5 F) l# A. |" m
   $site_wide_notice_content = get_option('site_wide_notice_content');& d- {- A3 g/ H6 e8 s
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
9 W6 {, Q6 F% q, c       echo '<div class="site-wide-notice">';
7 y% ~; F2 h1 Y: w       if (!empty($site_wide_notice_title)) {# p0 y* |' Y1 b8 I: @: ]4 i7 n  s
           echo '<h3>'.$site_wide_notice_title.'</h3>';
* v: }7 E1 M2 b. P! ~       }
/ E/ J3 V" @6 }5 ~0 Y, F" j* y       if (!empty($site_wide_notice_content)) {: H, x6 j3 d7 h+ I
           echo '<p>'.$site_wide_notice_content.'</p>';
4 G0 a$ I+ _; ?       }
9 ]4 y- b. o0 K. v! w       echo '</div>';
" Q' b  O5 i- P0 @7 }8 |* e   }7 z: p$ ]; J  A7 D. s0 u) S0 m
   ?>) K9 l. |6 S8 |8 T
   ```
2 V. c: ]. u4 N; R) l
' \( @: L+ e# a$ ?   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
5 d* z3 C1 o4 |' A' h
; Y( H5 p! j( |5 I4 U- t请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

322

主题

485

回帖

3170

积分

管理员

积分
3170
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?+ j1 P7 Z8 ~4 y1 I- g1 p
# C* C) I6 N, \* L/ J
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
+ ^) J: O: b" F- f, B( A/ v, ]" }5 U, }2 i2 Y. D$ ?% u5 h& x6 A' a8 a
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:& Z4 G/ E5 {/ F

1 x/ H# l" p6 {3 }3 P```
4 J/ C/ A2 A$ v, qfunction create_custom_post_type() {
5 I0 u. f# {- \    $args = array(
$ e( b/ u8 H  W) i        'labels' => array(
/ d3 @' R& j6 M, B: j            'name' => '公告',
" b& ^# ], ?0 w0 @% I3 ~            'singular_name' => '公告', M5 S0 z1 e! q  V" O1 C' y0 f
        ),( @: k: U( O' \7 f( {/ v: I
        'public' => true,
6 d. V) _+ f% s! Q2 r: T* `9 k  f! @        'has_archive' => true,
" Q9 w! w% S7 b" S9 q5 ?& j4 t        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),& L$ M6 a; C( c& V4 H
        'taxonomies' => array('category', 'post_tag'),
9 e! ]0 w  w6 E! H        'menu_icon' => 'dashicons-megaphone',( {9 Z- S5 j7 X8 z$ Q) m* ^
        'menu_position' => 5,
2 b4 Q6 c8 V  K        'rewrite' => array('slug' => 'site-wide-notices')
- g: U8 P9 m8 L$ \2 A: b. x( E    );2 E$ ~5 o" D7 s  ]6 W" @) s3 N: ~
    register_post_type('site-wide-notices', $args);
& i; G% T$ m# u+ r. A& F2 ?5 @" W}
% Y7 R: R1 J5 G$ S- Ladd_action('init', 'create_custom_post_type');, c5 `4 O7 R% `' M3 Q
```, Y. H$ b8 t, N' r$ z% x
$ j2 T* ^9 p; |6 O. ]
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
& Q; t- C- s3 q- e$ V
6 Z6 a5 ^) }, \4 E/ U/ i2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。# i4 R# H( s) j2 Y: a: ]

/ `5 u# \2 l  s- F3 V3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:3 A6 g& i8 N, u; p' h( P
. C8 h0 Q+ Q" }$ f
```( @2 N" ?6 M# P! R
$args = array(
. j' y9 D5 u( K% ~" u' {- k; C    'posts_per_page' => 3, // 显示的公告数量
1 j% L$ E% A+ ~8 D    'post_type' => 'site-wide-notices', // 公告文章类型
' O; }% E/ d+ a    'post_status' => 'publish', // 公告状态
$ I  r- ~8 d' A4 k# C* U    'order' => 'DESC' // 排序方式7 w  ]. q8 Z& d4 z4 r& b6 S
);
3 h/ }" Z' \1 I) g0 p* d, \4 \7 e& L8 s  A% ?: F, A" i
$notices = new WP_Query($args);
. T+ H; V% J& e$ L: fif ($notices->have_posts()) :
4 F7 D( I+ n' _    while ($notices->have_posts()) : $notices->the_post(); ?>' J6 g+ r8 f1 }; G) L8 f
        <div class="notice">. U# n7 p' P9 W1 z. q
            <h3><?php the_title(); ?></h3>
$ }( M, A* e  d& C# z            <div class="notice-content"><?php the_content(); ?></div>
  _6 w: A2 s2 u5 F        </div>: U9 g( U: ?0 A0 ~! |; ]. z
    <?php endwhile;
8 y1 t: `7 c& n& ~* telse :3 j3 t+ g% J0 w( d5 G9 L* L
    echo "暂无公告";
! z$ n" ^/ [, n# P0 `1 c  F/ uendif;
/ `2 d) s: ]( Cwp_reset_query();
2 a- r0 W8 P% m) p```
+ o" O' K2 ?4 L, A7 W' C2 t6 ]. X2 M' L+ F
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。6 m$ J' b; w9 M3 a# S5 G( K% O1 g
' X% c( @  W0 y# |- L7 I; g
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

322

主题

485

回帖

3170

积分

管理员

积分
3170
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?" }9 X' s" y# a* P- d
- G, l9 Z0 V$ q  S. b
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。) |8 I1 Q9 C6 K$ @; @

1 S- q4 u# p+ [8 Y( d以下是创建自定义插件的步骤:
. K5 U, j2 p, h
* L. [9 O7 s( C4 ?: s  d) m. S+ i1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:, S* |1 F% p& X% i. U% m, u  S
* q: H( s" ]6 r( L, B; o! y( }! b0 Y
   ```. @: Z3 G/ }2 G' h! H
   <?php
8 d- Y/ w1 y$ A   /*
8 R( E' f# O" m( Z   Plugin Name: Site Wide Notices Plugin, h% U7 u0 e+ o/ }2 Y- n- x
   Description: Adds a new custom post type for site-wide notices.$ z( s6 {1 T  G: Q
   Version: 1.0+ j( A& d7 |: V, M
   Author: Your Name! ?  V# Y; D! ~7 a* e5 o
   Author URI: http://example.com4 f- e) \4 _' I3 _! ^
   */
) Y; `  ^' y9 t+ V+ }8 G
1 E! v& z+ X2 z& r   // Add plugin code here...
, J' Q" E  [+ x0 N$ w2 @5 h   ```
  ~8 Q! }, j0 @! R7 B
' h/ p$ Q9 o+ B+ P0 M& V   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。& C+ F! Z' h9 p( k5 w
3 `/ d  }: E9 B' W( R0 z2 A
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
# o0 I* b4 G( {+ o( a" n% C  i% m
2 S) _) H# x3 N# i5 F   ```
. e0 x$ s3 M: A   add_action('init', 'create_custom_post_type');, X. ^6 W1 R- n0 t3 N" F; J) {5 P
   function create_custom_post_type() {
  M, z3 k& e, q0 d2 i# U& Y, ~      $labels = array(! Q9 `4 r5 Z% m4 L8 F( V
          'name' => 'Site Wide Notices',
* f6 [) d, [9 {) Q          'singular_name' => 'Site Wide Notice',
4 D! k* ?6 h' F" r5 e! G/ ~) \          'add_new' => 'Add New',3 t3 s* x4 d  c7 D, @6 I
          'add_new_item' => 'Add New Site Wide Notice'," K) l% [, v* e0 @/ \
          'edit_item' => 'Edit Site Wide Notice',
' s4 o" y) A: i& _" y          'new_item' => 'New Site Wide Notice',
2 E) k4 |0 s- ]7 W  T7 I2 S& s          'view_item' => 'View Site Wide Notice',/ z8 m" {  i$ }1 Q- N& s% N
          'search_items' => 'Search Site Wide Notices',( {- Q1 P- j9 ~* `4 y& n
          'not_found' => 'No site-wide notices found',
4 H. C" |* p" X; [5 p1 A# J          'not_found_in_trash' => 'No site-wide notices found in trash'
; P/ i4 e( T! ?7 S$ p      );( g7 l$ O  z( A* ~2 l  l
% }/ k( s; ?& S, d4 r$ b
      $args = array(
4 Q2 x% V/ R5 O- }( z. O' ~' x          'labels' => $labels,7 e" B$ u  `1 }3 a% i
          'public' => true,2 R& k4 H7 c2 W: g% _4 g
          'has_archive' => true,
0 U- C8 d; d/ ~          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),& }* `5 K  t( K* x9 q0 W0 |/ ?3 ~0 {
          'taxonomies' => array('category', 'post_tag'),
) B4 g+ f9 Z5 \# h7 d3 x          'menu_icon' => 'dashicons-megaphone',5 v7 z0 b2 Q0 M( z. }3 G
          'menu_position' => 5,( t" \/ h0 l% \1 {  |6 m, k3 L  F
          'rewrite' => array('slug' => 'site-wide-notices')
: V! s$ W  E+ a: R6 n      );! H  z. f( r: N5 v1 o8 t) L+ f
, w6 }1 e& w: u" m( U" Z
      register_post_type('site-wide-notices', $args);, M" L7 W: Z0 m8 X; U
   }9 Y- S, F$ x. E- _% \. n; Y) L
   ```6 ^; u& W, k$ k+ b0 ^- c' V" @

* j" h1 \5 U' Y0 C/ |   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。  }8 u& P6 J+ \5 P+ g6 E3 A) P5 u
! Q0 a  e4 ]) E6 n0 v* u
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:5 O, M" ]1 y( D# j4 J  O
  w+ r& p: p: [9 ^9 v0 F9 G
   ```+ c/ l$ J& t9 e& Q# {! V, X! P7 Y
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');) {6 \  _* N+ k) I# t
   function add_site_wide_notices_boxes() {( g# z! z: ?! Z1 Y- X& E  T8 T
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
+ B. I# I7 y6 u9 v  }+ G3 O   }' A( }! M" ~4 g2 n8 P! q; m
4 k! ~: k' w9 w
   function notice_details_meta_box($post) {
# F" O$ y- W. X9 W      wp_nonce_field(basename(__FILE__), 'notices_nonce');3 F: f# x2 ~1 y7 b6 W0 |
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
" o: z0 ^* Y+ L      $notice_content = get_post_meta($post->ID, 'notice_content', true);4 n) j# l) E5 ]7 J4 X7 ^$ R1 p2 t
      ?>9 X- J* k5 e$ c2 d0 o8 J
      <p>/ B: \# @; A2 X# j: w3 j, @7 R8 ^+ U
          <label for="notice-title">Notice Title</label><br>
  m4 ^; D; W8 E7 q: p          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">; j! n- `3 S6 {* F
      </p>, Z/ H- y2 T$ A" {" X
      <p>
7 V" k& T% N4 k8 V          <label for="notice-content">Notice Content</label><br>- q, E3 U: R8 L' ~  k5 Q9 ?0 \3 x
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
+ x: {% t( h5 M1 m      </p>
1 B' u: ^: W4 p" {      <?php
9 t/ N; L# u9 A  d& l" ]; I   }
; P; e1 x# E  b4 g$ h- b" K0 i- `5 S4 o" v: F$ H# |
   add_action('save_post', 'save_site_wide_notice_meta_box');  D8 ?( g4 ^4 y& n* `
   function save_site_wide_notice_meta_box($post_id) {6 P) v( [6 j8 B" C
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
8 c5 F5 ^4 k0 G6 E         return;) z8 L, `2 F3 V4 {# ?
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)4 }6 b( P- c! p+ X) `0 o( O0 E/ J
         return;
+ R- x) \/ ]# ^* t, k# E  }5 }: C! X
      if (isset($_POST['notice_title'])) {5 @7 V- A2 b$ W$ h- k
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));- x* t- n5 U9 b
      }
4 o) d, S& q* X3 K) w) G1 u  _      if (isset($_POST['notice_content'])) {- K! [" ?7 ^) V6 Q) Z- u4 Q
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
5 g( `/ U5 ]% L7 ~1 a9 _      }
7 t' e. d" r; R5 h   }4 c1 p( x9 s  ]' A" {
   ```
  O3 a  M2 K# w5 d; _, Z6 V
/ F, G, o! ?; L, H  y+ O   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。  s$ t' A# y: U

) e8 e2 W$ c2 ~) X9 w3 k4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
+ {' i  x: O7 i1 T+ o1 ]2 k" }. c/ p% n
   ```% q* ?" ^6 o. k* {
   $args = array(+ p& o3 N4 E! X# {
      'post_type' => 'site-wide-notices',
  ^& ?. W5 w2 v# O, t' O      'posts_per_page' => 3,
1 ^  |( d: u4 R9 X8 E      'order' => 'DESC',
0 O9 s- ]( k8 v5 Y      'orderby' => 'date'1 @. W$ o; R  p/ j8 O! V$ T/ U
   );
( g' o8 H' C2 B- l% L1 m# l   $query = new WP_Query($args);
, Y; f" F& ~, I; {. |/ I   if ($query->have_posts()) :/ @9 D/ {  o& ]- Y% q
      while ($query->have_posts()) : $query->the_post(); ?>. P) W6 [, K  z) P* a/ r6 q
          <div class="notice">
& Y& ~5 t6 N2 d3 H              <h3><?php the_title(); ?></h3>  k1 [' t- y# b  t& f: P! b5 s2 V
              <div class="notice-content"><?php the_content(); ?></div>) K! {) @8 E* H$ @5 c% x3 {8 N
          </div>
# ]& \; d0 ^; }/ @      <?php endwhile;* |& S! c. P9 I9 O$ D
      wp_reset_postdata();$ z( O+ I  t0 b9 X  X& o  y
   endif;; T0 `/ o) s" P* R- t
   ```* B$ R2 `0 w# D( c* t9 t
8 e' B, i  s' Z1 E+ g9 h- v" f
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-16 05:39 , Processed in 0.070248 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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