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

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

[复制链接]

340

主题

529

回帖

3524

积分

管理员

积分
3524
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:8 i8 j# Q: J* I) d0 \
, J/ O4 v. D; j) R+ j: t! h
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
3 V1 Y* _/ j. V# \) |8 V5 ~! G+ b" H5 ?) }) v+ x$ V" ]
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
( u$ e5 y! v5 X& B6 H/ y9 A4 N; D* X0 W' b* w1 b, ?
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
% J# o7 A& ]" N& q/ Q  T+ `
, b  i; v' f7 |+ v* E4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。9 \0 M( D' ~5 U$ L, Y) @
9 X! ], n# v+ [* H$ n1 n
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

340

主题

529

回帖

3524

积分

管理员

积分
3524
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
+ q. m% h' w( y2 C! c+ i& s
9 @* [, D. e# l4 ]6 B: }+ k如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:2 ~3 f: ?2 T8 d# C# ~/ m/ ]

* C0 j) m7 a! w0 u2 U2 I$ k1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:$ K4 J* z( X$ A* Q3 F( U( s# V# Z$ o6 D7 W
& E9 h4 X. v% G+ V+ `, p4 Q3 {
   ```
# K# A8 f, r: N6 M! ?   add_menu_page(
9 Z6 o& X: }7 n$ O, [       '全站公告',
7 i- C0 M! }) m0 y3 I1 O6 b: m       '全站公告',
+ s* G* }# b' z5 y/ e7 ?" P       'manage_options', //需要的用户权限+ M& r! J1 Z( g# x, E
       'site-wide-notice', //后台页面的 slug
! ~7 d% w" x; K5 f# J7 C9 F       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
$ A# O+ G5 C' X1 \- K! r5 q% |2 \       'dashicons-megaphone', //用于显示在菜单中的图标" i7 q2 e: Z( k5 ^! |: J$ c
       30 //菜单项的位置4 L# r* G# T- _6 p- }$ s5 s  S- X% t
   );4 E9 F$ s, w  J  @
   ```
) O- m6 ^3 e+ V( V. u* Q" @9 }/ z7 }5 }; ~) e0 U+ d# v
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
1 O) y/ p# s* Z  n( G/ T
; K# P4 _0 d8 F2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:4 ]/ K/ F$ `0 d) N
" i8 z  |8 ]* |1 P( @1 V
   ```
- a# B- h! }" T1 r, o+ v   function render_site_wide_notice_page() {$ S0 L( ]8 A" [) Z
      // 渲染后台页面内容, Z8 Z2 W& Q/ ^" g) d$ f. @
      echo '<div class="wrap">
* t+ ]% P: ?% L0 M% q* K          <h2>全站公告</h2>
" E$ t2 Z! g3 Y+ t+ B, T( K8 X1 e9 Q          <form method="post" action="">
) f0 x. r" g; ~0 X- X; [- g& g' j              <label for="title">公告标题:</label>8 S4 F( b' n4 I: [% y
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
$ O! D: }9 A: N4 Q              <label for="content">公告内容:</label>- h, E, F5 w0 d% v6 C1 \0 ]
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>* y% |  X9 l( P
              <input type="submit" name="submit" value="保存设置">3 P! p5 e- v3 q" r2 ~  w+ Y/ ]- P. N9 w
          </form>3 `- w8 l' B; l% L0 L
      </div>';$ y1 K3 T* P6 P( u" S  h, j4 Z5 t

2 |7 _# ]# h( g8 \# s3 k* l      // 处理表单数据
) U. T! v5 p" C' W  w% ~      if (isset($_POST['submit'])) {
  L; t9 B+ m7 x; \/ ^          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));' {- R) q2 s6 s8 \9 g0 M
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));, t. j8 M/ O" b- k
      }* M' m* x6 y( x) k. K3 x
   }" `1 u; w( M+ @# [' _
   ```5 b: X; J7 M- Y/ E6 ~
# ]1 ^: `/ T: T6 W4 u( T3 \
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
$ I7 b- q* M8 U  u" j. i: L1 V
: _/ o# S" {- p  |( r3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:" @1 n% k6 d2 E0 E/ f
: a. {' b0 a3 O! R3 p
   ```- R+ ]' k% b8 o: u' t# ]- }
   <?php
! `$ A  w9 i$ r* h# B   $site_wide_notice_title = get_option('site_wide_notice_title');
9 F# p# Z: X% D( n. x0 V   $site_wide_notice_content = get_option('site_wide_notice_content');
, K; N  R+ T+ j, S6 E   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {) ]' A: C! `$ b: b9 H2 B
       echo '<div class="site-wide-notice">';
/ s; w1 A% Z6 e* N3 h) c4 W       if (!empty($site_wide_notice_title)) {! s! p' ?. d: U3 ~& f- ~  ^8 ?: e" }
           echo '<h3>'.$site_wide_notice_title.'</h3>';
1 k% B2 L, P9 G0 V" D  N) O       }
; E: F/ a! ~8 B) ]  R5 \* U# q: Y       if (!empty($site_wide_notice_content)) {
# g( d. D  w# w! Q: m4 s" d. U$ H; q           echo '<p>'.$site_wide_notice_content.'</p>';' V' S! V  J( \/ K. r
       }
