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

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

[复制链接]

340

主题

526

回帖

3516

积分

管理员

积分
3516
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
) P. {2 L$ Y7 R3 k
) _1 `1 P3 D- Q1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。1 O: |# B' A/ f0 T* F
: h6 I3 E) X8 V8 J; O% ~  k
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
/ D9 ?; L1 O( C7 ^$ }  H  \: Z1 G! o) B6 G1 G+ n" z
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。1 O6 E( l7 E6 s- @( K$ K& @

1 `! |4 M1 I( @; a( {( r( }4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
5 d, f% j9 y0 b9 d: L, {
  V$ \- D" O! O' I注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

340

主题

526

回帖

3516

积分

管理员

积分
3516
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?# Q* ~  l0 p% D( Z, ?; j4 T
' E* \, o1 s! l* ]  f& m
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:% x  w/ f0 _' H0 k

; ^1 c! @/ C) e) \1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:/ {0 b9 s8 Z3 B& \8 l: x$ [

8 i' x5 @! e" N5 T& [6 {   ```  p0 u2 w7 I, X- b, e( c
   add_menu_page(
2 y" ?# n3 b0 T# f& t       '全站公告',
7 L- Y7 ?. n+ Q; ]8 `8 H- ^7 x# t       '全站公告',: W' L5 m7 k& B, r# C
       'manage_options', //需要的用户权限
4 I# s" I/ o7 X" r       'site-wide-notice', //后台页面的 slug+ K1 x* E; G2 @# n  a) w4 P5 M
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数0 M, {  V/ y  g! G+ {2 F+ L6 N, \( v
       'dashicons-megaphone', //用于显示在菜单中的图标* G9 I7 {2 t: K4 R, x5 n. z/ j1 h# M
       30 //菜单项的位置) m# U+ [8 w1 w! Q3 K6 p* u, w
   );
, g/ r( ^! ?  f. [* v) h   ```
. j& N8 ^" l* |( F1 v$ ?% [% k4 ?6 |5 i( S
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
# @" l6 x5 Y8 J0 Z. S) _# \* Q( Q& \: s: D
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
, C! c3 O# ?2 _' T9 B) H% k5 I
  B8 E; c1 [+ _3 ?+ k2 E   ```% R( d# L4 ~$ ^: k' O
   function render_site_wide_notice_page() {
' l6 g0 H* {/ ^6 Q' _, y      // 渲染后台页面内容
  |4 S7 g& |7 K1 Z5 _: }      echo '<div class="wrap">! H6 C6 _% {- q5 s0 Z. N0 c3 e
          <h2>全站公告</h2>
- n# s2 L% y6 l4 }8 L0 K          <form method="post" action="">
$ |4 k1 m8 R- B4 I* F! Z              <label for="title">公告标题:</label>
$ l8 \( {8 G6 `1 F& Y" `              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
0 {- _$ D. y0 i7 `0 K$ G  ?              <label for="content">公告内容:</label>; D) z8 t7 L; t( R3 y1 }
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>! D' M6 H* Y- m9 z: ?
              <input type="submit" name="submit" value="保存设置">
/ a* M) B" }7 m/ x" d0 }# S7 z5 @' ?          </form>
( s: L) A  ^) H* [$ Z! b+ C9 c      </div>';2 E" _1 u* X: ^9 R1 V. R, A- ?

' O6 V# C. B4 i3 T% s      // 处理表单数据, S) Z! l3 M, w) O6 H0 M
      if (isset($_POST['submit'])) {: N: {+ J3 M8 a* H4 Y: k( N
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
$ W. H6 ~' B8 T& e$ ]$ U  i5 f1 f+ z          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));" {' I6 M1 v7 ^/ n7 n) ?5 d
      }7 k( I8 {$ B( J4 l2 O  k
   }
5 r( ?# ^. V9 T* p: m   ```7 m! q# Q* [& z( ~* W' N1 o; {9 Q

  e! e7 q$ t% Z& _6 @. N% ~( `& L   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。' ?. C% U+ a! N' D3 d3 H5 A0 }- f

3 Z0 L! u8 A; T9 r8 O* G3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:% @9 ?+ ?  ^/ E3 r& i
& a$ V7 N- ]4 L, {" _
   ```+ a5 `% L9 A' T9 [) b, t. a
   <?php5 h5 v. x+ J0 ?, p: i% t" q1 N4 k
   $site_wide_notice_title = get_option('site_wide_notice_title');" w; K1 }' N( J6 k* ~
   $site_wide_notice_content = get_option('site_wide_notice_content');
- Z5 O7 ?% \, k) {! a   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {/ g/ m& K% w+ H" q' @
       echo '<div class="site-wide-notice">';/ g6 H) |2 C- h9 G
       if (!empty($site_wide_notice_title)) {6 Z4 `5 p1 E+ c
           echo '<h3>'.$site_wide_notice_title.'</h3>';
, H4 @# P( K- N2 T) r       }
* U  C7 ?: T3 z; _2 }       if (!empty($site_wide_notice_content)) {9 t  n) M$ s- R# i# J6 ^7 q
           echo '<p>'.$site_wide_notice_content.'</p>';
1 U2 X% u* n% G       }* F  b9 b- Q1 v$ H# Z% l8 U
       echo '</div>';
  a  g: L: {: a; `# _; c- J! S   }) S1 O- O' C! w/ e1 P+ N
   ?>
* H' |2 `2 q; p# u   ```
" |8 k3 d- [" v8 z
) `9 S0 Z% D: K7 e1 j   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
% z4 {) J# ]4 X* A3 V, o; P1 L5 K, {3 U# F% z3 l4 N# @
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

340

主题

526

回帖

3516

积分

管理员

积分
3516
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?& _' }5 k5 v, p1 L+ T, y

0 ~. `4 k7 ]0 `* E9 L您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:+ D; T5 `9 c, S4 B5 n. N/ F

* x  a. O9 E# S; u1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:1 _- o; A! k' I! p' S1 u( S

) T" u, ~4 W+ l; ]- X+ V* ````! W$ ?. I  S+ W
function create_custom_post_type() {- z) c2 m: l* v# K* V- Z5 f
    $args = array(
/ D* X" h& K. t        'labels' => array(' S7 l' x  F$ E0 `& C* I6 D6 s4 d
            'name' => '公告',
% A! B; Y3 K/ y1 A6 M5 u3 n# M            'singular_name' => '公告'. ^" n5 o- b* {( }7 M
        ),5 z- O% l' E" e( B4 {
        'public' => true,; B3 g9 H0 P, \
        'has_archive' => true,
' ]$ w, e* O3 W; n        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),& @; X9 [' D4 r* V
        'taxonomies' => array('category', 'post_tag'),
! u; t3 {; u, N$ p# U- E4 |        'menu_icon' => 'dashicons-megaphone',$ U8 G' X4 i/ z* A- d! J
        'menu_position' => 5,1 Z! L% N, Z6 _9 E
        'rewrite' => array('slug' => 'site-wide-notices')
% Z2 M5 K* F6 a    );
7 C! ?2 a: y: j    register_post_type('site-wide-notices', $args);7 `7 t2 W  y+ s$ m: F0 L% I3 N
}  U1 r5 b* v% E# N; b0 |0 q7 Z& [
add_action('init', 'create_custom_post_type');  ^8 ~( ^0 y4 Z+ G2 i, M" ~
```- H6 V% E& Q0 @

8 g* r% H, b  g3 b  }在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
  m) d4 s! o7 m. ]/ G( ~* p# y. m$ r$ d0 c
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
9 e# @# @" j( m# O8 b/ g8 |4 v9 {% ?, v" x" t; @. f$ B  ]
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
8 u7 ^$ {3 U" Y1 u: K7 T+ a" E3 e2 a3 t2 d7 z; C: D' D, B% S; L
```0 K* [+ P) Z1 \
$args = array(( d( p8 B9 X9 k
    'posts_per_page' => 3, // 显示的公告数量$ ~: K$ c% y+ G% Z, h
    'post_type' => 'site-wide-notices', // 公告文章类型4 S: j! h. l/ F, g+ k
    'post_status' => 'publish', // 公告状态# n% [4 F! \) U- o. j2 ?- ?) Y
    'order' => 'DESC' // 排序方式
& J9 [% C* G1 R2 j);/ H) m: E5 k8 H3 H2 z! d

# L- i+ ]8 _- T7 U9 D2 z# V, R$notices = new WP_Query($args);
7 @6 O" _& }9 R. ?if ($notices->have_posts()) :% z1 H7 r% m0 f
    while ($notices->have_posts()) : $notices->the_post(); ?>
  c- A+ t& l; H+ C        <div class="notice">
- _, \# [1 a5 d" Q4 G/ r            <h3><?php the_title(); ?></h3># C# Y1 ~, ~0 y6 ]: h$ j
            <div class="notice-content"><?php the_content(); ?></div>
! [5 ?* \+ B7 S( R( F  l8 V  M        </div>- u3 H& W9 y- j0 w! ]* u3 K
    <?php endwhile;) W, B+ c  ?" u4 B* W) t6 ^  Z
else :
% K" |* c3 n3 |& z    echo "暂无公告";
' l  p5 z8 p) W4 ~- |; J( Sendif;" H/ B8 F% O/ h- N* O: `
wp_reset_query();+ s& s+ q7 p+ w# |2 Y
```
0 t) Q- {' v1 f
4 ^% m# j$ U* r& P- Y4 p. }这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
$ r5 L- y6 T$ P% z, C
* @* R% J7 h7 J$ B/ J以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

340

主题

526

回帖

3516

积分

管理员

积分
3516
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?: ~1 b9 \. [5 N/ x% O
3 j* _) x* R" L; M1 i
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。0 j  L: l6 {7 U' G/ b6 X
$ M. \* @* K% e1 S. |
以下是创建自定义插件的步骤:
( J7 n. R6 x! j/ }3 {5 [# f% D3 L9 T" f
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:# ?& P1 K3 r9 q' e
* j1 W5 i$ e# g, y
   ```, j; ~. S/ ~  w) _5 ^0 e! q
   <?php( {% k4 U4 i2 ~0 z, }( {8 x/ h
   /*
0 c# @/ Q4 S. t: v  R   Plugin Name: Site Wide Notices Plugin! K9 t9 `# w, h$ }, f
   Description: Adds a new custom post type for site-wide notices.
! ^2 f7 b# \7 n3 R" J) T   Version: 1.07 o: a& @% T( P/ N' N! j: Q4 G) X
   Author: Your Name1 X0 e3 Z/ ]# a* y  ?
   Author URI: http://example.com
' y4 P1 |2 c* t   */
2 J& d- K8 @3 ]3 ]. K
$ K: B! L) }% j# t4 X   // Add plugin code here...
. P) t- L) G" o& B8 q   ```8 w. p6 x9 A: t3 J1 p# I" b# F* |5 |

