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

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

[复制链接]

347

主题

564

回帖

3679

积分

管理员

积分
3679
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:7 Z1 m+ H  O! m& v% X

, n( z5 W/ [9 P# c) n" Q* [" T; c1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。3 P- S# ]* \# q2 f/ O! C8 a9 a

2 V$ V5 g: x, F- U9 X7 x2 s2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
$ k, v; ^& K  n8 ^$ \$ s1 Y8 |8 N1 r8 o7 l) e0 K4 }
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。" c! Q: Y2 U: @) h
  j9 r7 `4 r! u1 J/ K( ~
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
1 O1 b- L* |5 g5 f: n5 g% a( e! X, e  n- W5 b6 p! g. ]8 {
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

564

回帖

3679

积分

管理员

积分
3679
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?) V" _& \" Y5 V: j/ c  j- O) G
/ d) ~. c& g2 q- U
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:; u' T' q5 ~& _. a. ^9 |5 h

0 b  ]- s. S/ O1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:9 q) w( g8 R( V

( Q! ~' M4 z$ h' i   ```; o& z, `( L5 U: u
   add_menu_page(
3 D. L4 e2 i: g       '全站公告',: |# ?9 u2 N$ Y
       '全站公告',
9 D7 ^+ c, R! b! e2 B+ D7 \7 ?       'manage_options', //需要的用户权限( O: N: X% O' C# H8 n
       'site-wide-notice', //后台页面的 slug
) A6 [# z4 Y4 M       'render_site_wide_notice_page', //用于渲染后台页面内容的函数. i: ]6 a8 q9 P: `4 a3 L4 n2 ]- @
       'dashicons-megaphone', //用于显示在菜单中的图标
8 @, D; N6 T4 S2 u4 ]! X( j; z       30 //菜单项的位置) `6 b5 ~& z& a! b( R: \$ e8 Z
   );: j! U6 ]# K. |- m8 |  v
   ```/ w. s) u/ V6 X, j9 ?. @" m* p

9 {3 G; n3 S3 y& W   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
# |$ q& a3 \6 O( g/ S! a0 o6 N% t* Z7 T
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:# {3 i0 i6 f5 B! e/ w( p- N
& q4 L& A) W; q. ]  P! s
   ```2 |* r) I1 N3 D5 `
   function render_site_wide_notice_page() {
: l0 G0 U; ^1 `9 A0 r5 N; J+ K      // 渲染后台页面内容
5 ~" B5 g  b, Q( c) c      echo '<div class="wrap">
9 I6 X2 v, j9 \/ J% G( K7 ?. P* d          <h2>全站公告</h2>1 }+ ]# Z7 X7 P2 L$ B
          <form method="post" action="">, ?6 S3 a& t6 Z0 `0 Y  w! B6 Z
              <label for="title">公告标题:</label>! i% E9 o* F, x9 P1 X  j0 ?: ^
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>* D5 i" w0 f* j# G* g( f+ G1 N
              <label for="content">公告内容:</label>
; _  j2 j( ^% g- w: J: O. n              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>/ d7 H8 v7 b3 [% ?& K. ^0 O  B$ _
              <input type="submit" name="submit" value="保存设置">3 Y/ G9 z+ a" ~! C* n# x
          </form>0 N4 n1 f! t# S6 K% y: N
      </div>';+ ]7 L, o: u- Z2 z! Y5 S  m% F( y
( ]; p7 w0 D  T
      // 处理表单数据, N3 ~: ~  z6 n  g
      if (isset($_POST['submit'])) {, N" L1 y! [: Q- X5 p+ t7 Q) ^
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));$ {1 C! Q- W9 R. T" @) {# C
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));- @# T. q2 [6 V$ u+ y. z3 P
      }1 q! L/ L# ?6 C/ U; \! D
   }
: E8 s) D7 L, ]0 X& i% n) v   ```8 d: T" ]. z! U1 [( ?3 s  D& C. s
, E2 q- s' ~. v; P6 n# H) ~
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。$ O5 g0 {# B& k1 M  p
5 R0 w" |! b, U
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
# |1 ^9 S/ a4 `. t; H0 c0 @" X1 }4 c8 I0 P, f
   ```
2 z( ~" x9 l1 }' Z( D   <?php. p+ @4 H7 f+ F1 |
   $site_wide_notice_title = get_option('site_wide_notice_title');6 a* `9 [2 Q- ]) y
   $site_wide_notice_content = get_option('site_wide_notice_content');
' R: L4 N4 L" v; o& S   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {' Z; o3 a$ r& F! J# }6 M4 m
       echo '<div class="site-wide-notice">';
