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

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

[复制链接]

333

主题

515

回帖

3385

积分

管理员

积分
3385
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:, }( h$ @: ~9 c
) x$ \0 X* O: l( |5 f
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。6 k5 O# ^+ `6 T, l

6 b4 h! ~; f- ^) k2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
4 b3 r4 D- V5 L; L( w& {; e- C( s1 |6 w2 G
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。+ J8 J& L4 b2 p7 g, v* V$ m
) q8 j4 U6 Z# c' a0 G: P9 q
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
4 j) }0 h0 L% f, ]. i' B" W" p
, C: C9 g8 W5 ^注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

333

主题

515

回帖

3385

积分

管理员

积分
3385
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
: e% n- u( Q- Z# [/ z2 @) ?5 u
5 s3 w* c2 z% d* T$ S6 ^0 z  e. U# C如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
# i  j1 f. P& `% `/ B& h; c
6 K4 t' ?. R' I7 h1 w1 T* x8 E) \1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
: `3 U% H8 T! r6 l- r% m( {8 Z
2 h2 g7 o. L! \1 x3 i- G   ```2 _  D. k& L& \& e6 K6 @! {
   add_menu_page(
6 B" l& m. s9 ^4 R9 g- U1 n       '全站公告',2 Z. N! {4 t$ P& d$ h, q
       '全站公告',
6 E6 g# a4 j! Y. U$ d/ d  i: @       'manage_options', //需要的用户权限( ]7 D* R- p# ?' w* D
       'site-wide-notice', //后台页面的 slug
6 q6 P' L2 M' ~/ F5 h+ G       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
9 E! r- [7 U' X4 E, [- V       'dashicons-megaphone', //用于显示在菜单中的图标
- G/ |& R8 V8 y2 C. t" A! [7 p       30 //菜单项的位置
  O& u% Z$ D" [   );
# ^1 v: E- Y" K6 N6 M- m. h8 L   ```
! I; y7 I  D2 ]# G; E" Q' s2 {" j5 P2 M9 r6 v
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
9 F2 Y6 h6 d$ ^# ?, Y$ a/ k2 ~2 I0 E2 Q1 c# d( u
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
9 A) q/ l, e( D* A' J) @/ \! x9 O2 r7 i2 x4 N7 k0 O
   ```# l$ F  |# `, b: U
   function render_site_wide_notice_page() {# J0 d' q- \; ?
      // 渲染后台页面内容
' r  g1 C/ m6 j7 g- }1 |  l( N, C0 i      echo '<div class="wrap">
5 y( _8 k. k3 y4 r% L          <h2>全站公告</h2>, ]% @% P+ c0 E) O' p5 [
          <form method="post" action="">$ Z4 t' Y' i$ W' w8 Z
              <label for="title">公告标题:</label>" ]6 d5 e- ]4 R2 U0 t& ?
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>6 d: |; o9 c6 m
              <label for="content">公告内容:</label>: M" }% Z0 Q# p$ W8 I1 E: C9 g/ z# X
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
8 e3 Y- {) J% Y2 I& z& o; H2 y              <input type="submit" name="submit" value="保存设置">9 u4 @: U5 C  \- |% y
          </form>! j( F, b$ _" `; ~0 N1 x) _
      </div>';
/ \3 x- D: N; w8 R; J: e) J0 g
. G% E+ a: x' J" O' K$ W      // 处理表单数据
2 r0 K; z9 b0 }7 C0 W7 z      if (isset($_POST['submit'])) {/ l6 g) r# O' j1 _8 u8 R+ N* H
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
4 Y2 n$ o8 h* q          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));. ]0 K. }; q% \( A: P; d: o
      }
' |! T2 ^# Y: |& C' T( h   }
- J: m1 P5 J8 o4 e1 l9 g   ```; Y% {2 @' H8 I
" c0 l. Q, U! C9 V7 y
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
8 T+ v0 v8 a' r1 a& P1 O9 n
  c1 V) R( W9 y6 T3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
/ R2 E: w0 ?% H+ d7 a8 N+ M- ^6 i) ]5 A3 [4 s. g- n1 W# V# }
   ```( p7 ]* s, @# F: R
   <?php
