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

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

[复制链接]

332

主题

513

回帖

3372

积分

管理员

积分
3372
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
, J7 d4 N7 M' e- q1 o% X
: W2 p. _* H( u3 @' ]0 y1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
5 ?2 w# x; i/ y# Q( E9 e
) t5 T, i% |, M: J. A% z2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
1 E+ c/ g( E3 _2 k  U9 q" q% a; H; D" Z: O; _
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。. h* g9 F2 [5 Q$ N$ p" b
2 x' e/ w- u' g3 i  v7 _7 C
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
+ i9 C8 F; f/ [% w
3 V. y5 [2 f# ^' e2 Z7 G注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

332

主题

513

回帖

3372

积分

管理员

积分
3372
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
$ }# P$ H; g6 b1 V1 }8 N
; j. u9 m8 L& M& O如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
( q7 B: w+ z; O# j1 H2 b  b" n
" D/ {& J! C- i, u1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:; w5 z$ K5 k" u6 _5 {$ ?

0 t5 c" o2 l0 h. B   ```
' H. b% _6 c4 T' t" ?6 j   add_menu_page(# a  P2 q' J: q) U7 }) L
       '全站公告',
; ?8 E; ~/ i: B0 j4 P2 W  b       '全站公告',
7 N$ ^% z) |1 L, C       'manage_options', //需要的用户权限
6 f; i2 @2 S) U) o+ b2 e       'site-wide-notice', //后台页面的 slug
+ j# @. z3 j9 b5 @. x9 [6 J       'render_site_wide_notice_page', //用于渲染后台页面内容的函数0 l1 l; R' }# B$ V+ I" Q0 n1 K' J+ y. t
       'dashicons-megaphone', //用于显示在菜单中的图标- o* W& H: \( I7 V
       30 //菜单项的位置% q' d; Z/ ~2 x3 H6 j, `
   );
+ _! f# k! `- v6 O. w$ z  V   ```, P! H1 G( [7 H- ]; O( \/ j4 P

" P, o0 [2 G3 Z& s" Z8 d! [   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
& L7 q6 a/ e8 D: E1 J
+ G# n/ C$ G$ u' m6 W6 E2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:% _- ^2 G% P+ g$ Y6 c3 h0 [
! G, X7 |# D& J. P5 N2 i
   ```
) K/ r$ j8 O8 R! `% d$ g   function render_site_wide_notice_page() {8 S4 `, U" ]; |
      // 渲染后台页面内容" Q" g( N9 Q  m* t6 Y1 M, b
      echo '<div class="wrap">
  n& {4 }( b! l3 M          <h2>全站公告</h2>( b6 P( A9 U* c" E
          <form method="post" action="">/ ^1 q; m& i+ g( x/ O- V
              <label for="title">公告标题:</label>! d) I% X) [4 X
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>5 n+ O# J8 v8 s* [" z
              <label for="content">公告内容:</label>- s# G+ U" O4 h5 w
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
" G1 w6 P4 L# H* k. E& H! q              <input type="submit" name="submit" value="保存设置">
2 l  ?5 s" q4 l# a/ i          </form>% ~9 N# F: V% z3 p$ S: Z, Z8 ?8 M
      </div>';
2 X0 v. z% X4 V8 P) a; y6 R: P
' Z5 Z- V& B" ?* \7 j1 w' J      // 处理表单数据( P$ y# n9 T, |  r( }  f0 C
      if (isset($_POST['submit'])) {
3 \* z8 w# U* Q8 F; ]. D  u          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));: L; f, I% u; g5 ~% Y- l% ^" e0 s/ d* u% s1 L
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));1 v, [1 N8 X# h5 R# E. M
      }+ W+ ^/ {* m; W! E: N2 N+ ]
   }3 D) ^" T+ G* D
   ```6 z2 R1 [8 A. y) m3 o/ [  D2 i+ @

  [9 ^0 h  ]1 D   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
: I! D, F7 T) O# W
" J) Y4 z! H4 v6 }  [* P$ |3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
$ n0 Y! L9 G( f. g9 T6 A2 G9 {! M  y' z0 ]
   ```
$ W" H3 ]& i, U; @   <?php
7 }1 Q6 [; J9 K, z, O' b' K5 K   $site_wide_notice_title = get_option('site_wide_notice_title');
2 k$ X/ J0 r+ D/ g4 ~   $site_wide_notice_content = get_option('site_wide_notice_content');. c' M7 j; S2 P/ D! S& v+ j  u- F
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
* n5 d' K! u/ K       echo '<div class="site-wide-notice">';; E! i7 h2 [! }
       if (!empty($site_wide_notice_title)) {
$ b6 v' x7 |% |' I7 |           echo '<h3>'.$site_wide_notice_title.'</h3>';0 ^; k* I3 L$ o
       }
& |+ V  B0 D+ B9 _0 a       if (!empty($site_wide_notice_content)) {
2 I  v3 B$ `8 V1 J           echo '<p>'.$site_wide_notice_content.'</p>';
$ t$ ]# m6 A8 @: E       }( J- S9 s$ ?9 p3 O+ L5 m2 K" ^
       echo '</div>';
/ Z/ N7 O* C6 q; @9 {3 h- c5 g   }
- O- o1 Q# K$ e8 ^3 E   ?>
3 N1 ], {) v5 k   ```
4 [- [  n+ Y9 y' ^* ]0 g8 B
3 J7 U- a( i* j' s% }' g2 ^& J   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。7 ~; U( D0 P% ?/ S6 x) `3 ?
; ~9 p  d% P2 J
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

332

主题

513

回帖

3372

积分

管理员

积分
3372
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
+ [' m% C& \3 }& Z) \) X" h
4 K, M0 {% v7 _- p您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:/ z2 T- D7 F& o; A& ?' |

* J& q- b+ j$ G6 N) [/ p1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
0 ?) \0 v+ {$ {. u/ f- J1 x. b& I5 v* a0 J" |4 p
```
* o' l# t1 g4 i# |! ]function create_custom_post_type() {! i& X! w/ }& \8 g; d
    $args = array(
9 g7 D/ l/ \9 L        'labels' => array(
0 Q% d6 v' m: n$ ]            'name' => '公告',
! _# h) q+ v- z; p7 p% |7 L            'singular_name' => '公告'5 s/ {; c; N) q) K
        ),
4 q& }8 H. X4 \7 P4 P: }        'public' => true,. `2 R5 l, Y. q. W
        'has_archive' => true," D7 W! O- K* [. c; u2 a" n
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
9 P1 M5 y6 J2 M2 u" U        'taxonomies' => array('category', 'post_tag'),
2 X2 D7 j$ Q9 U) ~. m        'menu_icon' => 'dashicons-megaphone',
  W2 J1 F* r( O. p# r% X. M* Y        'menu_position' => 5,7 o9 Q- b6 n& E3 @2 g/ P" x; n
        'rewrite' => array('slug' => 'site-wide-notices')
9 r' c# d2 d0 J8 J    );
4 n/ H( X/ L9 e+ t- }. G    register_post_type('site-wide-notices', $args);+ K3 @2 ]# y$ X, y: K
}
; L+ x% e6 Z7 t+ a  L  radd_action('init', 'create_custom_post_type');+ Y; |1 L* T4 r) f
```
9 J( S, \. \! F7 ^( {# v7 p5 W3 y( a- v+ x
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
  e) f" N- ~( e% u6 [1 G, g* x! x: j- B, d; J# I9 G7 x1 J
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。+ L2 m5 @" v! S
" C6 _+ R- d6 u0 K$ m
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:3 i- G0 R- }, z/ }0 u" I, r

& Z4 s: x1 ?7 I; b6 N/ ~# Q. ?```' d3 J& w7 z1 B0 q2 J' L
$args = array(6 k2 c( u/ F/ I* j$ n3 f3 ]# Y0 ]
    'posts_per_page' => 3, // 显示的公告数量5 A* G& K. x5 c
    'post_type' => 'site-wide-notices', // 公告文章类型
1 C7 U. \+ _* c* L9 z3 I4 e4 d) Y    'post_status' => 'publish', // 公告状态3 F0 S# d6 C  T+ m5 Y
    'order' => 'DESC' // 排序方式
8 ^0 U8 u, C& z3 z7 M7 H);" ~: M8 U  f7 }) _) Q
+ b) S; y) A* o2 I* i
$notices = new WP_Query($args);
$ P7 |$ d# C" I& ?/ l5 G" `if ($notices->have_posts()) :+ H( l, c4 w# o2 }
    while ($notices->have_posts()) : $notices->the_post(); ?>: v: J+ [9 {6 @/ m- o
        <div class="notice">* F( A$ _3 B* m! z, u
            <h3><?php the_title(); ?></h3>! E$ r  _5 l* r5 W& s
            <div class="notice-content"><?php the_content(); ?></div>( V+ f, a/ o2 `; H
        </div>
. ]" k  @+ f. n+ l+ [    <?php endwhile;, ]( W( ]9 \; u; j) v1 k; N* R
else :
, M" l5 N% H' X) R- ]% l$ _0 m    echo "暂无公告";
6 J' d+ E; h3 [# x* _endif;3 N7 w; t) p' W! ?, B( P
wp_reset_query();
0 q- y) P; L9 [/ [8 s6 B' L```( o' b( M" p9 i( E. `' U5 B& @
: T1 w! _3 `( c, c& I! R* \
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。# {; m0 |+ m1 F- j6 z

0 d- n5 N# g* m: ~6 x0 y* T以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

332

主题

513

回帖

3372

积分

管理员

积分
3372
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?( U9 G& s& e1 ]

/ W# w0 L, I+ d  W3 \如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
/ ~1 W- S& p' |& k/ N/ W! l/ N& Y7 e- y8 E
以下是创建自定义插件的步骤:2 `' I0 H/ p/ q& V: V
8 e, i6 K& J+ r' }# I
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
5 t% L! J! n$ D; w3 T- }0 B$ t9 s+ q- P. Y
   ```
! H6 h4 R, H% h; A2 X   <?php: b: G1 n' r& X; T+ Y
   /*1 @+ {- Z6 k# T
   Plugin Name: Site Wide Notices Plugin
5 @0 x1 u- g# C# ?   Description: Adds a new custom post type for site-wide notices.
$ v4 w4 \, ?4 L) g+ q/ m   Version: 1.0
8 R  \# y. x# |0 y& ^6 s! J3 v   Author: Your Name$ }, |4 \1 `/ q& D
   Author URI: http://example.com7 @# |/ c" v! _
   */1 R8 y0 K# v- h2 _# w" O

( K+ a6 M( H8 i   // Add plugin code here...9 _! c& p, s  \  E. }4 p& ?
   ```
! ^1 i/ Z. y0 W# o6 `- n" h4 f, j3 P  Z0 _7 ^
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。. x3 ^  n  O3 Q. g

4 p" n5 ?  ?+ N+ m5 f) i1 D2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
5 c1 p5 H3 B$ Q! {! ]! X
0 o+ ]: Q2 d! V, @   ```4 `- C  v( A6 }! _
   add_action('init', 'create_custom_post_type');
1 \2 M2 U5 ^  q1 t* o+ f   function create_custom_post_type() {3 j% Y3 t$ R0 G2 D! n9 t! H/ K
      $labels = array($ F9 F- Q# o5 O: d+ x4 @
          'name' => 'Site Wide Notices',
$ ]4 u% q+ [3 y, H          'singular_name' => 'Site Wide Notice',
/ K) W% N% ]" d          'add_new' => 'Add New',) r& `/ B; u. m' n1 w9 I1 y2 r- W/ B
          'add_new_item' => 'Add New Site Wide Notice',
" c9 r+ o  z+ D. s) T! l, S          'edit_item' => 'Edit Site Wide Notice',
& i5 e4 a0 K8 C# ^, \' T: G  I          'new_item' => 'New Site Wide Notice',: G# U7 X( k. q% l2 ^8 R, E$ n
          'view_item' => 'View Site Wide Notice',# O; g) X: [/ v. q' O  C
          'search_items' => 'Search Site Wide Notices',2 V8 P2 ]" \; K; E5 j. v5 x$ x7 ~
          'not_found' => 'No site-wide notices found',
% x/ ?: I( p3 d! }3 U          'not_found_in_trash' => 'No site-wide notices found in trash'" S! x3 l  h5 @
      );
# X& @* r8 _0 Z1 E6 x3 o( ~( L4 p% ?3 Y  H* |  s/ r; X! a
      $args = array(
* E, p; y! j9 D% B+ K          'labels' => $labels,
, x  y& N, t- d3 K( H! a) k          'public' => true,+ j6 _) E9 q  V, k+ x+ b4 x) a
          'has_archive' => true,9 v/ H; ~0 ~2 J$ T2 r" T2 A% B
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),! s. v2 w8 Z% k  Y3 X
          'taxonomies' => array('category', 'post_tag'),
3 D' c! o" W; T4 s3 N( B          'menu_icon' => 'dashicons-megaphone',( J" S  [! `* ~5 J$ ]( U0 i% D  W) j
          'menu_position' => 5,7 P6 M2 p; s+ f  c1 I2 K; X
          'rewrite' => array('slug' => 'site-wide-notices')
/ L) t9 H& K1 |" b" x" X      );& k2 q* F7 V6 N+ h. m/ P/ w5 F& O
# U; q, x) t2 t: t
      register_post_type('site-wide-notices', $args);