# b* @' S2 r. Y/ `5 S1 }  _4 H       if (!empty($site_wide_notice_title)) {$ R( c! i$ {$ C. K" X6 y
           echo '<h3>'.$site_wide_notice_title.'</h3>';
  o$ Y$ `/ T- Q& M2 c, p       }
2 \# S5 q: m" [/ {' r: l       if (!empty($site_wide_notice_content)) {
: J1 [1 n. n+ n. O' E0 E) @           echo '<p>'.$site_wide_notice_content.'</p>';
5 K4 Z7 [: G0 f) L) {1 D. l3 ^* F3 {       }
6 N1 Y% A4 M# k( X+ F       echo '</div>';1 v7 G6 t% b  k  x
   }
; h# R9 N/ B: f   ?>/ L8 J: j, l% ]3 G  y
   ```
! w8 l4 C# h  b# ~8 p& w$ y  K: l
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
5 ]8 B& R9 e/ Y. U7 K4 L/ `4 T4 p, @# N6 L+ u  ~7 s
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

347

主题

564

回帖

3679

积分

管理员

积分
3679
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
1 g1 ], ?  n% R3 ]. {  [* n% w: ]  q1 B! ~$ S
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:0 @3 {6 h8 x! l( O0 j

; \' c5 z- H4 Y  d0 T2 C* o1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:$ y9 |+ w" M4 P" n' r  A: M4 d

+ Z5 c2 n; O2 N3 I+ o6 }  `9 n% a```7 {- r4 S! x4 E$ e
function create_custom_post_type() {
5 V7 o# y. B# H# F; U( p    $args = array(
# x3 p# z/ M0 x5 g, m  C        'labels' => array($ H! }7 v2 T7 w; u/ r
            'name' => '公告',
) s$ z: d* i# w1 H0 Y  F            'singular_name' => '公告'( z  z: H) E, i! Z
        ),
( h* u3 D7 s: X        'public' => true,1 E; b: }; K" o  J, ?
        'has_archive' => true,1 e& z$ U" f- U/ ?4 r1 i1 D+ g3 v
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
; S% F" D2 ~# B  P& J7 F. s' E# x        'taxonomies' => array('category', 'post_tag'),6 ^5 y4 E; x, r8 s& t
        'menu_icon' => 'dashicons-megaphone',
3 J3 y( b/ J# a6 u  M% `' P        'menu_position' => 5,, o; X. [# ^) _7 X6 o8 w9 v
        'rewrite' => array('slug' => 'site-wide-notices')7 q; Z  g3 i( B6 G
    );# t5 m; G1 _& C! ^& O/ Q$ P
    register_post_type('site-wide-notices', $args);
. G  F8 c: Q/ i( g# _}, W$ N# x1 X$ M, o, X
add_action('init', 'create_custom_post_type');
( P' G+ p  s/ x0 U2 V. \& C  Y# D```
/ [: Y2 q- d5 b2 K" @  r
' {2 o6 a3 _: q- X6 p9 _. X在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。2 f+ F* Q' p; J1 R

0 n; Z; b' _% s8 {2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
* j( v" O, g! E
4 W, V, K8 f/ H/ K' W- H4 b5 |3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
! ?2 Q' I. |- ~) a( @( O3 g8 }4 F7 b8 d, p3 \1 e
```
+ R9 d$ E; L+ u1 s$args = array(
$ l( w7 y7 o" Z5 s: m    'posts_per_page' => 3, // 显示的公告数量
7 x( x, }6 T# \$ C( [0 {/ `    'post_type' => 'site-wide-notices', // 公告文章类型
# j6 D9 H+ w/ c' ?    'post_status' => 'publish', // 公告状态
  p* |6 J1 Q, B$ V$ V; d$ j# s; _    'order' => 'DESC' // 排序方式
. s! G) M) ^4 l" o! \);
5 S9 r" \" N: k9 F5 [/ v' m
2 `5 a7 [0 j8 G% P' z$notices = new WP_Query($args);
  I  M' i6 C; v7 Eif ($notices->have_posts()) :
$ c. x1 C5 b* g6 |( T( J    while ($notices->have_posts()) : $notices->the_post(); ?>
% R6 r# ^; h$ S( o        <div class="notice">
' X: d' \" E' _- e7 y& s  q            <h3><?php the_title(); ?></h3>
- ^4 G4 E+ b. V3 a0 V            <div class="notice-content"><?php the_content(); ?></div>
- I4 H& A" m. G2 i/ O( d! u        </div>; z# n8 g9 k$ R. }" W- {: f! W. r: {
    <?php endwhile;
5 `# V& H" C" [. l0 \$ Delse :! T9 q9 z3 V  n2 S9 O4 i
    echo "暂无公告";4 H9 q) g1 [0 q4 p5 B  e
endif;1 E6 p. _! x% ]- J) X! @3 m
wp_reset_query();8 t' g  B6 S1 W2 e- \
```, n7 B) Y: K9 B
" F2 C1 F# ~# p! z' {5 q- |1 e
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。2 W  z' {+ h3 z* q, a" `

