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

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

[复制链接]

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
9 O( t9 f% H3 L. P: m; a/ k# j' r4 D2 f
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
4 v" D$ P% r: Z, t# t/ r) d
' Q7 W2 o( I' X3 f/ p2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。9 r% Y$ b# n! `0 t& R

+ T8 G6 O" i3 P: `/ J3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。' l% Q0 c* K( a( r5 N  [  O
. g' y: l" Q$ t* l5 N; `& g5 J
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。2 U) R1 Q, G: D

+ H& v3 a; m6 u: i注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?7 Y, h9 R2 M- P; L

; Z8 k- g. e# ?; E% Z1 J) R# o如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:% F/ N$ Y- u0 d4 o# @

  o- a/ R, Q& p/ w) Z1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
2 p1 P4 P2 P9 G$ B' C0 z) b3 N- o
3 i& n" U; U5 m, j. s7 I' _   ```
" ^$ ]) G4 O: B% Q  _   add_menu_page(3 V: L+ j2 Z( W, e
       '全站公告',' w0 p* q5 p% p4 Z7 W# t1 V* I* Q# }9 f5 U
       '全站公告',
) F5 |+ w1 T5 [5 u       'manage_options', //需要的用户权限
; R* _" y0 r# Z       'site-wide-notice', //后台页面的 slug" Z! x' l9 z+ s1 A" o; W
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数6 ?! U$ q8 i, C$ @; x
       'dashicons-megaphone', //用于显示在菜单中的图标3 M0 d, z1 Q+ s/ J! W  a
       30 //菜单项的位置% I& u6 C$ }4 y2 g
   );
  E1 E. E  `& k4 M" a   ```8 v/ @1 S1 m3 ~2 H  j) D' B9 d& C
