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

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

[复制链接]

338

主题

520

回帖

3456

积分

管理员

积分
3456
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:3 e5 z/ F7 `( J9 ^" o' M: [
1 B  c2 X6 }9 o# m7 K9 s2 D9 q0 e
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。) D( Y% ^9 _% P  {9 Z% ~( F- P$ m
4 u9 v7 U9 D* M: i0 m/ ~
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。  l2 \- ~  @, R6 {, N* c* @$ N

. y- d+ C" q2 y) N3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。4 @6 x: R+ g/ O/ z: N" G& |' ?

' I9 J9 Z$ C9 F: }4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
6 X2 D9 o; {; r5 F
. x) W4 s+ N, s3 m注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

338

主题

520

回帖

3456

积分

管理员

积分
3456
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
+ k- i2 L6 _$ H  u, `1 J3 W6 L5 E
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:( k% F9 f* I- f7 `4 b* Z3 Z& C& b
* }0 q* K4 a  j& f" X  c
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:: g: I& f1 N  C- M, c

) H9 s$ G. f. o2 b4 X' T# ^: B   ```* b% d1 P) X6 d5 S2 _4 T5 j7 f
   add_menu_page($ C9 e+ |; a# T" c- u1 g
       '全站公告',+ h& \# A4 n+ @# h+ v% B
       '全站公告',
, C" ^6 y  u& P6 b( q+ k       'manage_options', //需要的用户权限4 k+ |$ w; T/ _0 L
       'site-wide-notice', //后台页面的 slug  t& L; [, x; Y: C8 A) i# r
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数0 W6 F& R. G8 M
       'dashicons-megaphone', //用于显示在菜单中的图标" N2 z! k% i6 }9 Y( B
       30 //菜单项的位置1 ]  P' v. p$ ?! C$ Y3 d. Z1 F
   );
