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

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

[复制链接]

340

主题

526

回帖

3516

积分

管理员

积分
3516
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
6 Z/ U' Q5 @+ ^) R" X0 I
) X" u, I: U$ I+ M/ t1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。0 Q! R* a3 s; R; S) `7 }

0 m5 z2 Z3 P* f- Q$ [2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
! ~( p0 C1 }" ^. n. L. N* x" u9 e
0 n4 O! z9 @$ n0 k  k3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
5 E! r# ]$ s, K' d' s( t! F( ^) d
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
1 B1 r/ p0 C% l# n: m+ m, L% ^. g- }/ P) s+ [9 _- E, V* H9 A
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

340

主题

526

回帖

3516

积分

管理员

积分
3516
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?7 ~6 ]# c9 _2 G; S+ G5 K* I
* l' m( K/ C" X
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:; k; S* ?- Z- j7 J# {* H+ p1 F
$ m% J! Q; p2 j. A" j3 z0 L
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:! g+ @. P6 L. R  c- @- h! ]* r

/ n( f) @9 z! ]6 k* k, c   ```* R2 p# q9 F4 O5 H
   add_menu_page(
+ k$ a5 |, h/ U4 D       '全站公告',
4 W. O5 h0 {, H       '全站公告',
: v8 c; `: b/ {  E) x8 R       'manage_options', //需要的用户权限+ d. _; W% \9 N) w8 [2 @9 ^) `7 j
       'site-wide-notice', //后台页面的 slug
' B9 H1 z5 J: P- U; k       'render_site_wide_notice_page', //用于渲染后台页面内容的函数7 }4 s6 w& F5 i: I" p
       'dashicons-megaphone', //用于显示在菜单中的图标" a6 |4 j1 B  B  M
       30 //菜单项的位置5 R1 B7 ^1 f/ o
   );