6 q  g% g) M. ]5 ^9 C+ Z
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
, b7 S  p% d. [, q9 a0 B3 l" z" ^: Z3 J
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:7 G6 @9 Z2 [3 W: ?7 _: T

8 N) F& V( m( N4 w, O2 k   ```. R; s' v* j! {! [
   function render_site_wide_notice_page() {3 r0 N, t6 ?+ r, S
      // 渲染后台页面内容: m# T! c. P; G( T$ s
      echo '<div class="wrap">
5 w6 w5 P* j  B) y: U$ F' H2 i          <h2>全站公告</h2>1 g8 m" Q+ `% K0 A! f% ]4 U
          <form method="post" action="">9 S: t4 _4 P+ y. J- Q! I  P* p# J  U
              <label for="title">公告标题:</label>5 w3 V  d+ g) q' f2 b7 w
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>6 z/ L3 s% o1 u2 \5 g, |$ ~' D  k
              <label for="content">公告内容:</label># c, l9 K* j8 a/ s0 {
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
2 t1 S% l2 e9 o9 v% B5 G5 x              <input type="submit" name="submit" value="保存设置">
( L+ t: O1 j- s( V( N          </form>
# a; A  u' ^$ A, p5 i% o; }0 A      </div>';0 {$ |# n. Q4 l) F% p. \' m5 t2 Q# w

. a( j1 q+ \( F      // 处理表单数据( _- a) N# |6 q" e
      if (isset($_POST['submit'])) {8 v2 E8 a8 |* P4 B: t* J
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));3 r3 {$ X+ p! m* r$ U
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
& l* m, R. y2 b9 S7 F7 \      }
' h% J: R3 U# ]9 }. x9 l9 m3 C6 N' U   }2 c  f4 x, [: }: X2 [
   ```! A1 l: U1 W: m: Y- E$ m0 A
/ y" }. E& o* R2 r- T
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
. `, e+ m$ B( ]% w/ F2 ?7 U( R) L# N2 p# z9 [
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
7 L' Z& ]8 c+ D0 }* ~  Z( i' K0 \4 T4 x/ s$ y) p' i
   ```  z% f* f; |9 M/ i1 c; h9 u
   <?php
" ~% m, M- L" t5 Y. J. A   $site_wide_notice_title = get_option('site_wide_notice_title');5 s( X  t2 H7 E0 t, k' P4 a* i8 L$ e
   $site_wide_notice_content = get_option('site_wide_notice_content');$ h1 N% Q0 \9 D4 a# Q6 h
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
( `) Z3 x# J; _9 a. k- _+ d1 q       echo '<div class="site-wide-notice">';
  y$ d- j+ [& K# ^       if (!empty($site_wide_notice_title)) {* ]' K" ~3 |0 w) Q% i, l* e. _
           echo '<h3>'.$site_wide_notice_title.'</h3>';( M# k. W, b0 j/ s- m# |
       }
5 {6 V; {9 y: w4 Y       if (!empty($site_wide_notice_content)) {6 J% B" }# R+ [! N' X
           echo '<p>'.$site_wide_notice_content.'</p>';
9 E; u0 a3 a/ }       }+ U* n) N' T: S8 t) o
       echo '</div>';
: B1 u" t/ X$ }# N4 ]) n' S   }6 F' m3 y1 J( E4 Y3 ?! Z. b
   ?># X. E* v6 t1 `& Y0 ?; q
   ```
' S/ X( R- l9 o3 _  g7 O4 Z# S9 T9 ~1 f0 e/ q
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。5 z) B4 U& Y- P5 U. A

# l- L1 b; G7 `9 ]' A请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?% ~3 o* v8 f  z# `# @* z$ n

/ h% p3 ]* c0 V. J6 |您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
. i. L0 Y0 z( M
3 M9 C/ j: Z6 l1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:( B$ L0 \% E, e& B% L) i' ~. M/ V! S. V

4 @/ e) r8 ~" e```
2 m+ o8 x; Z" G$ C- Dfunction create_custom_post_type() {
# y0 b7 v  `: \7 l; I7 B    $args = array(& y( f, c8 D( X2 T0 l- a% H; l
        'labels' => array(+ ]" I) f7 w/ q3 f
            'name' => '公告',5 c2 d  ?. o. Q4 x
            'singular_name' => '公告'2 R8 j1 g: f% u* T
        ),
( d) v) w2 L! D# R7 V        'public' => true,2 k) i2 O* V5 k- @+ M6 U' O" C0 G
        'has_archive' => true,. W+ u/ G# d5 X4 J2 j
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
+ B0 O) i7 Y, g9 r, p: v        'taxonomies' => array('category', 'post_tag'),, I( C  j- W* I9 B$ x
        'menu_icon' => 'dashicons-megaphone',
! }# b; M5 h2 E( Y! U        'menu_position' => 5," k6 x8 \% Y+ y1 ^3 j( m2 d
        'rewrite' => array('slug' => 'site-wide-notices')% R; Q7 W/ T! F& {- I9 i
    );2 [5 P, O3 n; }" i* V; u. j/ ?
    register_post_type('site-wide-notices', $args);6 v% l, w. l" n& }3 }/ J+ g5 G
}! g* W- e6 W. @$ p8 I! @
add_action('init', 'create_custom_post_type');6 p" l2 U1 X, @! @: X0 f5 K
```( X, z! Y1 U/ j; i

# g! `$ u0 u- C) `# p/ }' ^' B/ ]3 h在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。' c2 j. O! P7 l

! |! y! N( d2 e1 P2 }4 h2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
6 P5 G4 ~$ ]! y9 H$ a: B7 p, v/ H/ P0 W' q: |* K) W
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:1 k% q" |/ j3 C* [" V( R7 l1 u) U, [

$ b$ m* J; m7 a" B6 l# _  e```
1 i/ L9 M  \; B% B$args = array(" v3 L3 o4 J7 E
    'posts_per_page' => 3, // 显示的公告数量
5 ?8 Q. y' W5 A0 r# `    'post_type' => 'site-wide-notices', // 公告文章类型' K( o" o+ `: s+ ?+ ~9 }0 o) ^- M
    'post_status' => 'publish', // 公告状态. q% a- p  M% R$ H% `) U
    'order' => 'DESC' // 排序方式
+ j' f+ }& O' a7 Y8 I. ^1 H% i);- F7 N/ g8 N7 D" q& U* |

& c7 L( |8 f1 l3 B# G# L& O$notices = new WP_Query($args);
. B6 v. R0 a' @, [9 cif ($notices->have_posts()) :' f: n+ ?% j$ u5 M( G; c) u0 G
    while ($notices->have_posts()) : $notices->the_post(); ?>
, W; o: m+ `! b8 U6 X        <div class="notice">
+ d/ ]- N4 F. A; F            <h3><?php the_title(); ?></h3>
4 |! H2 w' C/ }. K# l            <div class="notice-content"><?php the_content(); ?></div>
7 R. f1 t# D& u" t9 b4 y        </div>
' _+ b4 D3 ~( k0 E& k' z; U    <?php endwhile;
2 p" p* S7 h# `/ N, [0 lelse :
( w9 I2 x* V. P! ?; _    echo "暂无公告";
8 y# i/ [3 d5 F1 i0 n2 Xendif;; J8 e5 l! o( E; i
wp_reset_query();$ L( q+ T4 B  ?6 k
```
$ n! w9 ^, p3 k4 S
  l1 M9 |4 g) x* E这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。: Q$ _5 h' ~' p

5 w5 s4 N- A  a& u+ k: e# k以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?& \. ]6 d6 _% M5 U. k* B# J. F

: ?( j8 b' Q4 B% T' Z: E1 `: U如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
  J. t  P. m" O$ ?
( F5 o# V' l2 u* _以下是创建自定义插件的步骤:
" t- ^- [) D0 ^, V1 L2 o3 D! K) a  h0 d* W; t5 z! ]  ^" Z/ l3 E
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:$ e" h. [% j  L8 {
/ H9 N+ U& [1 G
   ```# Z7 q4 a: A. k/ Q4 t
   <?php
6 E7 P  c# ]0 i  {/ U1 s/ r   /*
" F/ X, P7 b3 X/ Z4 c1 A4 [) j3 M   Plugin Name: Site Wide Notices Plugin
+ d  o) I! J8 x+ x- R3 M: |, v) G   Description: Adds a new custom post type for site-wide notices.+ @5 ~1 \9 O8 G; a, h8 L8 T
   Version: 1.0: |8 f3 A8 A' z. m) P! P
   Author: Your Name
' ]8 y2 E, _4 l0 e+ \8 m   Author URI: http://example.com
( [. ~2 D+ @9 F/ v$ H1 g/ J   */
, v) ~$ p6 y# A* A
- d' N+ I7 I) a0 y+ k% }   // Add plugin code here...
! _7 z2 w! {: K; O   ```
7 w8 ]  l# D- k5 F1 ?% j( R' J( r0 w7 U8 g! d  Y( k
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
# z7 k9 W" f' l0 G5 f0 Y8 l1 P! B9 x# H5 G2 \# ^8 J
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
9 B8 q6 q( k3 t4 N
  U: X+ b8 w7 i+ r" A4 s; O   ```
! \; e0 g& y% o! Q8 F. x  n" \% Z   add_action('init', 'create_custom_post_type');
3 N( `7 p. X  l. m' R: Z$ V  A   function create_custom_post_type() {' s- k1 ~2 \$ B
      $labels = array(2 i# _" z+ E; D8 u
          'name' => 'Site Wide Notices',
% f, A6 g" e8 ^- R4 a+ b) G: @' m. t9 L          'singular_name' => 'Site Wide Notice',
0 H9 z* m8 S( m% D# i          'add_new' => 'Add New',3 n6 z$ U% M' L
          'add_new_item' => 'Add New Site Wide Notice',) k7 m  z1 [  }7 U6 o% q. ?
          'edit_item' => 'Edit Site Wide Notice',. t9 C/ |& p5 w) _: T9 |$ `2 z. `/ i, O
          'new_item' => 'New Site Wide Notice',
- e: f5 e* h- X$ {9 O8 _          'view_item' => 'View Site Wide Notice',% Z  m8 h3 A6 T; |( v  A
          'search_items' => 'Search Site Wide Notices',5 ^3 F; j$ y' e& x; G, b! u
          'not_found' => 'No site-wide notices found',9 |& W% \/ l0 i; `" L
          'not_found_in_trash' => 'No site-wide notices found in trash'' ~0 a  F2 F- v" t/ r
      );" Y2 ?0 ?9 ]& _
$ h" _7 r2 Q+ p) w
      $args = array(
8 ~# }7 {# {5 \! p          'labels' => $labels,
8 t4 X- [1 O; I- s+ O          'public' => true,3 ^0 _% A/ O- z7 c5 r
          'has_archive' => true,
! R& Y1 A; h* W          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
$ v( ?1 H. K$ a' t. {) |* j          'taxonomies' => array('category', 'post_tag'),
( a4 k3 f9 C& G          'menu_icon' => 'dashicons-megaphone',2 x& E/ ^# g8 }( K! _
          'menu_position' => 5,
6 D8 R- w  D. F2 k- O          'rewrite' => array('slug' => 'site-wide-notices')
; O0 x9 }3 o  G1 E$ H      );" z+ n- P) O$ N; S0 v$ c  Y
& [  R' j+ r- p  g# j( ?
      register_post_type('site-wide-notices', $args);1 D* F: O4 o3 \- r2 r
   }# f1 v8 }% _# |1 r5 P) ^; R4 o
   ```
* ?% m; v* @0 W# Q* s) \; ?0 W* d& x+ f9 A  {5 a( C/ b3 N7 z
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。$ u/ i& m% b7 @# `

9 D- I- n' \+ J: F/ k3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:- ~7 _, a4 |+ a, X
3 N: w% }# i4 K9 }) V
   ```& w( O  \0 |  L  J- i" W
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
, O" v2 F5 M9 \   function add_site_wide_notices_boxes() {
) x" z2 n: W5 }5 P# K9 I      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
1 K0 V3 M0 B0 c/ b+ M   }
, H  A9 i2 o2 E1 _; P- x1 U# c9 `- }! P! o; E3 a) m- ?
   function notice_details_meta_box($post) {
  q  j5 v% Q: T      wp_nonce_field(basename(__FILE__), 'notices_nonce');
+ N, Q5 O5 T) l      $notice_title = get_post_meta($post->ID, 'notice_title', true);
. c* \0 b  l" I/ T* @      $notice_content = get_post_meta($post->ID, 'notice_content', true);: x* H: k& X& \( ^+ g: F" T
      ?>
0 x) b( Y* V  ~, E8 S, V: Q2 R: p- c      <p>5 I0 V' X/ s- K: w) I1 c8 K
          <label for="notice-title">Notice Title</label><br>
  z+ s9 Z0 Z9 n4 k3 p: O2 Q          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
; Q/ U, y/ r8 ~' L$ `      </p>
: w8 U7 s. A& s3 J( J      <p>
4 ?6 W2 A0 q. k8 v- Y          <label for="notice-content">Notice Content</label><br>
( U, c2 p7 E5 \& E1 I" ?8 ~8 v          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
& D* l0 F8 G: o" Q      </p>
6 Z6 s' a1 G$ }" B) y; \8 j: L. Q      <?php
& I' d% _! r( P9 d  [" P   }
! Q; ^" F6 m* M" z% H1 J  q+ q! k, V) {$ c" U# D& k; Z( P
   add_action('save_post', 'save_site_wide_notice_meta_box');( {! c" y6 _' _0 t8 C3 }$ d$ J5 O
   function save_site_wide_notice_meta_box($post_id) {
. F6 r% M, x( C. j# p3 J      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))2 V2 L  D. ?6 g% Y! I1 Q
         return;
) I: @8 P9 k- |( P      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
6 \! F: C$ y$ a& q# v$ j         return;% i2 A- t8 f# ]

$ w5 {) U+ H7 r8 b+ @' e$ u      if (isset($_POST['notice_title'])) {
. f6 k9 |; }* ]/ X* b, ?( s          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));6 Z4 i  `2 A; U
      }
5 Z8 e( S' w0 a! r; K9 ?      if (isset($_POST['notice_content'])) {) i3 H2 V; ^. C6 w+ [) `( d2 _
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
6 n( f, X( `% W7 \$ s6 ~9 F      }
  M8 @" u  d! t3 F& Z# R* V   }" e0 Q+ i/ u5 T& o7 c; Y# ^
   ```
7 x2 K- r6 c, u# q) n
: B5 r  J! i9 Y' T& w5 I0 Q1 P+ o0 b   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。( ~- O+ x  w; r9 t2 t' [
, s8 c$ h4 Q" Q# v7 l) y6 i
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:  n1 b, S: T$ Z0 j
7 @0 K! W0 |* m$ K
   ```
# k, z% F1 N, @$ c   $args = array(
# X; }( }# t1 E8 W7 S( v      'post_type' => 'site-wide-notices',
; h: G# O( A7 K( f* I- e' K  D  ?      'posts_per_page' => 3,
$ [! v2 w1 o4 X      'order' => 'DESC',
8 P8 @4 A0 {3 V6 o! K      'orderby' => 'date'
; N! F, a/ ?8 m! k% t   );  k1 p% W9 D3 u
   $query = new WP_Query($args);
! {0 G  k* i4 J: K   if ($query->have_posts()) :5 B# `4 c; g: \7 t
      while ($query->have_posts()) : $query->the_post(); ?>) v& m8 x7 J: v7 w
          <div class="notice">% f- ?: p+ Q( @3 s9 d
              <h3><?php the_title(); ?></h3>
% n$ |& ^! L  \: m, \( u              <div class="notice-content"><?php the_content(); ?></div>
2 i6 z* ~6 d6 d4 G* ~( }          </div>
( N0 ^- j; B2 k- F  ~  C1 `      <?php endwhile;' `) I/ q% J2 b0 R* p0 H$ c* h0 p
      wp_reset_postdata();5 w) W+ y& ]* W0 ]5 k$ a; d' b
   endif;
2 x6 m1 K7 V% s8 c# D) |   ```
  H/ p& F5 o- \6 V' B
. g* i1 N9 U4 b# I' K% F5 |   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-21 00:25 , Processed in 0.013127 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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