0 r! j: I4 D6 @' M4 U: v0 G   $site_wide_notice_title = get_option('site_wide_notice_title');" }5 `/ b- L9 p* J- D
   $site_wide_notice_content = get_option('site_wide_notice_content');% O. ^1 K& ~& @  a! |2 [
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {3 {8 `5 Z0 E! T5 }0 E* R& B9 k
       echo '<div class="site-wide-notice">';8 L. T# S. j8 t$ x, }) [
       if (!empty($site_wide_notice_title)) {% t" F: G4 E* }& ]( S
           echo '<h3>'.$site_wide_notice_title.'</h3>';6 t/ ?' p+ b, c9 L2 }* M
       }
0 R% H2 Q0 }3 a6 T       if (!empty($site_wide_notice_content)) {- q; [9 J$ V$ n/ i
           echo '<p>'.$site_wide_notice_content.'</p>';
! f! }( v& m& z; K9 _       }
  W* \0 u/ N0 C5 w       echo '</div>';
3 }  O2 v: A: u   }$ @" W  E' G( m3 q: G5 \: E/ ^) J2 U
   ?>/ f! J3 h5 }+ ^* ~
   ```3 [2 x. ?$ X& I# f! \3 U8 I/ Y
  i2 w+ A! E9 ~* |& p" [/ W1 L7 o! e
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。' L) B  p7 {7 X% W1 n) ?
3 b( @1 q3 X3 ~* Q" N  m6 e& @
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

333

主题

515

回帖

3385

积分

管理员

积分
3385
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
0 c( s4 n- T3 P  E4 X3 a# Y. P) F, j7 Y9 l/ ]. G" T
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
  k; y2 ]  o; g4 A6 e
# I; x, B8 u4 g1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
$ v- z) `4 n( ^1 n7 Y$ g# T$ o9 n: {0 n! S4 W8 y" [+ f8 v) Z
```
, y6 N1 S9 ^- {$ @9 P& f( Pfunction create_custom_post_type() {
' {6 }9 {% `5 P9 H& r& T8 J& A    $args = array(
/ m, L% M: }8 X% p/ w5 \        'labels' => array(7 g& n9 b$ J8 [" j2 |
            'name' => '公告',
/ F* v4 ?* k! V- q2 P& ^  J            'singular_name' => '公告'
8 H( P/ Y: o$ i) L        ),  f4 p) ^" `* t; }( K* u
        'public' => true,
6 @! P# }# i% G/ B        'has_archive' => true,4 ~3 f7 p9 |4 b8 `
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),) s$ M# a- E+ i: q
        'taxonomies' => array('category', 'post_tag'),
  ?- @) h" A, n& S        'menu_icon' => 'dashicons-megaphone',; l" C7 X) T+ y, v" D2 ^/ K
        'menu_position' => 5,
/ A4 M* B6 q: x1 D# Y        'rewrite' => array('slug' => 'site-wide-notices')% v2 P  |9 n/ V0 @" z
    );
- k( [$ j6 n; w$ f- R! Z8 {9 S; F    register_post_type('site-wide-notices', $args);
5 g, f2 u3 \7 L' d5 B}) i; N& d$ @* C# v' E
add_action('init', 'create_custom_post_type');+ Y3 j: u( F1 Q1 U  c
```
' s5 _" ~/ @; |" y, O5 s! |5 s
7 H/ R: x! V4 }! }+ w0 d在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
/ {& U4 S7 _: a
. I4 @( S1 g% A% f2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。3 i2 T" v# l, b& I

1 w) F+ h, {% z  U2 M1 \3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
; T& ^( e4 H; {: _2 }- c$ L0 Z
( S) N" B" ?* E) y, H* m# x  P```
0 `9 D4 @4 b$ l3 P$args = array(
! e# j& s1 ~1 X    'posts_per_page' => 3, // 显示的公告数量  R8 A/ M" w9 J  ~1 I. z) @! w5 w! Q
    'post_type' => 'site-wide-notices', // 公告文章类型* D8 K1 e, m. P- }: T/ L$ D8 |
    'post_status' => 'publish', // 公告状态
2 D; J  Z5 C3 b    'order' => 'DESC' // 排序方式$ p- h+ V- L$ X
);4 H2 G, H) F" w. @% u) A$ r
& K. N  C6 G( d% P  P
$notices = new WP_Query($args);% d- [7 Y1 q! ~. t" \4 L
if ($notices->have_posts()) :# |3 L% U% h! J; n
    while ($notices->have_posts()) : $notices->the_post(); ?>
9 N- O3 ~! V; d. a        <div class="notice">
3 [9 A: O, X" {- A0 m' R            <h3><?php the_title(); ?></h3>1 q, p: S; m3 o6 [
            <div class="notice-content"><?php the_content(); ?></div>
3 e' A! w: v+ q; s' B- ^; L4 I/ Z        </div>8 y1 n7 K- c1 m# g0 W- D5 R: N+ @
    <?php endwhile;, N0 g% V2 p% W0 [' S1 x: l# |, o
else :$ G! f0 z; \/ d8 n  }. B6 S1 x
    echo "暂无公告";8 W/ k& x" w. A8 \
endif;4 a& q$ Q3 H% _* B) P8 @4 o
wp_reset_query();
8 f9 }$ Z* M! o3 K6 |- x* W$ y```( W$ i8 Z- \' }$ r

2 J# f9 O/ T: I- i4 l$ {4 |; M这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。5 L) W8 \9 I- s& [
8 S* Z0 {3 j3 `
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

333

主题

515

回帖

3385

积分

管理员

积分
3385
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
  q) Z4 C- I3 x5 e- D# n4 q. ?7 g$ c, D( m, \0 y
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
  b' k" M% L0 _  {8 d# p2 F: J  K: }8 e; Y8 M, b
以下是创建自定义插件的步骤:
. D) k$ j9 a2 J5 b1 w2 a6 k% q6 v7 M7 K% h0 W
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
8 a/ }. d9 V2 u5 p( C: {; U! ~4 T* D) V
   ```  p: v0 G% k: F3 V3 a5 }! }5 j4 B
   <?php
+ H8 t/ H  W$ A& K   /*
+ B0 b& n$ s8 ^/ e/ i  y1 ^   Plugin Name: Site Wide Notices Plugin9 ^& t0 _* @2 a, U# k. ?
   Description: Adds a new custom post type for site-wide notices.( }' p5 [, N& [+ |7 f6 i7 A
   Version: 1.0
; Y/ Q' B0 A3 k% M4 c9 U8 N& T   Author: Your Name6 q$ k5 ~+ h5 B8 J% U8 }
   Author URI: http://example.com
8 x+ ]2 ]. U6 I  }8 j   */
# U4 ?/ e. }) K4 I: E. M- D4 P
# r8 X( }9 R& u1 w' y" h9 X   // Add plugin code here...
$ l7 S' k" O- Y  u   ```
: a. f( L6 j* K# N0 G) C4 X" A2 K; G  ~$ ^; X7 M
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。& n$ s  f. E, C( S! ^7 \& F) [7 O

5 z* R, _. s% J. l2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:8 r6 t4 F! N2 _3 @* R
& g" Z, F2 v+ H
   ```, L, q2 @& x4 j: T6 y
   add_action('init', 'create_custom_post_type');- g% q4 _1 g: U# N+ f  m4 |
   function create_custom_post_type() {
) F( ]. A* w: z3 R      $labels = array(& a# c2 k  W% M" C0 N
          'name' => 'Site Wide Notices',* l) |& ]. g; ~% ], C; X# Z
          'singular_name' => 'Site Wide Notice',
! ~% c5 u9 R- ^1 k3 _6 I/ r          'add_new' => 'Add New',' f, I7 O8 Y1 r0 q: P7 X# Z5 c
          'add_new_item' => 'Add New Site Wide Notice',
* L: O+ X2 ?. n) ^          'edit_item' => 'Edit Site Wide Notice',5 q, [7 z- e! l9 j/ S' |# N3 a7 M
          'new_item' => 'New Site Wide Notice'," [9 v* {# l: K; j- V' J
          'view_item' => 'View Site Wide Notice',3 B1 @9 [$ ^& p7 C* C
          'search_items' => 'Search Site Wide Notices',
  N1 r; Y3 ~3 _( X# i7 F          'not_found' => 'No site-wide notices found',9 l- Q5 O  }2 G1 F
          'not_found_in_trash' => 'No site-wide notices found in trash'
! L9 h+ t; f, P5 R& F1 q0 _4 P* S      );
- L, Q$ t1 s. J$ m8 Z, K* P8 S6 P8 Z7 s
      $args = array(
( \# y# S5 \/ A- l5 h& T) X2 L          'labels' => $labels,
3 i) Y8 I1 l- m4 y! E9 G          'public' => true,5 _8 `/ J% X) B1 p) C" _( H( T
          'has_archive' => true,
  g/ T: k3 A' J* v; b: T          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
$ r4 N& \3 C3 S0 E' F) n          'taxonomies' => array('category', 'post_tag'),
% V! W, a$ _& [- p          'menu_icon' => 'dashicons-megaphone',
, q! I" S$ z4 L          'menu_position' => 5,# O# t' z( F/ o' `
          'rewrite' => array('slug' => 'site-wide-notices')3 g) }" r) s7 e
      );7 \" e) f' M" W  f+ c  r+ a  d: ?9 E

8 G+ v: c, H' x      register_post_type('site-wide-notices', $args);6 N" M. v: r7 W$ V" l3 Y8 t
   }
: |5 X8 Y/ N3 M( J) v6 u4 A   ```
* q8 ^4 ?0 h; j$ z3 @* e. e9 v" |: }# ]6 ^. O
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。# l# Q6 m" x* x( i: z2 U. M: D
! l. N* r, y" R  R6 ]5 p/ ^" u
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:+ Y3 f  j" P; l% n6 ?8 m! A8 W

' X( j) ?% e( [  a2 Q) \6 [   ```; r; b$ _7 s& D2 Z
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
. E9 e$ |/ e6 x& A   function add_site_wide_notices_boxes() {
1 p5 M% X5 z; K" {/ l, R      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');2 L$ O; B) T" R' A1 b3 ?. y/ W
   }
' ?; B7 ~5 E' E  S7 a- K  J
1 x2 y6 j: N7 J  v8 k( M   function notice_details_meta_box($post) {
$ ^: Z- E/ g0 d3 U* f- b      wp_nonce_field(basename(__FILE__), 'notices_nonce');) n# j. f4 I! F
      $notice_title = get_post_meta($post->ID, 'notice_title', true);! b, Q7 i) |1 K- T2 r0 w1 T
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
# i7 s) D6 V# H& Y      ?>4 V/ i! X" n4 j
      <p>
( _; N/ a  l; l" w9 a) f          <label for="notice-title">Notice Title</label><br>
5 F5 v( ^2 j& X          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">" V- E2 @1 h/ u
      </p>
. W" l3 h9 }) E% I5 ^. N      <p>5 d2 c" Z: j( \: ^3 z/ m. A1 W( A
          <label for="notice-content">Notice Content</label><br>! }! `6 |( H4 n; E2 c
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>" S. O% H3 f# }- K* ?9 a0 M. n
      </p>7 B  y6 q  S" ?7 R
      <?php: x" U$ F9 y" `. o
   }
4 j& r1 o+ }3 N9 e8 C  d+ O; u" U7 @4 \
   add_action('save_post', 'save_site_wide_notice_meta_box');  a4 A8 b0 ^, X9 \+ o# R
   function save_site_wide_notice_meta_box($post_id) {0 \' z) h! O8 e) s- @) N
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))1 K' L# I& ~6 @
         return;" {( e1 F8 m- e/ m
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
) P0 Y9 m# q' y- A         return;
; O- q* w1 |( w9 {' g, T9 |+ C# A8 A9 r0 a
      if (isset($_POST['notice_title'])) {4 \. Y8 D$ x+ A% ]) p
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
+ G6 k6 ?2 ]2 s/ S& W( L& E      }
, Y/ _  G  _" {) t: ~8 l# @9 Q      if (isset($_POST['notice_content'])) {
$ ?6 s6 D# G/ c          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
3 Q- D: z, O, X- ^      }
9 C6 C7 z$ q$ g2 D   }
/ J+ N. a/ g: g4 D   ```4 u; i: ?/ x8 M
  r  h+ U; U- l5 ?5 s( o0 U) ?7 _
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。+ Q7 W  g; {  F5 n$ \) `# ^  L8 O

