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

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

[复制链接]

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
$ v* ?3 A/ {3 v2 k* Y& q
* a7 f6 j' L6 b$ U( J7 s1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。: z- |) `% k7 I2 }% c
; L4 q* b1 W' w. H- d/ F( z4 @
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
' ^0 Z+ A# e7 D- _1 v- R1 E2 c6 M2 Z& m+ _5 f! Y3 p" P& F/ v; }
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
+ N* N5 V8 N3 l( `$ l  j5 R- m  v. H: g6 n0 z, j
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。: R; h4 y, D( |
" {! n, r, O8 C9 y9 V* s* v7 C
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?% K; g- [* l# f" x  F
6 e3 Y4 H" i0 U1 i) x
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
5 ?- c% C! p4 v! G
! D) x& a1 @9 R/ Z( f, D1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:8 p: o  s' v. ~) y5 u

. S# p  o5 `4 {/ A   ```5 R' m* @) X( z& l. _
   add_menu_page(
# P0 X0 y8 t, i/ {  `: E* O0 `       '全站公告',2 e% M+ O2 g6 n9 A; t) i! ]
       '全站公告',7 A+ {- `) ^7 u+ E3 y9 z: y
       'manage_options', //需要的用户权限# y! W) v. p+ M  c7 y9 z2 J
       'site-wide-notice', //后台页面的 slug
  {6 G3 L# t( Y6 _2 {' E       'render_site_wide_notice_page', //用于渲染后台页面内容的函数: Z# r4 c6 c- `* v7 u* Q0 [, c
       'dashicons-megaphone', //用于显示在菜单中的图标- Q7 t0 _; N$ H$ m; l
       30 //菜单项的位置4 d: U( _! f$ g( a! s. T
   );( G9 a1 m: M5 [
   ```
4 a9 X3 F" o: v0 A1 r3 ^# n
$ B# d5 Y# T9 [' L% l1 F7 X' s- b& ]   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。5 M, y1 S7 O# [6 ?
* B2 {2 j5 m$ Y2 b/ S7 o5 v. ]5 s
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:' b- M, C: y$ s; t
2 ~- k5 t/ ^0 Q/ P( r
   ```
+ ^9 r) Q7 a( y& T8 F0 N   function render_site_wide_notice_page() {8 ~% z( w3 ]9 E* ]) {+ L7 a
      // 渲染后台页面内容# F+ U& Y) k7 T- c$ B/ s4 N
      echo '<div class="wrap">4 V' a8 X) P3 y  B5 q$ X) s/ Y
          <h2>全站公告</h2>
2 Q+ y1 `% C1 \1 l7 j# |          <form method="post" action="">
3 [; y* {" P. J* n4 M              <label for="title">公告标题:</label>
2 H7 ]! _9 x" a8 @              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>3 c$ @9 {9 V6 j( ~3 y
              <label for="content">公告内容:</label>: q: k4 U6 D* S6 g: j  m; E. h" d% v
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>/ c5 z. l/ v- l4 ~9 {
              <input type="submit" name="submit" value="保存设置"># [/ U' G+ c$ ^& f+ m
          </form>" R2 \9 S: l" y& k1 _
      </div>';
1 }8 \% S' H& n, G. y, _8 C# }- |* i
      // 处理表单数据
( y" b4 m# D* Q) E8 x& e1 x9 j, q      if (isset($_POST['submit'])) {
6 J% C/ r! x2 h" n  r8 i2 I/ M          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
! J) y: N2 m- P6 P4 \/ m0 H          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));: u, w, S& z4 z8 S
      }3 n% g9 k& r! B8 z. z! w( o
   }' V/ G. d/ O) u8 D& |" ^! n( @/ `
   ```& f0 l0 o- m. l  d3 V& s1 r" \9 I

/ W9 ~+ W. i% i# L5 Y" {" B0 _; Y   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。4 W9 s2 W: Y3 |4 E4 p2 g9 v

. N6 O6 X9 U2 H! o1 p' z3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
+ M9 ^+ I* Q# X5 c9 ^' s8 \1 \
) ^( w2 m6 H* a   ```
: d+ n& r. o2 O0 u, d   <?php
. z/ [! Q8 o3 u/ T/ J% }1 C. N   $site_wide_notice_title = get_option('site_wide_notice_title');" Z1 H0 _$ E8 k2 ^/ v
   $site_wide_notice_content = get_option('site_wide_notice_content');, W  N( y) n/ P( H4 `1 S
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
2 r6 |8 L- I. A2 E0 a+ z; A       echo '<div class="site-wide-notice">';8 U0 X6 p6 z) J( p
       if (!empty($site_wide_notice_title)) {
' T; f, S+ x2 w8 J% R* n3 T& ^           echo '<h3>'.$site_wide_notice_title.'</h3>';
5 X  L# b9 o- H$ Z2 [! S; t' z       }4 z  j: p( ^- ~  A9 L
       if (!empty($site_wide_notice_content)) {
. D: c% c: k7 E! s) H           echo '<p>'.$site_wide_notice_content.'</p>';( c% P& ~4 z! c- c& m7 ?) i& a" K
       }
  ?8 x( r( \" C) |8 X: Y       echo '</div>';
( G$ L' C+ u4 e& K   }, h% C5 k- |+ e, {/ ~& h
   ?>) N: X# o) u* ^, I* v* }3 K& T
   ```
0 {( w8 x# ~; U5 B! A  S' @; Q  F* u/ R6 x1 N7 V2 v
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
! P% Q8 H& N$ T7 p/ ]) ?; H! r& ]/ b( ^* |# E6 o# I2 j
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
& o+ D' m8 U* W5 Z. ], o! M; R* P$ R' f  f& t3 x/ b. P
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
7 q' n# ]6 c* b4 i# Y; f
5 K$ K. W" @$ O7 D1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:9 W$ N$ x2 F" C7 \7 _: j

' d( p/ d/ I! ~5 x$ I```0 |, I# L5 k* {8 |# |
function create_custom_post_type() {$ \& d5 l" B6 {; q: i8 ?: g
    $args = array($ ^0 `, l6 C8 R! t
        'labels' => array(
; A9 Q: w7 l$ K0 v            'name' => '公告',
  z6 N6 M9 v6 A4 d8 H            'singular_name' => '公告'
# G/ m3 I7 ^$ P* {8 d% x        ),
5 E* z* x+ Q$ e8 d8 O        'public' => true,
; R  |$ L$ m2 X2 E2 R        'has_archive' => true,; v5 T4 ~5 H4 ~& d9 q& j, F
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),+ [! U, R" e# L. `
        'taxonomies' => array('category', 'post_tag'),0 b3 x+ I. x; r) \2 e) a8 i
        'menu_icon' => 'dashicons-megaphone',
2 Q0 m$ U/ R3 Q; a        'menu_position' => 5,
6 b3 p1 D. G$ ?& F9 H" B        'rewrite' => array('slug' => 'site-wide-notices')
: S1 [8 s+ s" S2 n    );
7 X# S: d, v0 ?/ m: J& f    register_post_type('site-wide-notices', $args);! i% `9 P8 J$ ?& Q& d
}
* P( w$ {5 v& Z1 T9 |0 O9 z: r3 qadd_action('init', 'create_custom_post_type');4 o, M. L; Y( Z# p6 l$ Y
```! {2 k4 q+ r6 m

. d" @, q$ l3 ~- y3 D- p1 }* y1 J在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
3 x2 g+ v, ], V, s" f. c! `/ D$ u+ ~
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
( {" Y! }( B( I4 f+ v5 v( e4 n- |4 W- |: c, c, q
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
$ q: k5 l: A# r0 Z: a3 ?
& J5 D; Z' N+ a- E- c; g# g. D* m, B```
0 y6 b5 R# \7 R$args = array(
; b! N( ]6 d% [* s- H  C6 Q    'posts_per_page' => 3, // 显示的公告数量
' J: y3 S" X# I    'post_type' => 'site-wide-notices', // 公告文章类型
/ o. Z2 f" T/ m4 D0 \( S" ?    'post_status' => 'publish', // 公告状态
' ]' h. \1 n8 K2 B    'order' => 'DESC' // 排序方式7 A  q. i- i0 ?* @: F7 ?
);
# P% z8 y; S. c5 q3 b, h9 j8 q8 J( y7 ?! q$ I9 K
$notices = new WP_Query($args);
! ]1 @) R8 U" W! dif ($notices->have_posts()) :& m- F0 [( v+ v. _9 w; M
    while ($notices->have_posts()) : $notices->the_post(); ?>
' Y9 Y' W- Y. w) M        <div class="notice">
5 @& T& J; `. ^  g7 y; D- F            <h3><?php the_title(); ?></h3>( P3 Z7 U, N8 K, L
            <div class="notice-content"><?php the_content(); ?></div>( }  g7 ~" U- d
        </div>1 B5 V8 K  d8 M6 r5 }! Y. P
    <?php endwhile;
4 p' `) o( M2 u) _* H5 Telse :
, G( J4 w2 s2 u/ p    echo "暂无公告";
( U$ t1 t+ e/ A9 Vendif;
; s  W$ J1 ~/ s) a( Jwp_reset_query();
$ U; S% j! }$ y& {1 I! Y```
# {+ C5 j; L5 L% O2 h
: Q" C& c9 I" ~8 x9 n这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。. V1 T9 N/ }: h. _
- c+ \- E1 p) P" e1 g3 [+ D/ d
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
- I: g! T  [! X) t
+ d5 @3 Z* Q% m  T# Q* {* N4 P如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
$ p1 w$ V# v0 y4 c: C7 a8 t* C/ ^4 j
6 h. a& N+ a  Y/ P8 F7 H. G以下是创建自定义插件的步骤:+ ?& ?+ Q, @8 g& l

) [# f- T3 P/ P* u* b8 S* U, _. M1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
. {2 _# N/ \& ~1 E. C
0 o% V9 c$ R8 O) H1 W' U   ```8 K, O7 s' f7 I6 X9 O
   <?php1 d) ^5 W5 g  Y9 [& h, c: b
   /*, K' d. G- ]8 |
   Plugin Name: Site Wide Notices Plugin* W0 A) F* J! r% G
   Description: Adds a new custom post type for site-wide notices.
1 O: T. n# T+ r4 A8 e( A   Version: 1.0
2 o  S2 V" H% X/ }   Author: Your Name+ L# I+ G+ a" n# x7 W( R
   Author URI: http://example.com- A) R" V! h+ q% _8 A7 `. p5 W
   */5 K8 D9 V6 q$ f. @0 `+ r

# m, ~5 E- V9 i( M  A  q8 _   // Add plugin code here...
7 b" }: O. `; o( g4 k   ```' {; E, O. t1 y  L, Z

; S& l7 M  M, @% ~+ f% |   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。( }9 R$ K/ C; d% [5 ?9 K+ L! b& e
! A6 T# g9 k5 j5 o5 D
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
$ B/ ^) I7 P$ k, C+ p$ Z- K, x: m' N# O! p, U
   ```' m1 N% p( l$ x- u  O# ?
   add_action('init', 'create_custom_post_type');8 ?! O, X9 ?" `4 [: [
   function create_custom_post_type() {
0 I7 J8 @) @$ Z' l      $labels = array(
; E! ^4 Y+ M/ x3 v: `          'name' => 'Site Wide Notices',( J8 q9 v" @" @0 u9 c1 j
          'singular_name' => 'Site Wide Notice',
$ L- h8 n. w1 r5 J9 p          'add_new' => 'Add New',' ]+ I& }: o8 s# |9 u8 _: q. M
          'add_new_item' => 'Add New Site Wide Notice',% W& G4 x( U4 E1 `/ `4 ^' w
          'edit_item' => 'Edit Site Wide Notice',
8 w  B) e7 G8 O& R, D( J          'new_item' => 'New Site Wide Notice',, o' ?" K" R' g
          'view_item' => 'View Site Wide Notice',
  e3 ~5 ?% h# s1 B* a          'search_items' => 'Search Site Wide Notices',
2 O/ t( I) r: c' x3 g# w" N          'not_found' => 'No site-wide notices found',  n' G) ]  h- `0 x
          'not_found_in_trash' => 'No site-wide notices found in trash'# N- Z. U6 x, k! O1 V' |
      );0 w0 p: I+ M7 ?

  S0 y6 |5 X/ R5 H      $args = array(1 i: H' c* j. g- r: K
          'labels' => $labels," g3 J" P% Y. H% S
          'public' => true,
8 L* S) h& O  y/ _& L          'has_archive' => true,
7 ~8 B& Y8 V( h5 K9 E+ Q1 S) {          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
8 h" o. W" S9 Y% q: H' x  J! q1 e          'taxonomies' => array('category', 'post_tag'),
& E, ^! `( J) e8 P          'menu_icon' => 'dashicons-megaphone'," E; C4 V  n  s) |8 l" R9 {
          'menu_position' => 5,
0 `) R6 t4 \5 ^; @8 h- [5 g' d          'rewrite' => array('slug' => 'site-wide-notices')
! `7 m, X( x3 [3 j/ _' z3 J      );
, X  W8 a; A* c0 B) s) f) \. j+ w9 K1 J$ g  q
      register_post_type('site-wide-notices', $args);! w+ I* \. _. N8 u/ |
   }
$ ^7 V5 {7 z" V6 z   ```
5 |8 i0 @, k" F  @- b9 X, S% O0 `6 d
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。9 }7 i9 S3 a# e/ U! j, W

  R9 h  L' g: q1 b; d8 z4 {3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:; _1 L! B: h5 O) C  ?' }- s

6 J& F) F' }4 `' k7 P0 C   ```
9 ^: j7 z) c' W+ y   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');% W+ p8 M' P2 U- _
   function add_site_wide_notices_boxes() {
. N, J- G% f5 v      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');" a! Z( G+ D  p/ @9 w' Q, x: a: f
   }
% D" ^% j) j* {( t0 i
8 l( K9 D7 n6 o: s% E& R8 F3 Y   function notice_details_meta_box($post) {+ w9 K( `* L) o! r0 ^
      wp_nonce_field(basename(__FILE__), 'notices_nonce');3 J2 ]( n8 f6 _# T3 Q4 f- z3 k
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
( s' m% B% z( Y/ f" [* O  ?      $notice_content = get_post_meta($post->ID, 'notice_content', true);) }/ G  M( J, Q% `7 E
      ?>
$ f/ L+ f% P6 N# c# ^' s      <p>
  ^5 O" I/ ]5 _1 A* v1 \* T          <label for="notice-title">Notice Title</label><br>% m  E' U- C( S6 A3 l
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">2 I& @$ K& \% X- l" _4 |
      </p>
- G5 [8 @$ P% \; V      <p>9 d) M) I; C3 k4 ~4 B  R9 t4 ?! {
          <label for="notice-content">Notice Content</label><br>/ {# g. M% d& T+ n) V* ~4 v
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>  H7 _+ }, f+ ~: A
      </p>
9 n/ v# A& T  v, O% [      <?php
7 H, h  J0 R! W2 e; P   }
1 y8 l' q$ B, c) h8 e, B( X- v' A* z1 z! f
   add_action('save_post', 'save_site_wide_notice_meta_box');, ^' E( d) N; w' d0 A( j
   function save_site_wide_notice_meta_box($post_id) {" s1 w- P5 A6 \' J: A: z/ S
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
# ~# z& a9 z- m1 q         return;4 B$ {' e6 C& K0 l7 o
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
+ r3 r. E% R7 q5 x( X! L         return;& ?, M- F/ r3 f* ]* X
" j# L. t0 g2 G
      if (isset($_POST['notice_title'])) {
0 w; Q# Q5 ?$ {7 r! S          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
. W2 J( f5 u7 O3 M* @6 p) @+ {& d      }
( y# G  R# ]: N& R: F) b      if (isset($_POST['notice_content'])) {
9 D7 e  T7 j% [+ T4 I9 S7 ^: w          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));! @* P5 M; L  o8 h! O# ]" i: x
      }) n6 L1 J4 V  q/ p. L1 y
   }0 x# g" z. ?9 \" M9 ~
   ```
- Y1 y  B  K3 _+ }5 f+ S$ G
; m# j  o/ y7 T) U8 Q$ `9 x   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
0 F- _( _2 ]/ r; ?* l/ Q
$ J+ O6 Q0 C& t4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
: O8 {  G& k9 X2 Y  Z+ k- Z$ {. I5 u4 M9 n6 \1 b& k$ U0 W
   ```
2 x( A+ d4 @4 @   $args = array(
' g! J2 k# C% O5 m( a% Y/ q9 @      'post_type' => 'site-wide-notices',
- E! s5 F: h5 L/ a, g      'posts_per_page' => 3,
2 R/ l( `- u, ~+ U8 `6 \4 W  h      'order' => 'DESC',8 k' h4 p6 K/ |+ X
      'orderby' => 'date'
- B. H5 L) W& ^! ?8 P   );
: f/ {1 L" Q9 x: h; T; @   $query = new WP_Query($args);* Y- i' ^* g2 \& l
   if ($query->have_posts()) :
, Q7 a- H; `* U  Q  w3 ~8 K4 ^      while ($query->have_posts()) : $query->the_post(); ?>
" a7 W& C4 ?( b# g& d          <div class="notice">
- k6 o3 v" C: o/ d4 b              <h3><?php the_title(); ?></h3>
! g$ O  U; \& Q6 N' Y2 f1 i, I              <div class="notice-content"><?php the_content(); ?></div>6 s9 t* ~  f5 _
          </div>$ M1 I! Q, J( B
      <?php endwhile;
9 S; ]2 o5 U9 y2 J+ _      wp_reset_postdata();
4 Y# i) s+ L7 f3 i$ ~5 c   endif;; K( S) d/ M* b( y& x8 D
   ```
$ ~- v' B4 @: k2 B0 ?# i0 p1 ^* a3 B4 T5 b( }! [1 o
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-19 01:56 , Processed in 0.013039 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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