$ R& V; t' {6 d: R; t8 d   }" r6 i9 j- d! Q9 s
   ```
0 |+ m1 e, t; o+ R/ M. `6 }( Q: ]( v, `9 }+ N; z8 b
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。, I5 |7 u/ t/ A, J+ T
/ w/ V, T+ \% w' A2 m$ Z
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
6 w, `, u1 G* j# w: U; E
' ]4 h5 r  B  t: v% n8 q& B   ```
; X% H" }9 s2 x9 [% M! \6 w   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
! ?7 p- \3 N7 _2 a   function add_site_wide_notices_boxes() {1 d& ^2 X1 {7 v% J) l, N
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
, z9 u1 C' e% u! c9 }   }
) h$ k) h- N% @6 U: F" a4 N$ H2 X# T0 B1 N+ n  h  f& n  P
   function notice_details_meta_box($post) {8 t# {% ]/ G' q5 L/ l+ w" x0 r: \( b
      wp_nonce_field(basename(__FILE__), 'notices_nonce');
, T- P, D* U% T      $notice_title = get_post_meta($post->ID, 'notice_title', true);
$ |4 [2 H; M8 J- X) J      $notice_content = get_post_meta($post->ID, 'notice_content', true);
5 P) ]9 p/ I2 h7 R/ V) A      ?>
2 s" M  ?- @6 l& a& [# f      <p>/ y1 X+ ~, b. {0 V
          <label for="notice-title">Notice Title</label><br>: l- F4 C, q/ X
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">% m" \3 w! X' k6 M
      </p>
