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

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

[复制链接]

331

主题

511

回帖

3349

积分

管理员

积分
3349
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
. e$ ?, j; Q0 T$ U
2 A, y) u4 A8 t* r3 x; f1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。  |9 o8 k- e, R  b# S
; W4 x$ J8 o0 L9 I; R
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。" g2 C# B+ Y) Z  z) x7 I5 F& m
! c% `  g9 ~* ^
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。3 C% `, E* b( E1 U+ i# s! a& L
1 E! V: S  x) y) \0 S
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
# r! ^- G% d# D. J7 Y; C( W, ~# m1 x! U6 \: Y5 V
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

331

主题

511

回帖

3349

积分

管理员

积分
3349
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?- L. K3 K/ b1 q1 U

: l6 j; s/ l3 z+ K0 Y2 N7 v如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
* B; n7 }& |$ ]$ s0 s5 C' t! z8 M" L* i  R5 H
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
8 Z% p+ b9 V% `( c
3 H1 l, ]2 `9 t; d) T5 u3 z   ```
2 m1 I2 b# g. @7 h, h! S   add_menu_page(# y2 Q6 l2 a3 `  l
       '全站公告',* ?9 B! B& y- L# p% e8 {+ w) T1 n
       '全站公告',
1 Y! `' |3 ?$ v! ~! F! d  g% e       'manage_options', //需要的用户权限
$ {- ^* x" d) y& n       'site-wide-notice', //后台页面的 slug& |6 n2 j* a* Q6 p, F9 P4 Z
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
# u4 x& [* l) x; \       'dashicons-megaphone', //用于显示在菜单中的图标+ E$ S% ]4 @  c0 a8 o4 K8 n
       30 //菜单项的位置
2 A/ d, U4 M; X: m: K! q: Y   );
% a. k- h- l- Y+ c; ]  w: T   ```& X! p9 v3 }6 u# A, t  |* j