, E( n0 c; R5 w8 h- c   ```
! g: b+ t  k% c5 `% B
$ b  K- m1 a9 a( b6 h. F/ A/ t   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。' g4 A( c6 K& R! Y/ o/ b' v! `. c7 {

4 @- [% Y+ c1 m7 i/ z; {" a! J( Y2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
' C7 X$ }2 q; {/ h) M% u" b+ i
/ ]3 S$ C1 M7 Z. Q   ```
% z' `; N) u& I   function render_site_wide_notice_page() {6 S& t. @7 d2 u  W' }' r" E
      // 渲染后台页面内容
; R8 l% H  T% l+ q) [      echo '<div class="wrap">. }5 h* n  a+ k5 k7 }9 a- B
          <h2>全站公告</h2>* m4 D7 N; f1 Q3 F$ c4 Q. d
          <form method="post" action="">
& j' n9 b7 Z% @8 i6 I8 Z              <label for="title">公告标题:</label>
7 Y2 D% U5 p8 v# o) J3 h4 z9 F              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
6 J0 B/ ~8 u. D& x              <label for="content">公告内容:</label>- g! @  M* h2 j+ b! |9 C: [7 S, O9 w
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>1 A: X( l$ l3 K  m
              <input type="submit" name="submit" value="保存设置">
$ G5 ^' s, @2 X% r          </form>
+ M( A1 {" W/ h2 t2 J9 x$ N      </div>';4 A& ^7 F7 B/ E% h- F
; e" Y) w9 l0 k' |0 [3 d3 l7 K% u
      // 处理表单数据7 H- t5 s1 L! C$ `0 Z2 |8 K
      if (isset($_POST['submit'])) {$ X9 x7 G+ j9 a
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
% X! O. m, D( t" U5 g3 d          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));! i$ @& \6 |7 s. j* Q/ c( ]
      }5 `; I( p# P0 J6 I
   }+ o; z  f( j! C) t5 Y. ]
   ```
+ F5 w8 l+ }! }$ d. ~1 f1 v- z$ l% b0 P9 M) N/ d8 F+ e( l
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
3 A: M3 o. i# i0 E
: D8 G2 |8 p' Q3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:6 F7 Z* v0 [  w! N
' K4 k7 y' R! u7 z& h& u/ q& _
   ```
# e  \7 i7 [3 y0 u# H& q   <?php
( B" X& D+ o# I& n* `, U$ o   $site_wide_notice_title = get_option('site_wide_notice_title');6 d/ A6 u$ D( r4 _, v( p4 |6 J
   $site_wide_notice_content = get_option('site_wide_notice_content');8 M5 U2 F! K8 S+ @3 M+ r
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {# \8 D# n. M% w: T
       echo '<div class="site-wide-notice">';# ?5 o4 z# k: M
       if (!empty($site_wide_notice_title)) {
! w& f$ N3 F$ V$ i6 t           echo '<h3>'.$site_wide_notice_title.'</h3>';8 N. \2 D' U: n1 ]
       }2 f- I: M- Q+ o0 B/ C# h4 O
       if (!empty($site_wide_notice_content)) {
0 `8 E! S8 x1 B6 |* i1 ~- ?* M9 ^           echo '<p>'.$site_wide_notice_content.'</p>';
6 ^. m0 |$ r/ p+ r9 D       }6 x3 p7 W6 u8 Y! b
       echo '</div>';
8 s1 z0 y- H5 ^) M/ W+ n- W   }, }' e! G1 {2 T" }
   ?>- e( N* `! x# X9 v& I; j
   ```: P% M2 j& B  A' y& r( J
& e5 k- j- i1 c# P  S9 l0 ^: ^" N
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
7 b8 I1 a/ a' o, i$ H6 Z7 a# }8 A* |! O
4 g. U7 t6 D' M" B& G6 e7 ^+ @, A9 [请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

338

主题

520

回帖

3456

积分

管理员

积分
3456
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
: Z: o! _. Z* ~7 p! d; }6 x6 T- o& g  N9 D. p' O% l
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:' a$ ?7 ~0 @7 v# b$ e! j
: b$ I- Q3 D& g! s
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:7 h0 z) P7 _* K% H
; |5 [1 g+ n! D# X
```! p8 _' Q( k6 K  `! H6 h
function create_custom_post_type() {
5 Z/ D$ `5 L, b$ ]9 F/ I1 o5 y4 h. |    $args = array(/ [- I% b' K6 B5 W# r7 Z- I5 T
        'labels' => array(. N) `* t9 D6 S3 ^+ f  l
            'name' => '公告',
2 M, c: i0 X. k" @8 R            'singular_name' => '公告'% \( K* G/ ?1 M
        ),
& f* K0 O9 W/ C" v8 X        'public' => true,
& Q8 T9 f# J' o- z- O: U2 Z        'has_archive' => true,8 c: n- ~0 O1 f6 m) v
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),& @- M7 T' m" G  a6 S9 k
        'taxonomies' => array('category', 'post_tag'),
$ l( s; P, i5 O; e0 l5 {        'menu_icon' => 'dashicons-megaphone',
5 ]: \' B4 ^) T        'menu_position' => 5,
( [# s, O( i0 Y$ S        'rewrite' => array('slug' => 'site-wide-notices')$ M( c. ^2 v. H1 [
    );
7 U& K2 P! g* b8 T8 h: T    register_post_type('site-wide-notices', $args);' b% G/ N! _1 q& s  Y+ m
}
! d& D8 m8 |: Oadd_action('init', 'create_custom_post_type');3 ]) ]# Q+ _8 @7 R6 i" h7 `) M
```
) p+ z4 g* a5 D. S  W3 @( D/ X3 K+ o& z
3 R+ M5 V- A- M" v9 p在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
& X- t! @. A& }) N3 X7 v
4 b9 C3 G5 L0 I* E5 N- L" L2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。, n7 [/ m0 F( f- ^8 d) k1 e! Q+ |5 x: [
9 z% l  I; e7 _3 n
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:0 ^; Y9 D( L4 A- A! j9 d
  B& x% l; i7 ^+ \( E
```
* S& K4 \$ H9 @/ u1 u5 }$ p2 `$args = array(6 j7 \$ \3 c9 i" G/ c: @6 |
    'posts_per_page' => 3, // 显示的公告数量7 j) s9 I3 j4 [' s0 y
    'post_type' => 'site-wide-notices', // 公告文章类型# j3 u3 \% x# U
    'post_status' => 'publish', // 公告状态6 w, \* `% ]( f0 b+ U
    'order' => 'DESC' // 排序方式( G: O7 x. b9 M3 N8 c' p
);! |% s, I& ^$ z! u8 t! Z) h
' i) g# S! S( z  Y0 H) U
$notices = new WP_Query($args);
0 U- n9 m; }2 l1 Wif ($notices->have_posts()) :% i; T! w8 x9 R8 B
    while ($notices->have_posts()) : $notices->the_post(); ?>
  \$ E; o+ Y; C  x; E+ {! n        <div class="notice">
4 G: i, W( A$ f/ M            <h3><?php the_title(); ?></h3>! `$ J+ V2 n$ z  s+ `
            <div class="notice-content"><?php the_content(); ?></div>0 f; e' ~9 f: h& K
        </div>
1 N# N- ^: f1 V" a, ^' i$ _; c3 @    <?php endwhile;
$ J0 [& L  M9 I2 ]. }# kelse :
8 G; K4 ?, O) \2 c4 y    echo "暂无公告";
" w7 K' v) n9 G5 f& s' Pendif;4 x0 v+ r" T& ?. T7 P! Q, g
wp_reset_query();
! K& m* `" Y, Q8 {& o5 n5 }9 o  H```
% o% U1 _% k0 E3 e: n+ m0 i8 M1 S9 C$ i. \
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。6 q7 E/ _; j! x( d% A

; J6 a% B+ v+ x+ [: i* v; O8 `6 {以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

338

主题

520

回帖

3456

积分

管理员

积分
3456
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
6 I6 Z  M% C! D9 [% z$ M, a8 X  n. y2 C+ f$ {7 Z; c- A& P4 A
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。# T+ G& L; {+ V( P7 E
2 H9 w/ p' O1 e, W/ l( N
以下是创建自定义插件的步骤:
0 u* P* P7 ~! H1 Z' U" J9 M
# c3 p# d) c% I1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:, Y. E9 M/ D9 ]. b& v

5 S1 d0 W5 W0 c2 t; O; u: n; Z   ```& l5 h5 q' h8 P% a& Q
   <?php% h- h# X; n/ Q% \2 g
   /*9 l7 C6 P3 n+ u# l' C! O
   Plugin Name: Site Wide Notices Plugin
+ a$ B6 T$ u( b9 u4 p" O2 [: J   Description: Adds a new custom post type for site-wide notices.
, y2 U; h% }( S, o   Version: 1.09 p- v+ [" A: Q: \4 P3 y
   Author: Your Name
6 i: k7 n" B% j5 l+ y/ \- p8 A   Author URI: http://example.com0 O* Y4 }6 E; v: F. w
   */
3 I* |# f2 I4 `1 ^: H
- E6 n  Y9 |" y% e* b6 I# J; w   // Add plugin code here...4 x; N+ x" f8 l- Y8 N
   ```2 M% M' C% V( p. K& u
/ c3 M$ b4 q3 n- F
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。: V; k, B$ l  x* M- j' R' r. R

; v  _2 a( M' ]$ r- I" w2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:+ b5 N$ e9 Y! w! K, o

" E- J0 k) _5 j. I4 [   ```
- g+ e3 O# v& Q* u" j! Y   add_action('init', 'create_custom_post_type');
$ L3 _2 v2 f: _0 k5 m, `3 r5 ?   function create_custom_post_type() {
6 \* _: `3 g* N) H) @      $labels = array(
8 q- Q% T( H5 i$ K          'name' => 'Site Wide Notices',
0 J7 n: O' X' T4 j! B, [          'singular_name' => 'Site Wide Notice',
: G$ U# m/ w& x" U          'add_new' => 'Add New',/ ^5 A' @  L$ O% n( |2 l
          'add_new_item' => 'Add New Site Wide Notice',1 Y/ [$ T/ R( ^0 E& z
          'edit_item' => 'Edit Site Wide Notice',
- l" l9 {( O/ i0 ?2 S& G          'new_item' => 'New Site Wide Notice',; q, ?2 z& C% |) z8 l( m. i5 \& x0 M
          'view_item' => 'View Site Wide Notice',# U9 p/ E5 k, ]3 G1 B/ a
          'search_items' => 'Search Site Wide Notices',
# e! o. z; g$ |3 p0 `" K: `          'not_found' => 'No site-wide notices found',8 F$ d4 Z; T" r* J) E
          'not_found_in_trash' => 'No site-wide notices found in trash'8 q. M  q7 H" w" ?4 m1 T
      );8 [5 A! [& ~% U0 f3 o( V. h4 a% a

6 Y% S1 b5 m6 B9 ]      $args = array(/ F- R1 x' Q4 j
          'labels' => $labels,5 A2 Y( j; N5 G' m5 f' |8 P
          'public' => true,+ u) N7 g1 @* a' b
          'has_archive' => true,
7 \& X( X, j9 r2 r$ O% R          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),: T9 W$ O7 r6 H* M, b, q6 r
          'taxonomies' => array('category', 'post_tag'),
* M- h% G% \' ?* |7 R3 Q          'menu_icon' => 'dashicons-megaphone',
" s  M- Q, |3 ^          'menu_position' => 5,: x- U) X+ S8 U: z
          'rewrite' => array('slug' => 'site-wide-notices'). f! Q, L+ [; r5 g. f
      );3 h. h+ q  c/ k1 \- A+ g. y$ \
+ e, Y! y/ _1 \% w9 w9 T
      register_post_type('site-wide-notices', $args);
$ X4 @# R  B7 z" h   }
) H" R& H: i3 c' N- W   ```* O( Z2 D/ l( m" K3 Q2 H2 Z. M

: l# V% f& Q5 E4 F6 E0 U# y% p3 _   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
( {6 N: j& U* ^( Q; D! y
$ S) I) ]. D) b$ X% {( ~9 |3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:1 Y; p) l+ c! l/ S

! {4 G) w5 u2 T% z7 J   ```
6 N: R4 W! i, ?  _- F* {/ m   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
+ G& O: Q6 M: T/ L. L8 H   function add_site_wide_notices_boxes() {
! ^# U! s. L! N( O      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');: f% R, h3 |# W3 @
   }, ?- [) ?, l( o  S( G; @
9 J' }/ `5 R4 E3 j5 i% U
   function notice_details_meta_box($post) {  ^+ O* i# U9 ~$ ^
      wp_nonce_field(basename(__FILE__), 'notices_nonce');
6 H" J& z1 h, X7 _      $notice_title = get_post_meta($post->ID, 'notice_title', true);
& G  k4 o2 G1 B1 }4 L+ u+ T      $notice_content = get_post_meta($post->ID, 'notice_content', true);( E/ k4 P7 m' T% b: @: }
      ?>1 D& c2 |) f; |& _
      <p>* s% r7 r# X( `7 X( K9 x1 p6 }
          <label for="notice-title">Notice Title</label><br>! H  t7 q# c) n# n  m2 A9 ?5 r+ i
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
% Z4 B& a7 C% f3 l/ x      </p>
2 F9 T. y, W2 K* U      <p># u4 k  A! K( C0 L
          <label for="notice-content">Notice Content</label><br>2 v+ f0 W( w% F: B8 E" u; }5 u
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>' b- ~8 Y( f. A3 d2 Z1 r
      </p>
; j5 ^& }, z+ L/ l; j      <?php
8 o$ n/ C! |3 T" P$ N' n2 j) I# j   }  \5 w" ^" c, V
6 W0 m% h  I( E
   add_action('save_post', 'save_site_wide_notice_meta_box');
2 d) l/ L3 H  s% |   function save_site_wide_notice_meta_box($post_id) {9 R8 p. b  i$ ~+ m6 ?5 }
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
2 I8 `* {3 E' O/ z( D( w; a         return;
+ b- t  \/ Y/ ^8 n      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)1 B; N+ M: y1 G) v- F) ~
         return;
8 R  G. n& W6 ?2 q
1 J3 Y3 y& J" ~      if (isset($_POST['notice_title'])) {
* p9 S+ d! c" R: R" a          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
2 v2 b7 \( M! ]" D      }9 ]2 X6 u6 h" Q9 y
      if (isset($_POST['notice_content'])) {/ e0 B- K/ }5 b7 X8 u3 {
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));, M& S7 J) s3 s! J) M
      }& V) K# i! D. l6 x. f/ {
   }% V& k" b; q- w" t' r: D% C% O4 b
   ```
( t( X6 }$ y3 k, O1 K4 f1 d& `8 J4 A- S
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
, |+ |+ K- ]! T* k1 A
' q1 q4 D* H- w4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:+ P- b" k$ i$ M1 g7 C* Z# {( q
1 C- z! J% t2 B* T% i
   ```9 U. m" `4 Q. h" S
   $args = array(
, K0 ~/ p6 H8 \8 t, L' J      'post_type' => 'site-wide-notices',
4 E0 Q1 h% _9 @) {! H6 s# o( t( K      'posts_per_page' => 3,0 [/ A: D) N( Y1 s8 f  }; Y6 r, h; g+ s
      'order' => 'DESC',# i" B8 ^% e' ?/ s  a9 `- v
      'orderby' => 'date'/ r$ ?0 a9 U% h* x. Y) w
   );/ j6 s% _( x$ e3 ^5 v
   $query = new WP_Query($args);5 N. y8 R$ |/ u
   if ($query->have_posts()) :: v7 g) d  k) [, j8 |5 p# ~
      while ($query->have_posts()) : $query->the_post(); ?>, z; A( ]. h1 ~$ m, w% U2 L  Q5 d
          <div class="notice"># \8 ~1 n9 |8 w/ ~8 V  K
              <h3><?php the_title(); ?></h3>/ G3 q! e) f8 N
              <div class="notice-content"><?php the_content(); ?></div>
5 T% K/ `" }9 U          </div>
6 S+ h- q+ |, c6 T# m( q      <?php endwhile;5 U1 C" y  J: U' k/ P4 Y' H
      wp_reset_postdata();
2 h3 `- e: B! ?% f  c2 W. ^   endif;+ v5 `+ j$ D1 J& k9 \6 a
   ```' y0 n; U6 K1 ~( Q( k

( s% |! @4 \+ e1 f* s   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-28 09:28 , Processed in 0.017545 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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