* Q* Z# s" Z+ ^% \* Y- E; y4 z4 H       echo '</div>';
- j# h# B. A/ w) a# B/ ?) R   }
. E2 a. \4 R; C* Z$ S   ?>
! N; h1 x( C) M0 X8 Z   ```
' y. c) r* H+ K* R6 M
. o8 P, g& N/ `; T" d, P! m6 m   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
* B& m7 p. u) v. Y6 w! y
7 M" O3 k* |8 q* @7 p$ r请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

340

主题

529

回帖

3524

积分

管理员

积分
3524
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?$ R- x3 x% L9 h- _" _/ b/ r
- p; Z7 \+ _! H& W2 Q
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
- b) `7 r# k+ P5 y- ?# v2 u5 I
! x; r! y; K/ n; ?1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:! c" }8 m. `  ^+ ]" [& }
1 P: B/ S  @" m3 S$ V' k
```
: c! I- h' |. l' ]3 F: u2 X( d+ rfunction create_custom_post_type() {; p- J+ N0 O) o; _' j% r* Z4 r6 j/ |
    $args = array(' v! G9 v7 i2 E& i0 V, H$ h
        'labels' => array(4 \" z- J. u* Z0 ]
            'name' => '公告',
2 u" K: y/ H5 z4 g            'singular_name' => '公告'
. W% P1 x+ e8 b5 E' `! j        ),
2 W$ i6 `0 s0 w+ a2 o; Z        'public' => true,& X7 w: D2 M1 f' C$ |
        'has_archive' => true,( w* i1 l9 d- y4 C" J; f4 \
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
4 P- I4 ^' P' y! c& t        'taxonomies' => array('category', 'post_tag'),: M6 S) y& \' \" u
        'menu_icon' => 'dashicons-megaphone',1 [% ^9 M& x8 s  _
        'menu_position' => 5,
) r, U4 T6 d' y; w        'rewrite' => array('slug' => 'site-wide-notices')
; g  z- K4 c+ O0 a& M    );+ A8 N+ R; L# v; g# ?6 l# D0 [0 F
    register_post_type('site-wide-notices', $args);
. n0 N% }- U0 r  Y& N* Q}; y0 w* t% _# D
add_action('init', 'create_custom_post_type');4 s) b$ y' [& \
```" p/ d8 L, n  Z& f$ f+ R
5 V& g( ^% {6 H% f6 v
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
$ _3 v' T+ U$ E6 K/ i, R
9 O9 S5 {# b0 B  J/ Q6 F2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。% _5 O; v' `/ ~: D7 V3 m
& i& X% _6 N. Q! R7 F4 U5 m6 {
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:# v' B- @+ V7 E, Q( D& S! J7 u

* M5 M4 F& ^' o3 j" F```
* `1 _& }" M7 i3 E$args = array(
. l/ a" x9 [! N. u/ R. y    'posts_per_page' => 3, // 显示的公告数量
6 H8 U' J- K2 ?+ |5 D8 b    'post_type' => 'site-wide-notices', // 公告文章类型
4 m4 O/ Z. Z, y0 o) r    'post_status' => 'publish', // 公告状态
; f7 d$ h  f% G$ q8 w    'order' => 'DESC' // 排序方式/ r+ D- l* e* A7 l" U" F
);' r+ f  q# Q( I! E- I6 w

! e" ^) p/ K& a% |* Y" J% w$notices = new WP_Query($args);) k2 n* E  g3 F) t5 h% o
if ($notices->have_posts()) :) p3 {3 O. }& q
    while ($notices->have_posts()) : $notices->the_post(); ?>
6 X0 C8 j1 z: B( u0 R5 A. \        <div class="notice">( ^+ T* N! N" q6 e) R9 M
            <h3><?php the_title(); ?></h3>
; R& m2 S4 a# T            <div class="notice-content"><?php the_content(); ?></div>
$ M( f; j& K; ^# T- X        </div>
; }& c) f: m/ r9 B    <?php endwhile;
$ l" Q1 Q1 M6 Melse :: R/ B5 X0 z# m
    echo "暂无公告";/ g$ F0 C/ M. @
endif;
1 |* O4 [3 c: I7 K7 P" {wp_reset_query();$ C. k; I( D* N: `9 q8 h) p
```
# y6 ^+ |1 K5 D- j! m% U9 O) q7 c2 H/ P" o
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
" V; b, m" N! k/ P
/ e' z4 L7 |6 ]" [" j" U2 }# O2 f以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

340

主题

529

回帖

3524

积分

管理员

积分
3524
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
+ T) I& k4 Z6 P& Y
7 ]/ i. C* E* A' R5 G6 f& f0 N6 A如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
7 l& P! c3 ^1 F+ Q& V3 V, o+ f2 ?! i# l
以下是创建自定义插件的步骤:
5 Q/ Q1 ^$ u/ w& m2 d
2 V+ q; c, _: x8 Y3 T. l2 a6 M1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:9 w# y! P: O# _: c: D+ ~

5 v  f5 ?- I8 {: n   ```
9 s- X: F/ \8 _3 T! ?   <?php
& Q  ]$ w, u/ t  |' S) q6 y   /*
0 D4 ~5 n* j0 v; H. z   Plugin Name: Site Wide Notices Plugin
7 |1 J9 A) [7 C2 L  U% D0 a" N" g   Description: Adds a new custom post type for site-wide notices.- E) M# v- Q9 E
   Version: 1.0
4 I' H& {! X+ i3 [3 b) M1 U% |   Author: Your Name9 e  s6 ]. p- w, Q4 C
   Author URI: http://example.com- O4 \- f' u! z) r/ G
   */
( \/ D! g8 P/ H" K" u
- S5 w; d- ]" d/ V   // Add plugin code here...
. F2 q: ]' n, `1 L' D   ```
9 t8 u  Y  U6 L7 P$ n
3 h2 Q) [9 }. M" m0 {) O   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。* J$ C- j5 V" P3 b9 _& D

; V2 l! B: \6 x7 u# y2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:; E4 G& N8 \9 c( {' e2 n$ ^( ]
% z5 V) N: Z( W4 M2 S2 Z
   ```