- x) G) p7 T$ `0 p0 H以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

564

回帖

3679

积分

管理员

积分
3679
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
3 S& H% f. Y) v3 s2 t7 n- e
2 C- x# H8 c2 r4 g0 P0 j8 J如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。! A$ n0 Q1 X) s% e' M
' I7 q. [; C9 G9 i4 w2 [$ x6 }7 G
以下是创建自定义插件的步骤:; _4 L6 {# b) w! y% V8 ?( ^6 [* m
. g( C3 Y6 L  B6 J8 _6 z
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:' n  c$ t! Q' s' H

) j  Z3 x2 u5 c& ^2 E5 k& P   ```
+ ^. _4 `, }7 i/ Q   <?php* @, F/ d2 x9 b1 O) e' ~
   /*+ D- H) U  E4 l' J0 R' Q% ?2 }
   Plugin Name: Site Wide Notices Plugin
) y/ y% C6 a, F) }4 a   Description: Adds a new custom post type for site-wide notices.: X/ N/ |' W1 q" J/ m' R0 B3 `
   Version: 1.0
4 H# x/ Z( o2 d' W- s- B   Author: Your Name
' w  D- t8 f8 |, C1 ]) c   Author URI: http://example.com
1 Y8 @$ h. z/ v' ]- {   */
' Y7 K9 _, F0 [& n1 ?: S' _
+ _# G* o0 P+ Z. ~   // Add plugin code here...
! E* _# ?) y' s* ]$ f# t0 q8 r   ```- P, q6 k5 h0 s* d1 U
0 s) S: m. t$ M# c( m
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。% Q. A) l& u1 W2 x
: B# H$ ?# W& |# _# S: V  k
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
7 h& f: t: C' s, u0 @/ p+ Y5 ]2 I8 b
   ```
) {6 g% ?  @# E   add_action('init', 'create_custom_post_type');
3 s& i, T' n& T+ h5 ~# N   function create_custom_post_type() {
# _, U* k$ z! [1 i# ?      $labels = array(
& ?7 `9 I3 r1 X: G) y          'name' => 'Site Wide Notices',; l5 B& t/ i! e* d! _
          'singular_name' => 'Site Wide Notice',+ O4 \0 z1 h# b
          'add_new' => 'Add New',' g0 c0 q- Y, O
          'add_new_item' => 'Add New Site Wide Notice',
  A5 s1 e+ L! x/ C0 O) n          'edit_item' => 'Edit Site Wide Notice',& H/ r" ]  }$ {8 `! J
          'new_item' => 'New Site Wide Notice',