. |3 P5 B' Q! `" ]7 U: |! `      <p>& |3 c9 Z4 f0 ]& L2 G
          <label for="notice-content">Notice Content</label><br>
  F# u  `* L" F! \- G          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>1 w! c# T0 {" X% M
      </p>+ I0 a+ P1 u& I
      <?php
9 }  D" z8 M3 _  V8 {3 Z   }
  {3 X" Z6 b' \$ F; A  y' S7 b! t: m8 N5 D& o, G- P% X( s8 ?2 Z! C
   add_action('save_post', 'save_site_wide_notice_meta_box');; {0 D" v- C& `% i, M6 o
   function save_site_wide_notice_meta_box($post_id) {' `, f9 k* o) I2 q9 M* w) x2 t
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
3 a6 s1 n$ {* [; `1 ^( `         return;+ e  c- l6 B2 f- A
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
8 N8 _! m) ?; k: ~! S* }         return;3 R6 g' k5 }& s" r3 b- i6 F

! w3 B$ G, h1 _4 ?5 x0 `# M      if (isset($_POST['notice_title'])) {1 ^6 d& Q0 a2 h5 ?
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));1 j8 i1 F- g5 u# J$ L  W7 M0 b
      }3 w& D5 h# F" a3 X
      if (isset($_POST['notice_content'])) {" s; v' p) O  c* j* B
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));8 C0 l. X: D+ ^! W$ d% Q
      }
; n; w7 v5 C0 h* t   }6 B4 g2 `6 @  j+ @8 L
   ```
5 i0 Y* K* R3 `8 \( ^- I& z2 A- O6 U& N" h! ]3 D7 |7 h2 r* M
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。  x* G+ A9 y( C# L( C
) ?7 ~& x* C9 R; n2 O+ W
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:8 O3 i" V9 f7 p; j+ ^6 C6 A- m

) v* C  ]- @- Q; `$ I) f7 ?! }   ```6 J8 J5 m5 _- \. x* H8 H+ W! u
   $args = array(' {' r3 M- z3 G8 p6 m# K
      'post_type' => 'site-wide-notices',
. Z( _( H" B( d7 q) K$ d5 a, ?! u$ x0 z      'posts_per_page' => 3,! B+ f' Y3 w3 J% {5 _0 t' g
      'order' => 'DESC',7 z/ ^6 T, j/ B* I* ]. }
      'orderby' => 'date'
  P! O/ p# R) X3 }( B1 r  E6 O   );
1 K" I1 b0 v/ t' g   $query = new WP_Query($args);
  F6 r0 x3 N  ]- [6 R   if ($query->have_posts()) :6 r" C( f; Q: W! c: k
      while ($query->have_posts()) : $query->the_post(); ?>
, ?" g; c! e9 G; G# R0 ^/ j$ M5 v          <div class="notice">+ k/ A8 |  g% D& p# H: w1 J& g' u: u+ F
              <h3><?php the_title(); ?></h3>$ O9 t. X$ h, b* a* T* s5 O  E
              <div class="notice-content"><?php the_content(); ?></div>
* T0 y; m. R; ?; P% ?          </div>8 {- F  A' R7 `& w, {! i: K
      <?php endwhile;# M+ N! o: b1 R# F. }
      wp_reset_postdata();
% f* u8 k5 c1 V8 z) Y5 P7 q, J% m% g   endif;# X3 U( W# m& Q7 ?) X; r) N
   ```
' j7 ]1 O5 S  J3 W6 N8 S
) U2 p3 i1 M. v0 [   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-25 09:50 , Processed in 0.078030 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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