7 R" \: B1 [- X: h; x( }/ P6 t   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。% ^$ k; X, g) @# m, r( n+ n$ z0 T; N
. H5 l% M$ l+ Q* B' f) m
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:% n' z8 e8 D! ?! d  H' ^

" o9 C/ ?* s6 Z0 \' o0 E   ```
  U8 `  E6 K" N. w& Y# L1 |0 e' ?4 R   add_action('init', 'create_custom_post_type');, H( J0 @4 W, ~" D, v6 }: b. n. X
   function create_custom_post_type() {$ o" F8 g  ^+ z1 B
      $labels = array(
. I$ ^' Q9 ^+ p7 }* q, ~          'name' => 'Site Wide Notices',
6 y; |3 ?7 X; [  B          'singular_name' => 'Site Wide Notice'," F& }, J' d+ c* c# G, u7 X* C# T
          'add_new' => 'Add New',) t6 V: R3 R9 b9 t
          'add_new_item' => 'Add New Site Wide Notice',5 }0 t$ E. K, }$ S
          'edit_item' => 'Edit Site Wide Notice',3 u3 f" T+ h, a1 {7 u; g5 K
          'new_item' => 'New Site Wide Notice',7 O/ M" e$ _! c( j( O' ?
          'view_item' => 'View Site Wide Notice',
$ ~4 [4 }  `/ l2 K          'search_items' => 'Search Site Wide Notices',
# `' v  }6 ~1 x+ a- G          'not_found' => 'No site-wide notices found',
1 J. W4 Y4 r+ y( Y          'not_found_in_trash' => 'No site-wide notices found in trash'
/ z9 [! T/ ]' P3 a, \      );' e) r- ~8 v/ p! M
9 b3 }( [. B! M5 @; v  I& p. ]
      $args = array(7 W" k  j( W- n8 i. [0 B- T
          'labels' => $labels,1 G' X6 i) G1 E1 q) v
          'public' => true,/ R" F) h, C# _" d
          'has_archive' => true,
6 S3 i. J4 P- U+ V+ m- i% h! [          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),. s: M" G2 j( X, {3 u1 n" f5 \
          'taxonomies' => array('category', 'post_tag'),3 S1 p: g" }& E% h9 Q$ X
          'menu_icon' => 'dashicons-megaphone',7 V9 y* M- Y$ z- v/ k3 {, V
          'menu_position' => 5,
& U2 q+ O$ R& ], v4 n          'rewrite' => array('slug' => 'site-wide-notices')7 h- A; I/ c1 W2 F$ m* V3 N7 y
      );
& s+ M1 a/ W, h1 ~  r: V
) i% h& {4 U- K      register_post_type('site-wide-notices', $args);
& f. ^- v& P. h7 C+ b   }; v9 h$ G3 L( [4 e' I# R2 S
   ```
& ^9 J) X) b1 G. p- P
' p3 `& N" Z( y" F: ^   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。$ \3 B; Z: O4 v! O8 V; [
( d# j( F( }' i8 z
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
' l  ~; ]8 ~8 A7 H& {  [7 _1 k3 f
   ```
0 B% Q" d! Z, C+ @% o) C   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
1 E3 y, P5 b2 ]8 g   function add_site_wide_notices_boxes() {
+ x& `3 I$ t; c+ L$ D      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');: W4 e9 D6 C; s, |3 q
   }
6 z. m+ [5 p) ~* W
* M. a: D7 T5 \; f4 I$ t$ S; l   function notice_details_meta_box($post) {1 D  F. u, ^- X1 \. q
      wp_nonce_field(basename(__FILE__), 'notices_nonce');. Y% Y, n$ r0 e" e0 |
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
( k; [$ g% I" [      $notice_content = get_post_meta($post->ID, 'notice_content', true);& F2 D$ z% ?) N2 N5 {2 A
      ?>
1 M' \" r/ P: i2 i7 q      <p>
: D7 L3 z# Z, @6 ^# E          <label for="notice-title">Notice Title</label><br>
. z- Q  O( I4 a/ z: P1 ?/ G2 J/ M          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
: T2 y6 [4 Q4 @7 \      </p>
: j5 Y. `- Z5 d* x      <p>/ r0 [# \$ n6 I! a( t6 k
          <label for="notice-content">Notice Content</label><br>7 V7 B5 @; A* q9 g
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
( Q. P, a% m# L9 L) d" x8 D      </p>
! g) @1 ^1 X4 m% C      <?php" q) a* I1 F: q1 |! Q, D* m
   }
7 n! Q- A) t. K5 d% v) G7 k1 G
$ F8 l! s8 l+ A8 _0 S" b# n3 w   add_action('save_post', 'save_site_wide_notice_meta_box');; m7 Q7 F0 a# v# I0 t( I& g6 D
   function save_site_wide_notice_meta_box($post_id) {
: H& Z! W; P% r4 a      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
/ D& X. |# `6 Y! {* v# G6 r         return;7 n/ J1 G9 v( r+ R" S
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
% t/ m2 `- g; q' G         return;, z$ \) q& w) @

5 L! R% b+ Q6 u! o      if (isset($_POST['notice_title'])) {
2 c& @4 e% V: ~8 v2 o1 F          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
) {. r+ g* U. b- t4 N      }- I/ z$ [. b# ?; ?; Z2 u7 i% \0 B
      if (isset($_POST['notice_content'])) {! M, C; P! j+ j" @0 ]2 A) ^8 ~0 J$ Q: f
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
+ ?- w" J. `% G      }7 _' }/ ?" }8 t3 {6 ~' p9 \
   }: @/ n6 R/ T5 F% D
   ```- \2 V# x$ b( D! ?3 _* h$ M! g

$ U+ i0 J2 X; b. N* _, O9 Z   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
. v5 T* v: C# Y1 v* Z, R# J4 \( `6 `' E; F) K* J
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:& J7 @. y: W' m$ U2 l
: T$ Y4 |4 d1 c6 r  S; B6 ?* l
   ```
* H* d; G4 a" w% @+ `3 S& ^$ x   $args = array(6 H( R. h( Q6 T4 f" R$ h6 W+ x1 w
      'post_type' => 'site-wide-notices',7 b7 }/ n  y: W6 E8 I# ?
      'posts_per_page' => 3,9 @& {; b) }# H4 y
      'order' => 'DESC',/ A1 i" o5 ^7 g
      'orderby' => 'date'
& V) U; j( `1 \/ ^: s3 r+ j* L4 V: z1 p   );6 S: {! Q, q6 }/ i7 t2 ]) T
   $query = new WP_Query($args);
( S& r' ^9 _2 S& w8 q! j   if ($query->have_posts()) :; [7 i1 V6 x) p7 [' O8 E
      while ($query->have_posts()) : $query->the_post(); ?>
3 R8 b4 ]" y" b6 U( J9 E8 F+ F          <div class="notice">
6 U3 n' ~$ Q2 z6 h! h, M7 A; ?. W              <h3><?php the_title(); ?></h3>8 F' d" m3 A1 d# d1 X; V, S
              <div class="notice-content"><?php the_content(); ?></div>
+ L+ l+ y1 t# U: d0 v3 r          </div>6 Z% O& X) ?6 ^2 e
      <?php endwhile;
+ I/ M. _. e. O3 m7 _! z, _0 J4 E      wp_reset_postdata();
3 T! k* ?# J9 v3 s2 |9 [   endif;  }) v6 J. x- A1 q- L2 l5 B
   ```
7 T/ ?# g; I5 H1 d9 K
6 T. U$ m  r/ Q& z/ T+ l8 E   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-15 16:47 , Processed in 0.014692 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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