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

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

[复制链接]

341

主题

541

回帖

3575

积分

管理员

积分
3575
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
. l/ l, {* h- F' A/ `5 o" \9 l0 D; e2 `/ o' h: S1 S. a1 \
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
( h' v: Y$ T. r# G+ i+ G: T+ E- F' T/ n$ {6 q, d: L7 H
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。0 W! l$ B- P" V4 j. S- B
0 Z4 X! E7 G& m' w5 O0 `
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
& b) F. g; t' H5 E2 k' C; B
  z5 g9 O/ t6 Y/ Q( i! M, T4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。+ M0 Y& {8 S( {0 K5 u, `9 w; y

6 {& m+ V' t+ I, t/ k& @4 I# H注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

341

主题

541

回帖

3575

积分

管理员

积分
3575
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
* t6 ^  }% b: r; ]; y! L* T- m& W& g
4 L) m" R6 x- u; L* ?如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:! w) S$ G, t* h* F' g9 V. n/ `

, _; Z2 E; O1 x) n& l( H" b0 M1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:5 |( H3 d8 f3 d+ x6 S7 i

& N) {! f; @6 n  T/ L  R; |   ```
. k2 n4 }. g8 u! j  o   add_menu_page(
6 a+ O) j, |! M, v+ `- H! E5 H       '全站公告',5 ]+ g. O% x! s
       '全站公告',1 d. d$ ^" C* Z  `0 G2 a* |
       'manage_options', //需要的用户权限
  ^! l: m7 o. y8 m  K* ?       'site-wide-notice', //后台页面的 slug9 c8 v) Z; [& T: }, S) H" f- s
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数' {( B6 u& T" H6 g
       'dashicons-megaphone', //用于显示在菜单中的图标
/ _: W! k1 P  v' z1 `       30 //菜单项的位置
. V+ ]4 u+ I4 B8 M  M! G6 S   );, n/ Y" p0 Q* I) ^% L) M, u
   ```* J, x( F2 `' ?! {# I6 l4 w

5 h6 v* ~  V) R: i. }7 b& ]   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。4 ]# {0 _* d/ }1 i  r/ P7 }
3 |- V, F8 D2 ~4 J% u% l
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:* Z, D6 V" I6 O4 I; e( Q
' y# f. ^  ^% \1 J
   ```/ r* O2 G( v# m. q/ B* c
   function render_site_wide_notice_page() {
3 m2 H1 U, E9 ?) u. l! o+ K: h0 F9 j      // 渲染后台页面内容
) d' R$ J( b$ E2 ]. n# g! k      echo '<div class="wrap">' i8 ^2 ^& _. B' e( J" |
          <h2>全站公告</h2>! o! M; ~- c+ u" `- q
          <form method="post" action="">
5 o, D" R6 F: A8 S$ k( I              <label for="title">公告标题:</label>
; E2 V9 f; [* b: a/ K' Z              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
# v5 ~2 u6 b  G: O. x- ^              <label for="content">公告内容:</label>3 g6 v/ s( G& A7 [% w8 b3 e
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>8 m2 D: L5 ~. v$ Q1 K& Z: l" W6 _; H* j
              <input type="submit" name="submit" value="保存设置">
7 _* w3 ]  O* R/ a' p" q) \* E          </form>( G0 K: r0 x1 c& v3 H1 e
      </div>';
7 o* J. ]  k+ ^  k6 h- s4 d+ B# E; g4 g3 t  D# }7 _
      // 处理表单数据
9 r% U1 p) j3 {      if (isset($_POST['submit'])) {* z8 O, O: u$ [
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));- ]' U- a/ V! z& w. I2 S
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
, D& O: W4 Q$ d: X      }  {( S/ }0 }5 A/ \9 E6 \  n' P- F  U
   }9 u# o- F1 E0 k& V
   ```1 R6 m; X9 ^' \6 B0 f

' B) W1 m" E' W; {2 o7 I   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
! K- X+ Y) h9 s0 B# {  z5 ]7 m+ H3 Q' ^( Y. X+ q2 q
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:' m5 @1 N* C. g9 j
8 Z' V2 l" t& S7 g' U
   ```
) N! I. E1 A; a, }( t' O   <?php
* u4 C. z4 h* x- L# d. L   $site_wide_notice_title = get_option('site_wide_notice_title');5 F- A6 d. {5 @8 O' b+ I. O
   $site_wide_notice_content = get_option('site_wide_notice_content');
  T. z; c& E/ u6 @* U8 j4 P8 q   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
( s# B' X7 |( G       echo '<div class="site-wide-notice">';
' `* E9 W! `$ X" a1 C( S       if (!empty($site_wide_notice_title)) {
- H0 ]! d0 T+ U           echo '<h3>'.$site_wide_notice_title.'</h3>';
6 y0 F5 T4 J, S' _       }
  X! t* H. a2 b% \% K9 V$ {" R       if (!empty($site_wide_notice_content)) {
- s4 G1 C) ^$ x* L5 F           echo '<p>'.$site_wide_notice_content.'</p>';
  m  b/ s" K  R; [' `       }
' G7 i$ G, ~* Y0 ]+ W6 z3 ]       echo '</div>';) {& U; X1 }6 \# ~0 C2 L. }
   }! ^$ f8 o3 S/ u/ ~% Q
   ?>' W1 C; [3 d) c/ ^. L
   ```* T6 n, A( E- b; B: F4 _) `( L

  ~* c& Q+ G4 f. v4 M  ^   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
6 d3 P1 K8 i0 J9 D+ s4 l
) x/ X4 d# P3 }" i1 d请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