. g1 Q% U! C) @  ?' n. ]   add_action('init', 'create_custom_post_type');
$ d) K9 h6 }6 v0 P- ^/ K8 H9 B. t   function create_custom_post_type() {
1 ?. K; I' o# i, m& w* Z      $labels = array(6 [1 }5 @0 h" K+ H
          'name' => 'Site Wide Notices'," ~3 w& s- z9 F/ I& `
          'singular_name' => 'Site Wide Notice',
( \; O! N* k* L: b: d          'add_new' => 'Add New',5 J/ `$ x+ F3 X
          'add_new_item' => 'Add New Site Wide Notice',# a- P0 D- {7 ^; w9 y  D+ t: u
          'edit_item' => 'Edit Site Wide Notice',
$ j* [2 g* [$ @, p( Z. ~0 {) h          'new_item' => 'New Site Wide Notice',
" X7 i2 Z) R! M7 x3 ]          'view_item' => 'View Site Wide Notice',' z' ~& X( o; D1 _4 g, Z
          'search_items' => 'Search Site Wide Notices',3 _! R$ a9 a7 Y9 k
          'not_found' => 'No site-wide notices found',. h0 u6 k: g- C. s3 y& _# U; y
          'not_found_in_trash' => 'No site-wide notices found in trash'
  p4 G; k4 A; m7 F; U' L, \! L* x      );
! Q7 |7 O0 z8 p' k$ D
7 Q* [6 s+ ~' z. D7 P      $args = array(
/ p( {) R) ^5 g( J8 M          'labels' => $labels,
2 E7 t8 I0 I( e          'public' => true,; _! |$ M3 x: e; Z( t$ x! U; y% `
          'has_archive' => true,
, A/ V. ~: w! a$ k% n6 P          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
  }( N% L0 ~9 p9 C. F' N          'taxonomies' => array('category', 'post_tag'),
, n1 D$ x" n/ ], P9 R          'menu_icon' => 'dashicons-megaphone'," }+ j# i4 P0 S3 T0 A5 F2 S
          'menu_position' => 5,
* L9 M$ |" ], _$ y          'rewrite' => array('slug' => 'site-wide-notices')% g! J4 u& H8 z* J- b4 y- Z& H1 b6 G
      );