3 Y- z& g8 i5 i/ i3 F   ```( Y" D" s4 P; d" ^9 X
+ @. j4 E7 l" G6 |: \
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
" L' p/ x8 w0 `: t& i+ L5 n- C
/ W3 O4 U; t$ J0 ^6 N* }2 f2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
1 z  j. l# g+ p, c
* n3 L; @- m: b- F1 n, m/ U6 |   ```8 R" R' ~8 {4 q  Q* [
   function render_site_wide_notice_page() {
8 \1 n- ^- A4 k0 D      // 渲染后台页面内容7 z' ?! T4 {" V/ \6 Y: }- B
      echo '<div class="wrap">
5 I- E2 v: h- d  l          <h2>全站公告</h2>( j$ j1 i$ F2 c% r
          <form method="post" action="">, c# f6 ?' n+ z! V1 q+ k  `
              <label for="title">公告标题:</label>4 F: r- {& A* N6 F& U
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br># q1 V5 o( S; f" b9 a4 y
              <label for="content">公告内容:</label>, ~; v5 @  P& U. N7 w# o
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
" V1 @% _( n! e: r! j) g              <input type="submit" name="submit" value="保存设置">' O7 T9 o$ \; v0 }( ], W
          </form>
8 }4 B. y5 u8 w. r6 m4 A$ p+ A      </div>';) M1 r1 O/ f* r3 y) Q, J- ]
4 T9 z6 y+ R/ U3 k
      // 处理表单数据! V( s4 ~. F. q3 S
      if (isset($_POST['submit'])) {
+ p: V- \7 [1 t) i# w* n          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));& [6 f! \6 _) s3 W: O- h2 U; G& {2 i7 `
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
7 s, }% B- A5 O0 {      }$ u' m$ X6 e' D
   }. e: K1 T  k2 ^9 F% W& ?
   ```
- d! Q4 L1 }/ b$ g$ i
5 r, s1 @- @/ T; B# C   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
7 [  N% j8 t( z' Q: M! X2 V7 }( M
4 x" d4 C, \* u1 j$ P; _7 R& L2 ~3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
; l! Q$ |9 P# x: G
# c5 ?% q. z) V$ d   ```
5 t, x  R6 P: H* i8 s  [: _- O) t   <?php
7 q, X; b2 a+ t$ |+ g* \7 S' E3 q   $site_wide_notice_title = get_option('site_wide_notice_title');6 M6 V" N; @8 z: L  T9 Y
   $site_wide_notice_content = get_option('site_wide_notice_content');& ~; U" g( L( ~1 k  p! _  i3 y/ b
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {2 g# B0 O9 ?' @9 M/ h! L2 t+ b7 o
       echo '<div class="site-wide-notice">';
0 d$ h9 d, w5 r  l       if (!empty($site_wide_notice_title)) {
3 T( n' Y' @/ I           echo '<h3>'.$site_wide_notice_title.'</h3>';
: I' q1 M6 B* |# L- N       }
, q1 h6 m  f4 k3 M2 E+ a% k       if (!empty($site_wide_notice_content)) {
6 ^) z; O/ a' c; X1 g  g0 n/ \           echo '<p>'.$site_wide_notice_content.'</p>';
7 D- G5 ]6 v2 z, j3 |0 r- s       }( ?. {4 @3 i  p5 {
       echo '</div>';
0 F' m' k0 u" H9 K3 U   }) A( O- v" e( K# y
   ?>4 S9 y+ a, N( s# M
   ```4 S. T5 x- D3 s! k5 Q
( y  J5 N# {" X5 I) j
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。4 a: r% o4 i$ _

: T& I: v$ _6 n3 H8 ]4 J$ _请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

340

主题

526

回帖

3516

积分

管理员

积分
3516
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?2 I( A2 N$ a- E. o

5 q% d6 R7 f4 k4 B" `1 L2 P9 P您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
, F% X5 _, g- ?- F* e
$ p' V: g, M! {3 U7 D: Q* ]+ Z1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:; U& n2 N/ u4 k/ G; D  d) o
' b- V" s1 X, w+ r2 B+ F
```
( y' l; Y. N* o2 d0 q, z/ j: V4 Ufunction create_custom_post_type() {3 ]' c' F. B; N  J
    $args = array(# t% @7 ]2 }) A
        'labels' => array($ c) z' `# d/ z% f
            'name' => '公告',3 a  r9 Y1 X: x. ^& w, k- @
            'singular_name' => '公告'2 Q0 Y/ a1 H& D
        ),3 b# t. k4 t0 c( B5 X
        'public' => true,* w# Z. Y) X% ^! O9 j5 p: m
        'has_archive' => true,
1 H* J0 c6 t/ S( U) V        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),& w' Q- C& Z9 `* c, l4 F, Z
        'taxonomies' => array('category', 'post_tag'),
  d9 B: e( r- j        'menu_icon' => 'dashicons-megaphone',+ D& s) @* z2 d2 j
        'menu_position' => 5,% d2 H8 ^! h4 Z
        'rewrite' => array('slug' => 'site-wide-notices')
% M( ^$ w( u# h, C( f1 L* r    );/ p& g4 @: N. u- t
    register_post_type('site-wide-notices', $args);
6 h/ ]0 f  V  ]' Z( o, j}
6 K5 h( r2 ]( o3 ]! u7 m5 f. k* Zadd_action('init', 'create_custom_post_type');8 ^/ R3 I2 c. i' D! b
```
* O! i3 e9 T: F& }# c% a/ r/ v& U* _5 j0 ~7 s
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
' ?" G' L, O- D+ t4 ~
6 ]+ x& u8 l$ R* m+ Y& W% H( j2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
% q! l0 H1 i+ F4 n. m
# v  h5 O1 ~  ~/ x3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
( C4 o3 @: M: Q* Z
2 v6 I* {- D! F% L# k: P```1 Q, w) _* A2 K, f% G8 E1 T
$args = array(
1 i6 j) b( d: F3 f7 x    'posts_per_page' => 3, // 显示的公告数量$ ?% C' ~- T+ {% ?/ s5 C; G! @' j
    'post_type' => 'site-wide-notices', // 公告文章类型
6 o; y8 n( i7 b. @    'post_status' => 'publish', // 公告状态
3 X, J5 Y" ]* M' E4 J    'order' => 'DESC' // 排序方式1 C% |2 [/ y7 V- S1 x1 r( {( f
);0 U+ t( s# J  S- N" j3 ~

1 D6 l2 U8 }& Y+ `9 d, s$notices = new WP_Query($args);. j6 |7 H- p( k. p
if ($notices->have_posts()) :: e7 a; g( E4 G5 l
    while ($notices->have_posts()) : $notices->the_post(); ?>; H7 v0 \7 o) B
        <div class="notice">: N' v) g- X. S( ?/ b
            <h3><?php the_title(); ?></h3>( a! h# ?5 k- s8 C
            <div class="notice-content"><?php the_content(); ?></div>% w+ ]7 _5 T; Q
        </div>
3 v7 h9 j: e, q: Z. M    <?php endwhile;
* m/ @- y. {: P2 Melse :
/ j8 u/ ^% p. _; E; [, E, m: E0 e    echo "暂无公告";
7 O3 Z* @0 q, T: e( p( aendif;: K* I2 O8 t) }1 B: J& O( T3 @8 T
wp_reset_query();* N7 h+ y& b9 x8 g: H$ J
```
; w7 c2 m! v! F0 K& [: I. i% E$ G1 t
7 t) Y+ P3 n3 U: r7 n! Z4 {2 y这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
* _* x" m/ A+ l- c7 g9 L: g+ H- m' j7 H5 Y, g' X
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

340

主题

526

回帖

3516

积分

管理员

积分
3516
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?$ n" Z) u3 c) z- Q* Z; J# ~

2 ~% A% a: R& o5 Z# W2 L, s4 K如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
0 `2 p6 W6 n7 M* r5 P- W/ ^3 c4 C# o
* C9 M; @; h0 G以下是创建自定义插件的步骤:9 U' W! P# L# `% ^* p4 k

: t' I( v, ^2 y$ x3 e  Q! S. D1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
' h4 L  d$ ?# I; e; ^
1 I0 I* k, T" Z# x6 D) O' \7 ]   ```7 B* y- |7 }% X3 i. W
   <?php
  k$ P% W* I4 [' N   /*
% v. J8 t, g! |0 z9 Y. @   Plugin Name: Site Wide Notices Plugin/ V% |# J- k( w) L
   Description: Adds a new custom post type for site-wide notices.
$ b2 T; _' [! @0 W( B4 T   Version: 1.0
; F/ H- h& z; d6 M   Author: Your Name
0 P. l% @/ C- ?0 U   Author URI: http://example.com0 b8 z0 z$ R* Z% C4 Y
   */
# B. h' X$ P6 F3 {0 p) _
# o, x& n2 P  N6 T, T   // Add plugin code here..., X: u# q. d( h0 U9 Q
   ```3 e; L/ o0 }6 b& |
3 j' R7 x$ ~6 e6 g, W
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
7 e) p6 J& M/ `
* k& @9 K( J0 E% M9 m8 v2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
$ U3 {. |2 E7 ]8 u$ V' ], u4 A+ S. g9 R. Y% o
   ```2 r" H; r! o" D5 ~
   add_action('init', 'create_custom_post_type');: K( ^) m' d3 ~( c
   function create_custom_post_type() {# y# l8 P$ s# A2 x* R
      $labels = array(0 {# C; Q% _- D* o- w  J0 ]8 b
          'name' => 'Site Wide Notices',
( {& S/ p# r6 a& ^. `2 F$ e          'singular_name' => 'Site Wide Notice',$ B$ ?/ h' I/ T, j2 \& b
          'add_new' => 'Add New',
! V/ w, I% I; \: Z& v/ }. ?          'add_new_item' => 'Add New Site Wide Notice',0 L& [  |5 B! n% C
          'edit_item' => 'Edit Site Wide Notice',# p8 `: o' w& @; w1 M
          'new_item' => 'New Site Wide Notice',
4 E3 [8 V, k+ U0 Z, b# x( g          'view_item' => 'View Site Wide Notice',
! v. d! @* a8 i) v6 ]          'search_items' => 'Search Site Wide Notices',
/ r: D4 S" s, j& U8 a+ S          'not_found' => 'No site-wide notices found',( y% M$ y' j" \( ~% F# {- h
          'not_found_in_trash' => 'No site-wide notices found in trash'5 d8 P6 Y) F/ |
      );
9 u9 J$ d0 v5 Z: N/ d2 @  O' v2 h( ?1 I8 D9 U  l6 A* y
      $args = array(' E! t$ p/ M; K7 z
          'labels' => $labels,' h0 \  u  L3 s5 e5 I" N
          'public' => true,
- H2 S4 t5 B- a& ~          'has_archive' => true,
" {2 h6 d2 B$ A          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
: K; _$ s, `" P- Q. T2 G4 I7 x, N) P          'taxonomies' => array('category', 'post_tag'),& r" ?1 f: M" W( }8 m5 K2 d& Z
          'menu_icon' => 'dashicons-megaphone',
7 s$ U2 m  n8 c3 w$ s* s          'menu_position' => 5,, W* ]. t0 {; m, ]% z/ j
          'rewrite' => array('slug' => 'site-wide-notices')
' g2 W) ], i8 ]  h      );; f$ R' f2 P* r& t# L
% A) R; u: L3 O, p3 s# D/ ?
      register_post_type('site-wide-notices', $args);
6 r: s7 G: `  a+ j# b0 u) p) H! V$ w   }
3 r9 L4 G6 K) \  p6 k2 M   ```
1 y1 _' d9 y: V. k4 ^: a
$ D( M6 ^" h8 R0 t0 T/ A1 w   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。# v4 d0 A0 T$ `- d; g3 V0 C

! H* |8 `/ U8 O% E' I! K3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
5 ]8 l( c/ p; S& K0 X5 l1 y2 t+ A4 X, p% x
   ```# u, R$ h4 N& Z% s( X
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
5 Y/ U0 P4 A  ?6 z4 N! v2 f6 P   function add_site_wide_notices_boxes() {
, d3 K! n/ |8 f+ Q      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
* o2 W. l/ z. }3 Z! G2 d0 J3 P   }
5 W9 W0 v9 G) r: ?- p& R& f+ v9 N* S% n$ ]
   function notice_details_meta_box($post) {# N3 O% U9 |! z
      wp_nonce_field(basename(__FILE__), 'notices_nonce');
6 o2 |7 [$ }" |5 Q* J, {      $notice_title = get_post_meta($post->ID, 'notice_title', true);6 l( ?7 E3 Z+ P2 e  z' {2 P! {
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
8 O: ?7 [0 _( ]* ]3 \4 b  k5 y8 k5 j      ?>; A7 Q% [$ F: A  `, `% R# N9 K
      <p>
9 P: p9 o, Q) h# H3 ]- [2 N          <label for="notice-title">Notice Title</label><br>
5 \: ~$ s- Q; x1 W* j! K! }          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
9 a% Z0 n  q5 ?5 L) i      </p>1 [- u" y9 I" X' N3 @# B: _
      <p>
& ?, `' I" Z+ G' }$ {( h          <label for="notice-content">Notice Content</label><br>
! j! @- }1 J, c2 `+ q' C* |* g          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
, [5 O$ r" [8 z+ J      </p>
) C: Z# L) J, w0 x& t7 Q% }      <?php+ w/ h* B+ j9 ?6 J9 z4 |' Y
   }; b9 J+ X! a( H# N1 e
: B- w& c; L: E
   add_action('save_post', 'save_site_wide_notice_meta_box');
0 J5 X. b2 p; ^' w   function save_site_wide_notice_meta_box($post_id) {2 s" [" c6 Q  t! w
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
1 G5 B1 X% u4 E, J- V         return;. E6 h2 d! ^& u1 q- I: s" G
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
5 f& R" V& `& _3 i8 |. p0 u         return;8 U* h' F* S7 [
. H4 p# J; a3 |6 I' B7 v. p
      if (isset($_POST['notice_title'])) {2 X: f1 f. k1 h
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));1 Z2 \* S  Y! q- y
      }