0 o- u9 {& t+ A1 G5 M" j          'view_item' => 'View Site Wide Notice'," L. I0 _5 Q  c1 y
          'search_items' => 'Search Site Wide Notices',) ?/ _$ C( F+ L, Y
          'not_found' => 'No site-wide notices found',
; l+ G; c, f( n5 c; {          'not_found_in_trash' => 'No site-wide notices found in trash'
1 b% m1 e; ~, P. q2 ^# U; T% @      );) @! }$ g4 ?# Q1 J

. t" S* O  e3 c, k) l5 h+ N      $args = array(
2 R" ^: g0 ~+ R" y2 _3 {% x; u          'labels' => $labels,
2 C( g6 ?. e! D% w4 {/ G: P/ m7 Q          'public' => true,+ p0 d1 h0 A7 {& x
          'has_archive' => true,2 x, Q  }) G, x5 A3 c2 B0 ~
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),7 U. H! [; ]6 V8 d" k5 O8 ]
          'taxonomies' => array('category', 'post_tag'),
; b% V9 G/ \) A* W; H          'menu_icon' => 'dashicons-megaphone',1 M) o3 E2 K2 X
          'menu_position' => 5,% R% l5 Y( A5 Y- a% q1 D
          'rewrite' => array('slug' => 'site-wide-notices')
# p9 A& O- P. N      );* k2 Z' Y0 _1 z+ v
" l9 r) Y) s8 T$ z! \# c0 a4 s
      register_post_type('site-wide-notices', $args);* L5 l; V7 j) f' Y" q
   }
. t3 u# l9 R& \3 X   ```
- Z/ C' Y  k  w( t* H( P, C2 c+ S* n5 H8 i! C! x
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
3 x7 S2 I9 B5 t  w( M
# Z+ r5 E# t! q4 u3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
$ n' @" l7 ~" S" q7 Y( T+ J( y3 _& n. I: F
   ```( ^& }/ u5 a5 M- p, v( g+ W( @
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
" t) J1 b) ^2 g- [( C- w; B3 z   function add_site_wide_notices_boxes() {
1 |$ F3 Q" J% c- _: f      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
' @( d* m9 p6 F+ ~! I% a   }
6 H4 o& ]% L# d5 x) f8 N- {9 F7 J$ C# R8 u0 l; ?
   function notice_details_meta_box($post) {
/ ?  I: A5 L$ s7 K8 [      wp_nonce_field(basename(__FILE__), 'notices_nonce');. \& I! O' @1 W0 z5 S* N
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
# Z: C; n, v# W" }4 g      $notice_content = get_post_meta($post->ID, 'notice_content', true);$ R8 e5 s2 e6 G8 G$ d1 W; u! B
      ?>
1 L6 a/ S" z6 y: Y1 G4 i; a      <p>. j% l. H. b. t9 c9 j! c( S
          <label for="notice-title">Notice Title</label><br>  J! h% F( P; K3 ^8 ~* G/ E2 l; W
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">; U7 G. E6 H. m$ _) u8 C
      </p>% k& @' I& N% u# f6 d/ q5 w# Q/ o- U9 i
      <p>$ V5 r+ ]+ z* d/ W9 |
          <label for="notice-content">Notice Content</label><br>1 V6 i/ M" `" g
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
6 h% r* r0 V) X5 b3 x      </p>0 h% Z$ Y+ y" p/ Q! X" K/ P9 e
      <?php
# t) h+ ]% G* d. t* ^/ g   }
6 g7 x. z( d! x  L2 C
* T3 [% v+ }9 O; l2 |6 j+ j5 O0 w   add_action('save_post', 'save_site_wide_notice_meta_box');+ ~: f) z% o: X( B0 L' j& @+ c
   function save_site_wide_notice_meta_box($post_id) {
4 b* N9 v* Q. k6 w" l      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__))); J# M8 o6 ~6 y4 U7 n
         return;( |) a2 m. |5 I: ]+ T
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE): \& w! v$ P% u" n- |4 j
         return;
* F6 P4 b4 X; ?# i. Z+ l
9 n0 u, J6 t+ \4 e, H. t+ t      if (isset($_POST['notice_title'])) {
$ ]9 Q3 w- M2 o( i          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));5 W& R9 c* X7 _$ T1 w3 o3 P2 _2 \
      }
* l* k) U3 f7 [2 I      if (isset($_POST['notice_content'])) {) ~/ @& a% _) L( y% X8 t! G
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));6 L! I9 o3 Z  k! ^
      }
8 I/ a: H5 T: v& o& L; b   }: v& O: u1 {0 B1 p8 S
   ```
( v) n' K3 ~1 x5 O( b$ C4 g" K
5 @3 h! B: a6 G/ ]5 M6 w2 k   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
  ~) \+ o2 S. q3 U% x+ v" D3 I' s) X6 s& ~5 L7 G
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
$ N, d0 v3 s* R) H6 t7 K) \: M6 d
+ r6 n: V+ P1 Q! Z8 y' V  u   ```
0 {# N) Z$ S! F* v   $args = array(
; A; W" \% n( g$ X5 d      'post_type' => 'site-wide-notices',9 F- m4 L# F. Z: n) Z
      'posts_per_page' => 3,7 w% I# z' L- z0 u  j/ ], Y( A' V& f
      'order' => 'DESC',
% Z. w# t/ ?2 E+ v3 J7 j      'orderby' => 'date'
$ q, D3 f$ U; R& W   );
9 @# e: g- p( Z7 |   $query = new WP_Query($args);
" M$ f9 N8 V4 h0 A3 F1 f  @- r) _   if ($query->have_posts()) :
3 r: A* j  A, y& t$ M$ a      while ($query->have_posts()) : $query->the_post(); ?>
7 M) o) P# N9 r          <div class="notice">. c1 T! G  Q7 C. b) @( A
              <h3><?php the_title(); ?></h3>% O* @1 U1 Z2 k2 R
              <div class="notice-content"><?php the_content(); ?></div>
& l# o* {3 e3 U- ~          </div>6 j+ Q% {& T: Z" M( P2 e
      <?php endwhile;
, u0 a7 {9 R3 o$ `( P8 b      wp_reset_postdata();& a  i# W; h  }- s( X
   endif;
8 Z, L8 Y  n$ i0 X: G# V" s9 l2 p   ```8 o! ~3 i4 q6 ^
  L0 y+ A2 t5 B; p, n0 L+ \& E7 \
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-10 17:17 , Processed in 0.015623 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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