! ^9 Y( V- b. @" Q' ?1 L* }  I- H* N1 x) r+ x! e+ b6 F" l8 B
      register_post_type('site-wide-notices', $args);7 ^2 c" q  V. ~% h, \5 [0 K; f$ f
   }& I. C/ l$ n* Y% G6 z5 x7 x# G
   ```  C/ j9 P! J- a7 P
! }+ ?, ^* [4 g  ~. T: b$ ^/ v8 f
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
: {) E! C" @5 {7 A1 V6 O0 L2 m/ @& m3 x/ V5 Z- E& |
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
. z& f3 \# m- Y1 W* Y2 |. N0 |: ~$ h  t. T/ s7 b
   ```* [. D" x7 Y5 P# i& h4 k. R; \
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
: H; w+ Y" l! T. e   function add_site_wide_notices_boxes() {
3 W7 E! S$ v# J4 _' y( U      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
' i3 j2 f# c/ J8 O. [- u/ t& W   }1 w: H3 Z! |& s7 \

6 t/ i/ k0 p1 r7 p6 h  b: c% o   function notice_details_meta_box($post) {
" l5 H0 L* W" U      wp_nonce_field(basename(__FILE__), 'notices_nonce');8 V. T- @: M# J
      $notice_title = get_post_meta($post->ID, 'notice_title', true);2 L/ t5 T8 i% f1 e5 I9 Q+ T1 k9 L
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
1 g3 ^0 v3 a" d; z- J2 K/ @0 G      ?>2 t$ L* U  }9 D
      <p>
( t& C. x+ n" e& G# `! W4 M          <label for="notice-title">Notice Title</label><br>
5 A- x" K- @* x          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
( {2 \& ~7 Q4 n1 C      </p>, Y* Y: c( f+ Q( }2 ~" C  ~
      <p>- Y6 n, H& j' z, j! P
          <label for="notice-content">Notice Content</label><br>* V* Z6 r0 _+ R  G; {5 q
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
% I. V' r( i! r      </p>4 t7 Y5 T1 K9 \) l5 C
      <?php
4 c) ?1 `( L! o1 o; l* m/ j) `   }% W" r! A( S& X2 [! g/ j6 S
  l0 T, C3 F" F
   add_action('save_post', 'save_site_wide_notice_meta_box');
" o) w) g* o% z6 l( K   function save_site_wide_notice_meta_box($post_id) {4 }: K. D' H& a7 M4 e4 y- d
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))* T" A" Z8 X2 Q# z
         return;/ c" u! l7 r5 L2 L. o# d
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)6 |% b( |" ?) p; A
         return;0 V: ~6 N+ u8 e% N
9 r1 H% W/ [1 G
      if (isset($_POST['notice_title'])) {
* l7 N) V. s5 n/ y          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
8 _  p6 _" @. c% W! R: w      }. Q, `) Y% d2 ~, a/ K
      if (isset($_POST['notice_content'])) {
" n& k4 p" D+ i  x( b; g  Y% c          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));! v& W) q, F, x7 r3 J4 p0 M
      }
9 P8 F3 q4 G4 }( C   }1 ^  N3 ]4 e3 B$ A5 f
   ```$ U4 q9 w4 |8 M+ E* G; ~! I: e
2 ], b$ e% l; A1 k5 r1 a! d
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
, q3 v) t( c6 ^' _6 n0 b# }! }8 X0 `& k5 x8 S. H" M) s) p
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:5 M. I) y3 e: P- R
! l) n; u7 A0 O( P5 z
   ```
! k( K" @7 H; f5 T   $args = array(  b3 k5 n* v6 s! O
      'post_type' => 'site-wide-notices',$ k$ l' m; I4 o9 k# m  e
      'posts_per_page' => 3,+ G% c0 p& V* U3 R* j
      'order' => 'DESC',
% R8 F+ ^6 i: n: P9 O" k      'orderby' => 'date'
8 Z5 T7 |1 M0 i* z: D# k% ~   );* K2 r! u+ s+ B( t3 d: m
   $query = new WP_Query($args);
+ z) t, W- B+ L) M$ ?6 b$ g" O   if ($query->have_posts()) :
1 q( e' ]$ W2 w% z$ T  I& E! y      while ($query->have_posts()) : $query->the_post(); ?>' _, s+ Z3 v; u
          <div class="notice">
# F1 y; \7 }1 f- ~9 i              <h3><?php the_title(); ?></h3>
: }% N# i4 c; R; _              <div class="notice-content"><?php the_content(); ?></div>& F' S1 i' t. r0 w
          </div>) c+ q* \) K% J/ a
      <?php endwhile;
; t4 Y( A0 o; ^; |% M. P# X0 W      wp_reset_postdata();7 c9 @) O) k( I* |  c0 N3 r3 D. @
   endif;5 m* m( q9 m: ]5 Q9 u& F
   ```  z  O; E+ S! s

/ d+ `9 N: n& {4 ~   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-17 01:07 , Processed in 0.021825 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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