; S6 ?* Y& L" o4 Q7 `      if (isset($_POST['notice_content'])) {
5 f* }4 P* O" A  O& @$ R% T  q  Q          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
9 C$ p% ^5 S9 S5 R      }. }4 W3 y: v6 N+ I5 K$ G; y9 |( }
   }! W$ n( Y7 _, k' ?( R5 |5 [
   ```# p+ L+ C  M. Y7 q4 K( X1 F; p. b# S& `0 D

- x, l, t, P8 e7 {5 S   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
6 m: S$ `3 P0 c( H
' V$ n0 T& s0 ?8 }1 n4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:; D, E% p7 u6 B, ^/ g, M1 Y4 o( A
/ }( o9 ]) k- y& Y# ]" I
   ```* e5 T& l0 r* `3 v# e5 F- d
   $args = array(/ w( F& p- v# Q% t# \% B
      'post_type' => 'site-wide-notices',
1 J3 i+ S9 d7 B- ?* q& L      'posts_per_page' => 3,
' b/ ?/ {3 M; r9 L0 X7 j# H" x8 o      'order' => 'DESC',
0 k; g- U5 T$ G5 t; Q7 G* g$ f      'orderby' => 'date'
1 S1 t/ t$ i6 J; c  a& }& N, M8 i$ j3 N   );- |' F1 z: I" R3 G2 i6 U2 O
   $query = new WP_Query($args);. G5 F+ t- y# J8 n  k+ \, J
   if ($query->have_posts()) :
( B) i- s. {$ K6 V6 P; k      while ($query->have_posts()) : $query->the_post(); ?>
9 S# {8 |0 l9 @3 U- Y          <div class="notice">3 \6 [7 b8 |" y+ c) p. p
              <h3><?php the_title(); ?></h3>
  C: ]) M: E  W% {2 s  ^              <div class="notice-content"><?php the_content(); ?></div>) e4 M) d: S2 s$ e% t$ Q. r% n8 Q
          </div>
' h: P0 U  ?' s1 k9 V6 ]5 \      <?php endwhile;
" U; W5 y* u8 `2 H4 z      wp_reset_postdata();& k; e7 b: S( T- L
   endif;
/ g9 \  I; t' n' }   ```
9 A( [" d7 p' j; M% _1 ?
# P  {6 Y$ s0 ^: m   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-15 12:10 , Processed in 0.020897 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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