" A5 n: k3 Y0 \8 ^6 M4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
! p9 w% Z! S- M6 t1 j4 {1 y$ J
4 @; R! e3 F( o9 n8 {   ```
3 G1 A9 H- T. Z" w. h1 r   $args = array(
( N5 X. v7 ?' x( B( j- r/ T5 s      'post_type' => 'site-wide-notices',- y  H2 G0 t! l+ P9 o9 a) X, @( F
      'posts_per_page' => 3," w( [4 E1 x# f6 K2 Z4 H
      'order' => 'DESC',
8 k4 @9 m' Q4 v+ |      'orderby' => 'date'
  P# h* f3 d& Q* N( t   );
  ?: K- S2 K, l0 B! R$ L   $query = new WP_Query($args);
1 S- |1 F4 W  l; G: d   if ($query->have_posts()) :
) H; L0 |' A8 h7 F* B      while ($query->have_posts()) : $query->the_post(); ?>: c  y* H* x$ k9 j4 V% L- {: w
          <div class="notice">. }# t2 X/ \7 B& S7 w2 I9 l! r
              <h3><?php the_title(); ?></h3>
2 V4 e# B' p+ S! @              <div class="notice-content"><?php the_content(); ?></div>( I: [3 e2 _7 f* x8 C7 U
          </div>
6 M$ z! n4 A9 D5 G) E! |      <?php endwhile;% O, F/ l" x, e) S
      wp_reset_postdata();
1 H9 {5 a. K; \5 t( W   endif;  v' K7 J; f" O9 m2 Y
   ```4 u- T. i6 A, C- O0 U

) d5 w( v# W! g* j' N2 F& h0 q& Q   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-28 03:05 , Processed in 0.106124 second(s), 11 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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