& M9 U* [+ W! D# S8 [* i/ @   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。+ A2 [$ `. \5 |6 F, k

. |* M) H7 R  z2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:+ J/ X( \% Y; d! q* k% z
+ s& J# d: e5 R( F. x) E
   ```
- s7 i7 A/ U2 y+ U   function render_site_wide_notice_page() {7 o" T8 F; P& K' S6 R
      // 渲染后台页面内容" S7 [, j# f% B( e# ?  ^' g
      echo '<div class="wrap">3 K, o, _' T: d7 X9 G! i. d- j7 I* Q
          <h2>全站公告</h2>) q, y  z- k' l) H3 h
          <form method="post" action="">
4 g: C4 Q0 J! n! K, N$ @              <label for="title">公告标题:</label>
+ X1 u/ a+ m2 a( \8 J              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
7 X$ M, j2 i* x) W! A              <label for="content">公告内容:</label>6 ]' I0 P! k, w. u4 W
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>8 n9 P+ e. S) ^: O6 _
              <input type="submit" name="submit" value="保存设置">; H9 A& _% V8 H+ Z
          </form>
9 N5 z6 L* o4 u/ I! z! p      </div>';# R% Q+ t2 \+ X6 z
2 u) |# W9 |; A  b: t
      // 处理表单数据( G) t1 e; d3 Q. v( {9 C$ v
      if (isset($_POST['submit'])) {# z2 F1 \3 A5 Y9 M4 J
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));  Y8 F* a, |& W7 i  z
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));8 i) X$ l: G$ y; j0 t7 G0 {# F
      }& h4 Y# _& h; o" k
   }
2 N$ H( O+ @$ g" k! Y6 u" o+ h4 _   ```
' x& t1 |1 i' C1 w
% }* u2 H4 a% s4 N* W8 p1 p/ |   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。5 }3 J. r( G+ \& [5 J9 A# c
: Z/ F* N4 [* F7 J* i
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:7 X& U2 U) p& p5 r2 T
: _6 f# a# B; E$ o$ I5 L& q, s
   ```
" Z/ Q; _6 M: w. L9 q$ K   <?php
5 ]& S; J$ Y+ n) q   $site_wide_notice_title = get_option('site_wide_notice_title');3 S1 Q5 w; o: v8 ?( a2 d: H
   $site_wide_notice_content = get_option('site_wide_notice_content');
* b' }  @& S1 z# |   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {. [5 M2 m$ I6 {2 k  l
       echo '<div class="site-wide-notice">';
8 s  o% k% k4 m$ w: R7 o, e       if (!empty($site_wide_notice_title)) {
  e- c) e) [9 G           echo '<h3>'.$site_wide_notice_title.'</h3>';6 O' D9 V# z( E$ c& r' V% T
       }" e) B8 s0 l  ~
       if (!empty($site_wide_notice_content)) {
6 i0 R9 U. P0 M. W           echo '<p>'.$site_wide_notice_content.'</p>';
6 m( c3 w* r$ v; W7 o       }* P4 I6 t: U7 M0 P
       echo '</div>';
! Y- Q. m- w+ F3 h; S) W) |* z5 f   }5 \* [  F% v" ^$ [" m( ]1 S
   ?>) E. ~% |  {5 s% u2 V) x
   ```1 U# ]" b; y  j/ x& l

2 m" U- Z; k2 @1 _5 E   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
9 y: b6 \# @' @) u/ D5 Q3 A2 f, I: K" t, k) b+ g/ T
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

331

主题

511

回帖

3349

积分

管理员

积分
3349
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
3 r- _. t* [+ \
9 d) w3 E/ M) M/ @9 t您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:( q* w8 i5 {" G& G! o9 X( m7 u

0 K3 m6 }. @- c% Z3 t* r( A& U1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
7 U. q  Q5 ?; [" H/ _* d. l8 B
```% L0 Z9 ^1 B5 v
function create_custom_post_type() {% J" _. N/ M6 E, I( @- s
    $args = array(9 \7 K) g, B8 }$ H4 c
        'labels' => array(
4 R- Y& A1 N: v5 v            'name' => '公告',
$ k* e4 Z2 m$ K2 y& D4 C# P            'singular_name' => '公告'7 M9 k, T7 {6 S3 O4 t; K* [
        ),
2 X: P" `( B- V7 k8 c7 S        'public' => true,
  [* ?1 i8 _, j        'has_archive' => true,
; n1 ]4 d8 O4 X' q+ ]1 g        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
2 g( k5 Y1 ?' p* b3 ^, L        'taxonomies' => array('category', 'post_tag'),
: m; K+ E- t& ~        'menu_icon' => 'dashicons-megaphone',( W3 \2 F3 p0 F1 e5 N6 x
        'menu_position' => 5,, G+ n2 {4 e% r2 {1 V3 a5 g
        'rewrite' => array('slug' => 'site-wide-notices')
# R1 j$ l3 Y5 z7 n+ q    );3 W( F" K# h9 H8 M. r8 I
    register_post_type('site-wide-notices', $args);" g/ G/ c$ U. N: z4 v9 G
}8 \7 S: T1 H& B  m
add_action('init', 'create_custom_post_type');7 A# X( N& ^/ P8 j7 G% y
```  d/ n( f# z; L2 K# P4 g1 O! Z

  k4 \, \& _. g2 a在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。; H) }2 ?0 Z4 |! d! n# q

3 p) y5 q  I# B5 V0 k. ]2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。# A* j* _: @  X4 G
& J) l; ^$ ^. I/ `: X  b
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
3 P" w: z" q' d; }! W1 ]
* _6 f7 @. L; u3 T8 S```
. ~) u  p. [+ }$args = array(
- S8 E& c& n/ v' q    'posts_per_page' => 3, // 显示的公告数量  C) w- M5 z3 n4 H, m7 m
    'post_type' => 'site-wide-notices', // 公告文章类型2 T' J$ c, ~" c. Q3 N
    'post_status' => 'publish', // 公告状态
$ m3 }9 K( ]# ]& x' ]2 z    'order' => 'DESC' // 排序方式
7 `/ q% X2 j1 o, V);
. g  p7 e7 Q7 s( j1 _, K+ o! r) C3 u. t1 Q
$notices = new WP_Query($args);) F2 P4 ?, T6 L2 K
if ($notices->have_posts()) :
# J% H4 r& p+ y% t- y    while ($notices->have_posts()) : $notices->the_post(); ?>& [7 w* y' V9 J! T4 W# J5 G% w& t% C
        <div class="notice">& h* A6 A7 ?% k" t' t% n/ f6 n
            <h3><?php the_title(); ?></h3>
  V% `6 X' O& F% u( X            <div class="notice-content"><?php the_content(); ?></div>) H: w$ o1 V$ Q2 h5 d( l
        </div>
" F. x" a4 Z; C: q" n( ?. k- f    <?php endwhile;
% {% A  q9 {3 Z9 v$ i' p1 U" n# r/ eelse :
7 D6 q$ }* y7 [$ X    echo "暂无公告";, d, x1 N2 a7 _0 D  H3 A% v  Y8 e
endif;; E4 G9 Z  b3 x$ D1 Q4 E
wp_reset_query();- K8 K1 y, r) B/ d6 x% w- Q4 R
```
  F. s5 [1 ?; v6 _6 z+ x; J4 |% }( o- {+ B# b2 ]/ y$ m
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
' P2 w" X+ l; O/ q& z, `5 K2 ^+ d* C& k9 p
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

331

主题

511

回帖

3349

积分

管理员

积分
3349
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?  {$ p% L4 i8 F* S
$ Z% d, W/ k, q
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
4 p" G  _" @2 ?# N9 c
; w' l- O' r* @以下是创建自定义插件的步骤:9 d$ [# B- S; Y, r6 ]

6 _6 S0 y0 V; z1 J; O1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:( R$ w% I; V( G% Z7 |5 p

, g  r% A" j- }; j* F5 u9 R4 i* l   ```
& b* f& g( N% b) ^/ Q9 \: [   <?php
& f  s+ q1 A; G) U7 Y, c- w   /*- o1 }5 G3 l* f  W# N( M, d
   Plugin Name: Site Wide Notices Plugin. y1 |- Q9 l% d) N
   Description: Adds a new custom post type for site-wide notices.
4 q, T. {! z# ?3 u' X+ X   Version: 1.0
7 t1 W5 G* y) r! k   Author: Your Name
  s- Y1 G; X$ d( P0 u   Author URI: http://example.com  ^+ C6 S) P- ?0 q5 Z( Q0 V
   */- C  K; I9 k; z0 S7 t

8 ^( P) B+ W4 h7 f' ^   // Add plugin code here.../ G+ K* p: m' `# y1 H' p% c
   ```
' }/ p8 P( J$ Y/ G; Z, M* Q' r" e9 B, ?. `$ L! m, J
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
; f( m' t' \, O1 D/ s' A" q& s( p& C+ r( u) ~
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
& ]: t+ b# I2 m0 ^9 Y* W9 D5 b
5 M8 T/ n# {: f( i5 p& n   ```3 X+ n1 \( V# i+ G' L
   add_action('init', 'create_custom_post_type');
7 S  |' s8 h$ h0 B. m+ U% ], ?( X   function create_custom_post_type() {
' P2 J$ v8 D6 \  J3 F5 C4 {      $labels = array(9 z  z1 Y4 q: c! `, j; l: w0 A0 J( ~
          'name' => 'Site Wide Notices',, y; q' l3 z# b9 t2 l- S
          'singular_name' => 'Site Wide Notice',8 K4 x& w1 M- a/ P5 [9 O" U: b4 a
          'add_new' => 'Add New',% p6 B6 D1 d$ G# n" i: S# R
          'add_new_item' => 'Add New Site Wide Notice',: ?0 g3 w. e* s( {, ^
          'edit_item' => 'Edit Site Wide Notice',& h  X( O+ Q+ g' g2 h# }3 X
          'new_item' => 'New Site Wide Notice',
, R5 X- D, j' {! {          'view_item' => 'View Site Wide Notice',) D$ s6 G3 G* e  p2 e; _
          'search_items' => 'Search Site Wide Notices',( \2 ]' g  p: p( J# h  [% z4 F
          'not_found' => 'No site-wide notices found',5 R9 C- D6 E7 `1 y4 `
          'not_found_in_trash' => 'No site-wide notices found in trash'
( s8 L1 v% j4 N, r  L0 c      );. U7 f1 _0 n' c. W( o4 `
/ u8 i: {/ K( U. |/ h' n& W6 K
      $args = array(, V5 d! p# t6 a* B: W) ]/ Y
          'labels' => $labels,( W% k7 l( ~+ |1 H) T$ A
          'public' => true,
8 J( y" P" Z3 f" T! t  c: u          'has_archive' => true,9 n0 B; b0 C3 |6 I* @5 i
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
7 t, @2 y" I) M, Z8 L! f          'taxonomies' => array('category', 'post_tag'),' |6 y1 k5 U8 w, X, I( C: T
          'menu_icon' => 'dashicons-megaphone',5 E& N4 [3 U9 j- U* P
          'menu_position' => 5,
6 e7 I' e7 V. y, Y4 _          'rewrite' => array('slug' => 'site-wide-notices')
  v8 L- i6 |2 m; S) R      );' b9 B4 W9 Y& C% c8 c8 l% X1 x
  u; I9 G/ B# M( E* Y
      register_post_type('site-wide-notices', $args);- F4 Q& ~# u7 z. T1 B' R( V8 h
   }
* w9 j. v* ~1 D4 ?0 B   ```1 T0 n8 n7 K* l  {- x

: c! P7 z" K  ]0 A   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。4 G  M* u# ^  D. G# Q

* p; S# e. T1 y7 T3 Z3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:% ]) ^- B; s8 a! c' w
. k# }. s' P) {# S% p- E
   ```
$ \3 m3 _1 z* J1 U1 j! F4 r   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
" J0 Q, ~- l; Q: y6 S8 t5 s   function add_site_wide_notices_boxes() {
3 ~3 s7 V& T: ]      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');& e, M8 i- S. L; s
   }
5 {& a; m8 i/ y) U& g
# z% @* S, `% \, I; R   function notice_details_meta_box($post) {
' d2 E" s3 g, i( J, g      wp_nonce_field(basename(__FILE__), 'notices_nonce');* B( P# @3 ]7 c+ u7 v( _: T. F6 S
      $notice_title = get_post_meta($post->ID, 'notice_title', true);5 z9 k, N  `- A7 q
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
% k0 H* D6 u( F! d* M      ?>3 f) L! L# R( b/ w
      <p>! a/ R. M. ]0 [# w9 ]/ p
          <label for="notice-title">Notice Title</label><br>
9 G* a9 Z# G; M9 `; O          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">2 H2 {  t8 N& B& S) T* \3 ~
      </p>) p5 L5 y  V0 A1 C
      <p>
" b1 J' w$ D. N          <label for="notice-content">Notice Content</label><br>' e6 U+ A5 v' I) z& C0 _3 `0 X  N
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>. M. O/ l4 e7 p. \
      </p>1 J, O* l( P. H) v5 U1 O
      <?php
# I/ Z5 s+ l. i* A   }4 U4 G" a, p- K7 v7 R* Z8 h& N

( j! |/ v+ V/ [3 F4 ^   add_action('save_post', 'save_site_wide_notice_meta_box');6 V' \, T2 J; m2 y5 A
   function save_site_wide_notice_meta_box($post_id) {( l3 Z( f9 U5 y( W, y1 B! a% X* [
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))' n- p9 o5 g- Q6 R0 v
         return;
+ Y& g/ w# L& U+ [2 }0 k      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)9 ~5 I- n+ g4 N/ j7 r" N! i
         return;
% S0 k5 F2 a  |  ^. W
% N( h( b8 y' R8 o: i      if (isset($_POST['notice_title'])) {. T, c* t' h9 @$ }- W, b9 \
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));  X4 ~) @' u/ s" |/ V2 e, s
      }
7 Y* H3 M4 `' {6 H      if (isset($_POST['notice_content'])) {  H9 i+ v7 O0 y3 T1 L
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));" H: R" [- B" k: u0 t6 R% ]; v
      }
0 D" r- q. H. X, ^& B# w   }4 y, v6 n- ]) m! n; L% L9 O# m
   ```. M4 {: @* M, Y. V: w) G3 S

: f3 u0 A( {0 E" i( b   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。7 A/ R$ `) l% R+ R2 }# a' f- p

5 s$ W+ e* z% r, B) ~$ L8 W# q4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
6 H# X/ \% h( s+ Q( A/ G7 b' _; ^3 l/ V8 X: o; c' o3 q6 ^) r
   ```4 v3 i6 w* Q, Z+ R
   $args = array(8 C" J4 p  I6 T: F- `* h- ?
      'post_type' => 'site-wide-notices',% i6 \. {5 B+ D: Y; v2 ]) O( _
      'posts_per_page' => 3,5 }8 T# _, u* ~) L! I
      'order' => 'DESC',
" `, [/ p( W+ z" n6 a+ O" y      'orderby' => 'date'
- V* a# X; m/ a* u9 y   );8 E; }- I1 e' R* Q$ a/ y- Q5 D
   $query = new WP_Query($args);
" Y/ g4 S* }$ q/ e* Q  x   if ($query->have_posts()) :# {* g' M+ ~: L
      while ($query->have_posts()) : $query->the_post(); ?>
* A4 H* W0 n; z+ y5 }$ e/ G& ^          <div class="notice">4 `9 q4 ]0 t+ l8 v0 X
              <h3><?php the_title(); ?></h3>
* h9 v  |; n% p              <div class="notice-content"><?php the_content(); ?></div>
  ^" _7 r  r# m" Y          </div>
; p+ n' s+ @+ _" \  W. F$ ?+ G& |      <?php endwhile;3 S8 i8 s3 x: _/ Q' H
      wp_reset_postdata();
/ h( r+ h' Q- t* F$ v0 k7 e# k' M   endif;4 }3 O0 K5 U% n& T
   ```
4 B# @; ^) t$ ~0 O4 i
1 X4 |# e8 N! `! s0 ^& f   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-18 08:05 , Processed in 0.071671 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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