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

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

[复制链接]

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:8 g; k5 ]2 _. l. u- ~
" A/ _& o' v% {1 q9 I& \1 M: k9 k
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
* I: I( V. b5 V, l6 {% q+ R* t# }8 t6 s( ~0 [
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
7 {0 A# _5 P5 q8 g! ~' I$ z  E: a, C+ }; g: o+ |2 \- v  o
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
( [6 I# B' [* i: r! u. y/ Z8 _. P, u
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
) J0 I  ^' |2 Y4 Z9 K% C9 u
$ r& ?1 \6 d# `注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
: e5 B: b8 G7 H( `; _* V( S. \  N& G
  n6 j% @# m( }如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
9 f4 {8 \: h5 B1 `
& t4 y/ {! l6 W1 x% v/ a, r1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:, I. p( [# y1 H+ v# [
' g" ?9 Q, B$ [) A1 J
   ```, Q: v; l" n  g
   add_menu_page(- X4 ^1 e/ G$ |5 F8 h* ^
       '全站公告',3 a4 d% w8 |# l# @+ `
       '全站公告',5 P) B7 ~! a, C4 n! y( }
       'manage_options', //需要的用户权限4 E. X/ y& B, `$ m0 l/ k0 M, `. p, n
       'site-wide-notice', //后台页面的 slug
2 I4 F: H3 ?- I; ~       'render_site_wide_notice_page', //用于渲染后台页面内容的函数# p" s- J" B( h1 |1 ?: H
       'dashicons-megaphone', //用于显示在菜单中的图标
0 r, D- f" N# _; ]% k       30 //菜单项的位置7 f/ b8 |, g" R3 s4 C0 |0 c
   );
& J2 L7 k: {2 u8 ~1 [6 T3 K. ^! S   ```# s- p3 e1 m8 H5 j- I4 l

8 _4 ]( ~, K- ?2 N1 N* G   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。) B% c' d& y9 @  c+ D: L
6 U  r" U8 X4 b' p2 y! m4 z
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:0 f1 O8 w( o0 _# R
0 T6 N0 [/ h9 `4 @
   ```1 t' H4 @! s+ Z. M+ H- `
   function render_site_wide_notice_page() {
3 w* {# s, j' r# Q! X! n: [2 {      // 渲染后台页面内容6 _- e7 ^3 ^0 g$ `5 }
      echo '<div class="wrap">8 F1 H' h0 m* ]0 _9 B6 q
          <h2>全站公告</h2>  i1 J& [( u, j- o* z2 a
          <form method="post" action="">, g* v- e, O3 X4 V# m! s
              <label for="title">公告标题:</label>: ]* B7 P( @/ X$ J  C7 K
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
. L4 h% |; c8 K) p& }0 @              <label for="content">公告内容:</label>4 f1 k7 V4 c! L. f" X
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
% h3 G) f$ O' a" e5 w: L              <input type="submit" name="submit" value="保存设置">' L0 X7 e8 C0 k9 C7 j0 F: F2 b
          </form>
; k/ [3 B* R+ e: t; J      </div>';9 {0 [3 ?) E7 s$ E! q% P

* V; H* I/ z0 J( x. l      // 处理表单数据
( H  M4 L9 a0 j9 r" _      if (isset($_POST['submit'])) {
. e7 _2 r8 C  J  d/ o4 z& {( V2 H- [          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));9 {3 E2 j+ T2 J
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));' U* B! m6 J/ o- _
      }
& V# [8 o- r/ \# P! t4 N5 Q3 |   }. F# a9 p) H2 Y$ h6 I5 M5 V
   ```
. v0 F! b) h, P1 N- r: C8 |  M3 W# ^8 t% \" V7 c% h( n
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。+ J2 H& S6 t7 c3 o5 _+ Y) S

- p# Q; R  h- B' k4 j3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:- _, I  P( j" [7 n5 n% t: C

7 ?3 e* J) h' M; ^& D5 u! W3 L" d6 H   ```* N2 \& W+ d' l9 i7 R2 f" `
   <?php
9 n. D2 f+ X6 c6 }5 |! y5 V. P   $site_wide_notice_title = get_option('site_wide_notice_title');
- U+ X5 a  D2 g, O5 h   $site_wide_notice_content = get_option('site_wide_notice_content');/ J* W) ^1 A0 A
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {4 `- F& T) ~5 j5 N% a; e
       echo '<div class="site-wide-notice">';8 W1 D. @8 s) x# a3 B
       if (!empty($site_wide_notice_title)) {
6 `1 C9 z$ _, E# c* D           echo '<h3>'.$site_wide_notice_title.'</h3>';& t, h1 A: z" P. c5 H# W4 K7 A0 h
       }+ q3 v5 H6 Z: e1 t0 D: H
       if (!empty($site_wide_notice_content)) {6 P4 ?' {8 x4 a# O4 A8 y+ w
           echo '<p>'.$site_wide_notice_content.'</p>';' A3 a& j6 J( D% q$ l7 p  R
       }
: C, r& W3 }! R       echo '</div>';
( ~* [& ^" S; K# l, K# I   }! s/ R! N) V0 G- n, n
   ?>* P/ C; \. r0 i( L
   ```
% s+ H7 _" @# l2 q7 f- S/ B, b
  R! Q% n0 W( h5 Z   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。1 G2 g; e7 |" i1 {: ~( l7 u3 d, i

5 M7 ]% g# Y- ]$ r0 z+ D9 D请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
- U3 B% E9 Y1 T! @2 g; N+ p# Y. c2 w& ~% X; M3 B8 f, X! ?
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:8 W& ?2 R- t) W. L- K

7 f2 ]" ?3 @! U: W. K' X2 k6 P, H# J1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
# x* p9 T7 F* \# k4 H8 e7 i
, U* T4 w$ P9 r```
  R: O. [$ }+ u! b7 Efunction create_custom_post_type() {" X' ^. r6 H2 p8 l% D. n
    $args = array(* s; w' v2 {$ `! O
        'labels' => array(" c2 G/ z+ P5 `' p+ Q' i1 f
            'name' => '公告'," ^2 D' C/ s& j
            'singular_name' => '公告'
( Y6 n& ?8 W- C; x' H% {        ),
8 L% J8 p4 D  D- K        'public' => true,+ K( `/ c/ K% K3 F, n+ E# J
        'has_archive' => true,# \: c) M% x, n! w9 }5 O
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
% b/ W+ m& p5 Q2 S- y6 _* r: v- p8 k        'taxonomies' => array('category', 'post_tag'),
9 N# q5 Y' K1 r& f        'menu_icon' => 'dashicons-megaphone',
6 E: c+ Z2 q: `+ S, W        'menu_position' => 5,& A. F0 O" Z* |( e# L. C+ ]: ?% C! N
        'rewrite' => array('slug' => 'site-wide-notices')
0 x6 w% e2 ]  L& A3 Q    );
# A# t( h$ b2 x1 x    register_post_type('site-wide-notices', $args);
0 |( D' H# Z: D}6 \7 U' s" Z. B" A$ J+ i0 F& x% y
add_action('init', 'create_custom_post_type');2 X. |. i* \. `; u9 g
```, Q; _! w  h3 A# {
5 A( u: s7 X, J0 w. Z
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。+ V+ W- c* P6 G, A
2 @4 s4 j3 e- _/ Z3 W
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
! E* u8 ^- L2 x7 g( ?5 \* J% V+ j) y4 d8 h/ a
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
* J; R9 b$ T/ i/ Y; A5 j. S2 U8 B9 T/ u
```( \7 ~  \. S; w+ y7 u+ h% K
$args = array(
4 ^8 _, Z* ^) W4 B9 g, Y$ I# k    'posts_per_page' => 3, // 显示的公告数量5 `3 ~7 H9 c" _$ P0 `1 \/ j
    'post_type' => 'site-wide-notices', // 公告文章类型
( I! ~, J; p1 U8 q9 y. N. U    'post_status' => 'publish', // 公告状态+ T6 z! h- @2 _
    'order' => 'DESC' // 排序方式3 _/ k' I/ _! y7 y6 e
);: ]* o3 @  C: K2 ~0 A3 C* |% B

. C: R; |* ?8 \) g) A$notices = new WP_Query($args);/ h4 Y# u( }# W" K, r
if ($notices->have_posts()) :0 w0 C" J4 X0 F3 X: O2 V( }( g
    while ($notices->have_posts()) : $notices->the_post(); ?>$ z; w+ _6 T/ }: x" H
        <div class="notice">
! J0 M* X* C- ]            <h3><?php the_title(); ?></h3>
) N: J# K( e3 b! ~6 }% M) ^% @            <div class="notice-content"><?php the_content(); ?></div>
$ c6 [& o0 F( N4 o# P9 @' V' p        </div>
) [2 Z7 O5 G7 `7 L- b5 H+ e* w    <?php endwhile;
3 G0 j$ t, k# x) G1 \$ Zelse :
+ u9 G3 ?  v$ |$ m% v    echo "暂无公告";6 D2 t8 h" |2 x* C; i
endif;
" O+ Y# l8 ^. D/ C" dwp_reset_query();+ y) {9 m+ a, }! ^! d/ J& N
```0 G+ r6 Q7 M  _9 E7 [- e* p
+ x6 U$ \2 n9 W$ l
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
; t; C' g( ^8 u
$ |+ @5 e2 e$ c+ P- \以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?( Z7 j2 W3 n6 B7 [) N/ x6 z2 t. A/ ?
) ]1 Y: Z- _5 {4 t+ Y: b
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。6 q+ c! f+ V9 x
3 ~2 [1 u' ]9 s: K, \0 U7 t5 Z: q
以下是创建自定义插件的步骤:0 r; W5 l8 D! J: F
1 Y% j3 z' o' x- O
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:+ h, C2 f4 [2 g9 R
6 ~* R7 Y1 U. u) v: K, v( `$ ~0 y
   ```2 Q1 T- a8 A, _( ?% d
   <?php
* v+ V( \0 V3 [  F   /*: J% x1 b% |( T  ^3 w
   Plugin Name: Site Wide Notices Plugin  }! h  v+ ?& _& A3 [3 q
   Description: Adds a new custom post type for site-wide notices./ f. w' [% w/ r; y
   Version: 1.06 m8 G6 D( y$ s% E9 j" H
   Author: Your Name
% @2 _  H2 v; i3 [& S$ D   Author URI: http://example.com$ z0 \' F' O, V) h! }
   */
! `! X1 M, g  r7 R# }% K% L8 Q" k( G! F3 h1 @2 f, ^3 E
   // Add plugin code here...
2 E4 G# X; W/ J7 g; n* `   ```
" R$ ]: \5 I& C! U( ?. h8 U( m3 f% J9 m2 P5 ]
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
7 H) I. l% X  H9 H% E. z9 ~, O9 I6 d  b7 e9 @/ e) l
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:+ k6 Y6 e9 b& `+ _6 d2 x# Y0 E

1 d5 i- p( J/ W/ u   ```
5 X# A  h2 ~/ K7 D$ Q   add_action('init', 'create_custom_post_type');
8 B) L' R2 G9 K9 L   function create_custom_post_type() {$ A  L) c$ L& ?$ v  L
      $labels = array(
$ T1 y% X( u* `# n          'name' => 'Site Wide Notices',
* U* Q9 a( n1 U8 D1 a          'singular_name' => 'Site Wide Notice',
; Y: g6 n2 X. T+ |, @          'add_new' => 'Add New',8 m( L+ }, J/ m- c- I$ |
          'add_new_item' => 'Add New Site Wide Notice',
) O1 u$ {; x1 J& _( @          'edit_item' => 'Edit Site Wide Notice',
! E! c% i( E$ v0 N2 H          'new_item' => 'New Site Wide Notice',
; H2 L3 t& J! R0 Z( N- n          'view_item' => 'View Site Wide Notice',6 j8 @$ ^( C" t1 s" d" k
          'search_items' => 'Search Site Wide Notices',
  D: n. }7 I+ U: P3 f( C          'not_found' => 'No site-wide notices found',
* ]( ^: _0 N% s- Z& H, U/ r0 y          'not_found_in_trash' => 'No site-wide notices found in trash'% ~7 y: ^2 N8 q; o7 g
      );+ n9 B& A# I, c% S" V1 i
4 Y( ~9 A* h* y) w6 K" H4 A
      $args = array(
6 u7 H& R5 z* k. c. O( u          'labels' => $labels,4 ?- K2 T8 Z1 [- a/ G
          'public' => true,* ?  W7 H) r8 h' R, [; q* b
          'has_archive' => true,
& T* {3 g0 O5 _# s          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
: `2 e, X7 r' @0 @& P/ U$ t1 x          'taxonomies' => array('category', 'post_tag'),
) ^# o4 }$ m( Z- S6 w/ ]) S( A: z          'menu_icon' => 'dashicons-megaphone',( U4 k( a7 @6 B5 j6 |7 G/ z) Y
          'menu_position' => 5,
& o" O6 }  j1 f# ~# C6 w          'rewrite' => array('slug' => 'site-wide-notices')  ~2 ]2 S, B9 }% @( N6 u
      );
  @7 y! z% y  `; L: h6 \3 I
' s- O& K# ~, [8 U( Q' g$ H      register_post_type('site-wide-notices', $args);
9 u# p; ?/ |5 e' J( Y   }
( \& c9 P0 L! @  t# ~   ```
, Q- v4 x4 A7 S' d9 R9 i
( l- J; |% o& h4 R  Z   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
! N+ I! y* V$ K) t3 y
: h* Q* e2 ]1 |8 N7 C3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:& O6 z2 R! H3 d
& T2 g, C, M% Q% y0 W) q
   ```
* e+ V1 J9 G4 d, Y   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
: \1 ?! j4 h; A, q: u   function add_site_wide_notices_boxes() {$ T) I6 S+ Z: z: M: C5 r
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
4 e: V& m3 D. S* Z5 B0 S   }
0 C4 Q# n) T3 ?& v7 s1 i4 p
3 D% I( q" N4 a3 E: g4 |   function notice_details_meta_box($post) {7 [3 E* Q( \' Z  `( R
      wp_nonce_field(basename(__FILE__), 'notices_nonce');
0 y; v4 U; k, \1 H4 ]      $notice_title = get_post_meta($post->ID, 'notice_title', true);
; A4 `  X) z7 @1 D1 s      $notice_content = get_post_meta($post->ID, 'notice_content', true);
8 M8 r/ v: C( a- }, [& T- ^' a# s      ?>
6 J$ w/ U+ {7 k, n* `3 O4 D      <p>
4 p1 q$ J9 p$ E5 S, t+ b. p          <label for="notice-title">Notice Title</label><br>: N. J. X, c& ^1 |2 S' ?) \
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">  ?2 \7 k0 y" b* W/ M
      </p>2 G, h8 H! t) l& o1 ?/ ]  J7 f9 v
      <p>
; u  r* X) }+ ?2 G) Y1 J          <label for="notice-content">Notice Content</label><br>
# \5 Z) ?0 W3 t          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>' P& S4 b3 F3 ~, ?8 n
      </p>
! j4 S: K2 V7 s( z4 R2 ~2 S% F      <?php, d8 h4 U5 J; H% P  i5 m+ S
   }8 a0 h* Q: }' {6 U6 Z
) \. r+ |  @! ]& a0 v; @7 N
   add_action('save_post', 'save_site_wide_notice_meta_box');1 G) U8 `5 |; ], v3 X' e7 d5 q
   function save_site_wide_notice_meta_box($post_id) {; B/ I, u( A' G( E2 `
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))' y" y: X* S7 }0 N7 ]* {
         return;
% l$ q* M0 R9 @: J      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)1 T, l) ?' j! E+ A2 m; N; j
         return;7 D3 x* J8 }" b

* X, F; G$ v( S/ M: T      if (isset($_POST['notice_title'])) {0 S! `% V, Q! p
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
0 x8 E+ g, i3 d      }
$ J7 @  y' [: Z9 o4 q/ u! h      if (isset($_POST['notice_content'])) {! f8 [5 m1 _: r0 J2 `" h
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
0 }7 }# s: ^6 L$ y3 Z( Y9 N5 \9 z9 X      }( H; D; S4 C2 x& h! d
   }. R! @) q2 r4 u" m/ {) c6 z- l
   ```
. a- p% ?* t. L& o( C" r4 I' o+ l/ T" f( j/ S, h8 k3 i
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。( R* v% Z. s9 Y. Q) g) r

5 Y( z" V$ z2 a0 i4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:! v6 A& K. J# L- a' [9 i

- Y8 w# W, @7 \: B& `   ```
, g+ W- g, K+ B   $args = array(! _8 l: W+ s- Z. J& @# J
      'post_type' => 'site-wide-notices',
( ?; i) Q4 q2 R* v( Z7 u, f2 c% @      'posts_per_page' => 3,. v% l# S* h; {1 s0 f
      'order' => 'DESC',& n8 R+ r; C) D. G
      'orderby' => 'date'' y7 [+ h) K! L1 a6 f$ Q: @7 `. T
   );
' R1 s+ b9 i& B+ {6 W3 f, [) o   $query = new WP_Query($args);
3 @( J, x" q, y& p   if ($query->have_posts()) :
0 E1 _& b! ~5 R; _% }$ q      while ($query->have_posts()) : $query->the_post(); ?>0 r  L7 B4 r- V1 L  Q4 J
          <div class="notice">2 J& i( W1 `# d
              <h3><?php the_title(); ?></h3>$ w" p- I% }- v/ W* h7 d3 ^
              <div class="notice-content"><?php the_content(); ?></div>4 L5 t/ D5 ^# K% i2 ]
          </div>
: n! y/ |) h2 @5 A; A      <?php endwhile;# N' C' k% H+ P; ~" f2 A
      wp_reset_postdata();1 K: H/ c( E# ]
   endif;/ L& Y# o1 O, s4 w9 b, b$ v
   ```' t8 C. X2 p' a3 o
; H. b5 {1 b* ?% ~  J+ |2 ~- w
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-22 23:20 , Processed in 0.013678 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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