341

主题

541

回帖

3575

积分

管理员

积分
3575
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?6 y# a0 I: n) M# h0 X1 X; y
4 _* c, _6 w  Z
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
6 E. v: D) @" ~) I7 E* x, X2 \
6 g0 h8 x  E$ I" S" }4 O$ O% S1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:3 N$ H( w  ]! V& C, Y) u1 R; {
* J$ K) F& `. J
```
/ k. e$ _% w2 r& Cfunction create_custom_post_type() {  M# [% }+ Z) |8 y, v
    $args = array(2 b9 X4 X2 A5 ^4 ~4 g
        'labels' => array(
( j* [8 V- i& U; D, N$ A            'name' => '公告',
2 [5 n4 I5 L+ A% K$ Q7 u  s            'singular_name' => '公告'8 l7 E* _8 E$ S0 k& F7 K% O8 f
        ),, i0 s( B' y3 @" X4 \  [
        'public' => true,6 [) `0 d. a; \( v
        'has_archive' => true,% o7 Q, [7 Y( d4 a8 s1 \4 z1 {
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),1 g% W( l2 |2 L3 T: l! {1 I
        'taxonomies' => array('category', 'post_tag'),
! m& R7 I5 |. U: P        'menu_icon' => 'dashicons-megaphone',! V7 Q% n; S( ]
        'menu_position' => 5,7 N7 }3 U# C7 o7 M
        'rewrite' => array('slug' => 'site-wide-notices'): i( B; O# u2 A3 b) W5 s
    );
& P% D/ ^3 t4 {7 `    register_post_type('site-wide-notices', $args);0 B$ ?" M8 f5 M4 r# v# K
}$ ?6 e% u0 m* V* m: O
add_action('init', 'create_custom_post_type');% }" {' d  p: a7 ?7 z2 l& K! V: A
```
  A' d* F7 g! F# P' B4 f; B7 ~- x' _' d* q7 {# Z5 h
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
1 z( M8 W! `7 o: @( O7 _
1 X! s. E/ X) |1 t2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
) `. B5 P$ ~" I+ q3 y6 A( E. Q# V. z/ B8 h: I
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
( g$ A) }' A$ i3 n2 d8 E
1 Q- z! B5 O+ E' z```
; u: v! k8 Q* k5 m& N" p$ N" k3 @$args = array(
& x! D; L3 o4 l    'posts_per_page' => 3, // 显示的公告数量# _' K# G% N9 n6 i  E& J+ Y
    'post_type' => 'site-wide-notices', // 公告文章类型
/ V) X+ B: O' d5 q& n: v. `) \1 ~' N    'post_status' => 'publish', // 公告状态
2 n+ m+ x! ^7 f6 P2 w) K; _' H    'order' => 'DESC' // 排序方式  g: m4 `) i9 C; T( q) m! P; r
);& c- V( w. B: d# @5 ^2 a
- a# T  k% Z  W0 z/ d+ F: L; g
$notices = new WP_Query($args);
, d) R7 N$ w. x! ?* r$ p4 C: h" yif ($notices->have_posts()) :
$ B+ I% X, g6 J4 ^3 @3 B1 w4 ]    while ($notices->have_posts()) : $notices->the_post(); ?>
1 v: B7 U) D$ U6 ?( l        <div class="notice">
/ P, v% ?4 H  [0 [3 {. I4 q+ O( ]            <h3><?php the_title(); ?></h3>4 z* u* [: O( u, ~3 O+ ?
            <div class="notice-content"><?php the_content(); ?></div>1 z) y( L5 G8 F5 `, ^2 |; _6 f  B
        </div>4 U$ t9 v- J- y7 F
    <?php endwhile;; ~- m. `5 u9 V3 a. C/ Q) ~: Z
else :8 p' [1 ^, U. P7 L$ \
    echo "暂无公告";
- ~) A/ T2 r7 t7 l% W  b: \endif;
9 o" q6 s: c( s0 h$ P: d; ^+ uwp_reset_query();
  [- x5 d- G) B, s$ v' K( w```
' c$ G9 ]/ m) H
8 B" Q9 e( A7 J& v8 w5 {这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。" s, _/ J" ~! X+ z& \( w- p

* \+ i$ K. f1 v) ^0 E8 M% ?以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

341

主题

541

回帖

3575

积分

管理员

积分
3575
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
. G6 W! W" C: p; X: r. Z/ k2 U! P. j: i0 x2 O% N
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。9 i+ `0 i5 j4 O$ j  z/ }" `$ b. g# L
* G- {" D& J3 K, P2 T# y+ d3 ]
以下是创建自定义插件的步骤:1 p9 s! [7 r. [, |

1 L/ ^# l2 n  n8 R5 H6 F1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:  h# Q( m' R: [! T% }
9 R0 G4 `" D9 l2 y( G
   ```
& ?3 x# g% q: g   <?php
9 C& r( B6 o7 t0 I   /*) e. U, J! Q, k( ]
   Plugin Name: Site Wide Notices Plugin% Q, _" o% ~: w+ e
   Description: Adds a new custom post type for site-wide notices.
& \$ k5 K, p$ t, i) Q. r4 f   Version: 1.08 d* c3 {4 [8 n# \
   Author: Your Name
$ i- A$ {0 z& m. N+ m   Author URI: http://example.com
6 P& @; g  }9 n7 w4 y   */
5 J& C- K0 ~% n/ C' v4 y1 ?9 v4 x. D" z
   // Add plugin code here...
3 w, Y+ o5 E" W. H- i   ```
) R+ g% m* v' k* Y1 b' \
4 k7 N, m( I4 W5 x5 R  o   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
, p' W! h) d1 q
5 O8 W; y" U2 [" C, w2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:- [/ Q0 m% E5 o7 L  ~) N: O$ L2 Q

0 Q- W  `/ _" w/ v' p3 _   ```
7 r8 b) k7 [% W# b% L6 I   add_action('init', 'create_custom_post_type');
0 Q+ Q* z! P2 x% Q$ h% M0 d: l   function create_custom_post_type() {0 m3 \; ]3 z1 U. ?7 r
      $labels = array(4 L" s7 o1 J2 r6 U
          'name' => 'Site Wide Notices',0 u. ?! @6 `' K$ [( W' _! X, Z
          'singular_name' => 'Site Wide Notice',
6 e$ a5 [+ L1 }          'add_new' => 'Add New',2 m. p3 N" Q% h; C0 S% c* A$ j
          'add_new_item' => 'Add New Site Wide Notice',
! l& i* I! C/ R* f) T          'edit_item' => 'Edit Site Wide Notice',' m; c* T5 Y* J
          'new_item' => 'New Site Wide Notice',6 E4 Y. g; F1 p) K6 W
          'view_item' => 'View Site Wide Notice',
9 m/ _2 m7 B" a$ k  h5 [; ~5 @          'search_items' => 'Search Site Wide Notices',) r& U% x1 f8 d4 R: o$ E
          'not_found' => 'No site-wide notices found',
4 n8 m5 h( \# ]( A4 h8 M          'not_found_in_trash' => 'No site-wide notices found in trash'
# f. }1 ?2 H9 O. p" U! I# `      );
2 ^# T$ e0 y7 ?/ L& q2 P4 p# T, c( `( T
      $args = array(- ?  o4 D0 Z6 \# _/ J
          'labels' => $labels,! I) j4 U6 x0 f8 j: R
          'public' => true,
8 f- G( ?5 @  Q: U          'has_archive' => true,
& n7 V. C4 R# n6 }; T          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),! ^, ]8 T" h) k
          'taxonomies' => array('category', 'post_tag'),+ A2 `1 s' G* g6 V: ~/ V, h
          'menu_icon' => 'dashicons-megaphone',
  Q& c" i2 j& e6 z( [; n          'menu_position' => 5,  S, w" E. D% G! j
          'rewrite' => array('slug' => 'site-wide-notices')
* b/ J+ ]* Z; r# t5 y2 j      );( m3 g3 u7 P0 f1 J+ V& k

* j' A. B8 w& |  _& X$ P      register_post_type('site-wide-notices', $args);" U' e0 m9 v( C/ U! h) e6 I: D
   }, k6 \: D! f; m0 X$ U4 y
   ```
1 D. {' D5 L7 Q) z5 H3 S( }2 @- H2 [9 Q2 j+ P9 L+ }
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。4 I/ m- Q3 a7 @# x
* l* Y+ |/ g: @- k
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
& {" \$ a% C9 k; _4 i+ J. b4 h/ M4 ?; i- P0 M  [( z* _# G/ W2 M6 X1 K' {
   ```
+ I: E$ ~2 R8 j# c( g: r   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');( v- z5 _# e; J1 t
   function add_site_wide_notices_boxes() {: s  |2 ^6 U. ^( ?
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
6 s  g: c4 ?% f# ~% O   }5 @5 o6 X& u! D- D/ u4 M+ ~

! s$ }6 s2 M4 E2 k+ P& d: P   function notice_details_meta_box($post) {
4 G& Q$ n2 k: T! I( W* U2 j      wp_nonce_field(basename(__FILE__), 'notices_nonce');3 w! x0 I% M! ~/ B4 ^
      $notice_title = get_post_meta($post->ID, 'notice_title', true);* v% K" l+ D- u* q" Y
      $notice_content = get_post_meta($post->ID, 'notice_content', true);/ e( C8 s' D! _
      ?>/ u' F7 S, D8 O
      <p>* N  V) d% _* E2 L1 z( P. ~' Q
          <label for="notice-title">Notice Title</label><br>
1 i2 f4 H5 W& f! f          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">, K6 D  @* `' S2 `: X
      </p>
. r- h7 z1 P8 H8 A7 c      <p>
8 i; [/ y- R+ V9 y' L1 K  I          <label for="notice-content">Notice Content</label><br>
" f; E6 s, \+ Q) f7 g          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>, W$ @% r/ k3 X# f
      </p>0 \+ V4 g- Q4 ~/ D0 z
      <?php
4 f$ E1 b0 E. A8 ~   }
9 t) j/ a* K- [/ P$ c6 o: |2 j) K# c7 L: {: e7 B- Q
   add_action('save_post', 'save_site_wide_notice_meta_box');
3 B' A$ u" Z" n6 o$ C4 [   function save_site_wide_notice_meta_box($post_id) {/ P, V' f! k' r2 a! i0 d5 B0 R
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))" H1 C# }( N! R2 `  r  c
         return;) U4 C+ P' k5 n/ o5 `* Z
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
9 _7 n4 E( V7 B3 a- i; e         return;
8 N9 J! c7 |0 ~+ l2 Q- `0 D* G* C$ M6 k1 N
      if (isset($_POST['notice_title'])) {' [4 t; L! P2 k; n
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));) q: r# `9 J, f
      }1 W* y% u0 ^  T1 s
      if (isset($_POST['notice_content'])) {
6 g3 v% ]+ q3 U- M, J          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
) y: M# {/ M% V5 v$ ~      }
6 V; E0 R% a3 G   }
. x; U' J; i2 W" G; v   ```
' L4 ?, |9 ?6 H3 n3 }; {: }" F5 t; a: ^3 p: A
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。7 V3 d, i; H8 R8 X, U. r& D

9 Q. K, }2 R7 W, c, E; Z4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:7 c. e  z) A; J

+ b! l( v6 }1 j& g/ q1 u   ```
! O/ @  X, O6 z( g/ R( y   $args = array(. ^5 N" m* R' k" p, W6 L
      'post_type' => 'site-wide-notices',) m$ Y( K( \* s" O6 a3 _8 G
      'posts_per_page' => 3,
- I$ T9 K+ r1 y# I4 o% u      'order' => 'DESC',$ m0 R+ F8 g6 |& L% k0 [
      'orderby' => 'date': y& a4 W3 b" `) {: x& a  |
   );7 C# Y* d) B2 E5 a! O
   $query = new WP_Query($args);
* T0 l" d% z- w- A; t   if ($query->have_posts()) :
* Z  |. }5 g7 d! L- |      while ($query->have_posts()) : $query->the_post(); ?>
$ x0 g* I/ k2 O          <div class="notice">8 n. ]+ w0 o1 j8 H& H3 u2 Q) L
              <h3><?php the_title(); ?></h3>
& G6 c' X" P  A* t/ f! ~4 m              <div class="notice-content"><?php the_content(); ?></div>
1 `6 S2 h  p3 F* e) S2 J' C          </div>
1 L0 ~1 v3 A3 ?* {$ k$ L# D. g3 {      <?php endwhile;
- ~' Z/ D/ C- t. i1 C3 v      wp_reset_postdata();
) L; f, f$ Z: b( {$ e   endif;( _: s( E, b0 T$ e/ k
   ```
7 O1 C/ Y2 {2 Q& p
3 `9 S2 b8 l3 @   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-25 19:05 , Processed in 0.015183 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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