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

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

[复制链接]

343

主题

556

回帖

3631

积分

管理员

积分
3631
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:" v- a$ ~+ p  ~

5 C# q2 j% c9 Q) Q+ _1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。# D% U5 X- \  y( d3 w

3 @1 B5 [& X% e1 g1 A2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
$ y+ @, W" f- a4 t* a' \+ @! b0 B/ ]3 T& K4 F, z
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。% J: G1 E, _6 K( l& ]1 V! G) n
1 \6 j4 ]7 I; s5 I9 l9 L7 B) P
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
- F: [8 l: v7 K: h
, j% E' V2 I- B  e. `  {% s注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

343

主题

556

回帖

3631

积分

管理员

积分
3631
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?  n2 C0 I+ U) D7 f* E; y
% p& W. _3 O7 O% h
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:" J) {9 O- c4 Q$ }
% Q& c5 ], {3 ]$ a2 X
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:% F6 G9 ^: e5 [! D" D" U8 R
: @1 l! m4 n" r: G1 Z
   ```
7 u% @, Y$ E+ n! B* U& G2 g   add_menu_page(& F+ z: C6 H0 P9 r& s
       '全站公告',
& o; X1 c) p  X, M       '全站公告',1 {* t/ r) ?" s+ E' I* g
       'manage_options', //需要的用户权限1 ^9 n& K. V# a! I2 ?
       'site-wide-notice', //后台页面的 slug
5 N/ s+ N2 ~& H, I; h% j& i) B4 D       'render_site_wide_notice_page', //用于渲染后台页面内容的函数2 q( h7 [4 F5 v
       'dashicons-megaphone', //用于显示在菜单中的图标1 o+ Z/ \5 {: D9 g; |0 @
       30 //菜单项的位置
! H9 X: S, x, V. k5 o2 f1 s   );! Y1 W4 |+ Z0 E1 ?4 n
   ```
4 U2 v( f, i6 G& b0 Y0 [* k/ Y5 k2 T3 @# K' D; n( [8 k
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。" a8 U# p2 j; G( c

8 j$ T4 y4 i, ~2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
  V' W% E9 Y7 {% u4 W% m9 ~' z
. O- C# O. j3 U: u  Z   ```. b8 `& u4 a: k; i8 y( h
   function render_site_wide_notice_page() {
( x% i9 \9 u/ p' R- H      // 渲染后台页面内容
, V4 U( ~3 E. Y      echo '<div class="wrap">+ E6 j. b  F* J) ?! b1 k+ R
          <h2>全站公告</h2>! F+ ]% \$ }3 r0 n4 P
          <form method="post" action="">
* U# P& n+ f, v( v              <label for="title">公告标题:</label>) s* R, V) ?2 _% Q0 K
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>. r+ c' Z' L; |$ c9 X, g; I7 Z
              <label for="content">公告内容:</label>" m* d3 h. s0 r  K8 `
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>! m! \8 n" z6 \2 Q& n  e
              <input type="submit" name="submit" value="保存设置">9 k9 h7 S' S7 `7 ~0 R; d+ E
          </form>6 _9 W& S  b) `, E" j) d
      </div>';
0 J7 b( f% Q) }& b& S# F  Q& j, C7 U# R( r
      // 处理表单数据$ A: t% n9 W) V
      if (isset($_POST['submit'])) {
8 G% s+ |% H* w! {          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));& O. I1 a8 p6 U# W4 P0 V
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
6 N4 _7 {( N- H- T$ Y& J      }
: I7 W) B% R, _2 F8 t3 y   }" a3 ?( T; c0 q. e9 y8 G+ R
   ```
9 J7 ^6 ~9 T/ t" u- O; X6 W3 n3 U3 b* b
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。) T7 n" R4 M& n
6 e0 O. i$ a- M, i6 k
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:. v  h& r( o% [- M% N7 g
# }2 K$ s) @* }* ?  G9 W- p
   ```  {' l0 ]6 l% l, `
   <?php
1 T  M4 z/ I& o' [) E   $site_wide_notice_title = get_option('site_wide_notice_title');4 c1 J9 G9 `; t# {6 f; @
   $site_wide_notice_content = get_option('site_wide_notice_content');8 \6 B1 }' h3 v% R9 w
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
' m+ Y, H+ A3 X6 P6 n/ R4 F7 V       echo '<div class="site-wide-notice">';
  i9 ~* o1 I/ s! \6 A2 G       if (!empty($site_wide_notice_title)) {
$ K% Y  u+ _! O9 `% j" X           echo '<h3>'.$site_wide_notice_title.'</h3>';! e# v) M9 k. ~% s
       }
; n& q* x' ]. i" ?9 c" v& }* v' K       if (!empty($site_wide_notice_content)) {, J5 A/ k* i: H8 p! H3 g
           echo '<p>'.$site_wide_notice_content.'</p>';
0 ~$ ]& I: u- _" X9 \9 K       }& O- e7 J5 h0 o( g- [; Q
       echo '</div>';
) x1 L3 m& m: i: t6 p7 N   }
9 L( _% e3 H; M1 C2 Z9 m: |   ?>
+ Q) n8 v& A' d( y' c0 o   ```/ O2 v' o# K) M" d% P4 i
  d' Y7 M9 ^. r7 r7 C* i; Y9 g
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。+ _' ?# n5 ^$ [0 I% y
- r+ _. \4 s6 K* u
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

343

主题

556

回帖

3631

积分

管理员

积分
3631
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
& N  ~' S. M" Q( r* p8 A; m2 b
' c1 [* J6 ^; h, P, p您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
% \8 t9 E. v5 G. `5 P6 w
6 A9 D4 X3 ]; {8 S  |1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:7 C1 J; o" g! a3 F

1 K1 A( E" f4 k: G4 k- a* ````
, s) Q1 i2 b( Q$ cfunction create_custom_post_type() {
9 t6 K* S3 E1 b5 U    $args = array(
4 H8 S9 m- [+ k1 r        'labels' => array(
% _2 Y6 r; e. _5 @' G; P! ^' K3 d            'name' => '公告',# f' t! Y  W' h9 B
            'singular_name' => '公告'6 D1 U1 O- `0 W3 W0 [6 y
        ),
8 v( F7 b6 o5 G$ @# F# F$ H5 ?3 r8 w* x        'public' => true,
2 i+ X/ g- q3 j/ t3 ^        'has_archive' => true,
; W" y2 \" X/ v        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),+ C+ x3 o9 B( z$ a1 R8 {8 C
        'taxonomies' => array('category', 'post_tag'),
, _; Y0 t5 }" A        'menu_icon' => 'dashicons-megaphone',
* V) o2 F5 _6 B        'menu_position' => 5,; R0 K: O0 ^* p+ r( h% a5 V% `
        'rewrite' => array('slug' => 'site-wide-notices')
0 Z) ~& [, G# J6 ^$ w. F+ b    );
1 Y6 p1 I$ e- t# \    register_post_type('site-wide-notices', $args);3 Q- ~% ^3 Q, t
}' L3 d7 }7 K1 |6 S( L; _" T8 `
add_action('init', 'create_custom_post_type');
3 J% ~1 c6 X. e' g```
; [; n/ B7 {% b, ]) x
) p  `3 W+ @/ L5 Z8 v# h2 x/ t在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
0 {) S, y2 S8 H" k6 R3 C: W9 k5 I# S' f0 U' Y' w7 Y
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
3 {5 _- \% ~4 C: t# Q8 M2 D7 e% k6 B5 I
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:, I3 P+ I! R) L- K  C% \

1 H8 u$ C% @  M: e, o, G& ~0 O+ Q```2 `: L8 `0 Z7 d7 l
$args = array(
0 ^) H" B- J* j+ `    'posts_per_page' => 3, // 显示的公告数量
( H5 `: h  X& b- j; e9 g; O    'post_type' => 'site-wide-notices', // 公告文章类型
( W' `% }  X7 V+ E2 e/ F1 C1 n2 ]    'post_status' => 'publish', // 公告状态
) c8 ^% q9 f& |$ ^5 S! V    'order' => 'DESC' // 排序方式! R  C& z. e; R+ [6 i* {
);
2 v; U9 r7 u5 J" T" z1 l
; T7 P! p5 Y6 w4 b: C% t  G0 J# n$notices = new WP_Query($args);. L5 C% Z  ?8 ^- [8 ], i
if ($notices->have_posts()) :
' l0 `! U/ q7 e  Y( Q& v    while ($notices->have_posts()) : $notices->the_post(); ?>
/ r# c% B9 g, v# X) k+ T        <div class="notice">$ }4 `& ~0 `$ {* {( F$ }% B9 m3 U
            <h3><?php the_title(); ?></h3>2 f! e  L; ~) W; O/ U4 E( o
            <div class="notice-content"><?php the_content(); ?></div>  j7 B4 t, H, |2 _6 u4 q: w+ c
        </div>
4 M" P0 d+ v  }" |3 H1 M    <?php endwhile;
( i! @4 e$ y- d: U0 ]" @5 Eelse :
% Y2 I9 Y9 n0 `1 u    echo "暂无公告";
; _1 ^2 M" B& U9 ~1 \endif;( p4 }! `/ y( Z/ U: G7 [4 e
wp_reset_query();6 g( x- l- W# V
```, O* g; ]- V( \1 ?( Y' N
" V& x- z+ A" ^1 ?- k8 H& Y
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。" x# f2 |; b* k7 d: m

* i# A( |) V, H* g以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

343

主题

556

回帖

3631

积分

管理员

积分
3631
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?+ ~. ]4 D! _- |, b5 i

9 n& i( V5 X, `% @0 {# e* |5 A如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
( X+ i- J( N1 M5 L' Y" l( j" L# r8 _# E, Z; C) z. r8 F
以下是创建自定义插件的步骤:$ @) b& D8 k/ ^! T- s: q9 i
: T+ W( x; P3 y
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:3 D+ H. u6 O, D1 x
7 K8 X% y% k! \6 k$ b5 z
   ```2 d6 x- y5 f; Q
   <?php6 d, n+ }$ p+ o+ t9 F" K
   /*
& S8 w3 c( l% v% h. ~   Plugin Name: Site Wide Notices Plugin- ^% S+ {( C7 Z' C9 U, g$ I
   Description: Adds a new custom post type for site-wide notices.1 s; L- }" A) L3 e" A/ w/ \2 F
   Version: 1.0
$ q+ l3 u, p& E   Author: Your Name
% k( [2 C7 W( R9 m3 z( J( d- `   Author URI: http://example.com
- t- V5 D- X. _# R* y5 n! a   */7 U7 w. D6 Z4 _4 Y

. \! m1 J6 N; H& q  m! Z# Z  H   // Add plugin code here...
! G* c; E4 X- W( k3 Q   ```: g& x) L' @/ t$ l, j% |  e
7 \/ Z- }( H  M! |8 C5 K
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
( n) s0 F3 y; d( N+ o. T* K) k3 _
' D7 l3 M5 C- m$ J8 m% K2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
0 Z. L' P$ g, Y: S; o- ]
: F/ D% y$ F1 _: p5 k9 n   ```6 {' g) K0 n' f: ~' o0 v
   add_action('init', 'create_custom_post_type');" m5 ~& {4 [" T3 L/ Q: W
   function create_custom_post_type() {4 l6 P1 m" x" X  n8 q+ s
      $labels = array(% K7 E: ]# y4 b7 H2 R! M
          'name' => 'Site Wide Notices',+ r& k+ G8 S* K) T8 B; I
          'singular_name' => 'Site Wide Notice',
  E" \7 F, ~1 t& T, s          'add_new' => 'Add New',; x" K4 J$ K* f- h: T! }
          'add_new_item' => 'Add New Site Wide Notice',$ k& i+ E; Z5 @
          'edit_item' => 'Edit Site Wide Notice',
& ]+ ~/ G1 D8 O" s, M          'new_item' => 'New Site Wide Notice',
- A' M. |$ k5 Y          'view_item' => 'View Site Wide Notice',. {' {0 S: k/ P. N5 U; W
          'search_items' => 'Search Site Wide Notices',
3 g) d2 Z7 x+ Q* U' o! @& h          'not_found' => 'No site-wide notices found',  w2 @( w4 x  O
          'not_found_in_trash' => 'No site-wide notices found in trash'2 S* P0 c. h. n5 B# l. u
      );. e5 {. M) }) }5 t
  F# R/ ?0 l2 |; ]0 U& O
      $args = array(
0 T, {6 `2 z( l          'labels' => $labels,
2 R. N3 y# X: c; K) y! @          'public' => true,
( ^4 F% k0 _1 D6 o& b1 _          'has_archive' => true,
- w# @) W; s5 z          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
4 ^( E3 X0 ^; {( Z1 ^3 D7 P3 ~          'taxonomies' => array('category', 'post_tag'),$ i' Q9 j1 L* ?5 v; v
          'menu_icon' => 'dashicons-megaphone',
9 }& G4 `8 Y( @+ P4 `8 K5 d          'menu_position' => 5,* [. R" {% l2 F" d
          'rewrite' => array('slug' => 'site-wide-notices')
* A( b* o. L$ z7 I+ W) d2 c6 i( `& e      );
3 C* E- i7 [8 |; g( [7 Y/ l4 r- z* N7 m
      register_post_type('site-wide-notices', $args);
0 f; m) L: f! I3 B5 c7 X# v; u   }
' C* L, R) u+ @7 d3 s   ```
# w* D  c& w( z' y2 u) x
3 V+ O: q8 ^/ E- h   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。2 B8 q3 D$ I1 G1 T: H+ G

  U/ \2 u0 k5 w3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:4 a/ t+ S* A* O, n: ?6 `' ^0 ?* s
" K. Y! r3 G- O8 B1 Z( H2 X
   ```
' H" e  ]# k2 J  W0 [1 {) w2 C   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
. }* s, f# q5 {) j" f2 i   function add_site_wide_notices_boxes() {
) I/ U+ ?" z& T5 m! Q" L1 \      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
4 B" w0 o2 d  e4 a   }
& m; C& i# ~* c6 C
4 ^4 {* R" D8 ]; v" ], E& `" n* f- d   function notice_details_meta_box($post) {4 N  t2 [7 x! I
      wp_nonce_field(basename(__FILE__), 'notices_nonce');0 A, L/ x6 ^. O" T$ y4 j; U7 [
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
# t  n6 n; g8 _. G' L. D      $notice_content = get_post_meta($post->ID, 'notice_content', true);5 u0 I9 h$ J  ?# |( j  v
      ?>- B; O( U: T( q0 B4 p+ o) m
      <p>
. n# v# y4 E1 e  F2 z1 J          <label for="notice-title">Notice Title</label><br>
8 I, u1 ?( M) Y/ v0 a' c8 F/ R/ Q          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">3 l$ C' K  D1 a. G: ^2 o) x$ J
      </p>+ T" y. s) K, }6 _% b' T; W( {2 {
      <p>
. s) E$ x/ M! b2 I          <label for="notice-content">Notice Content</label><br>5 Q4 j; \6 q" S' k
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>$ ^. L, }3 i, N; r
      </p>, U. T: v3 n0 D; y8 S2 U
      <?php! K: A" G# D; E- X5 Z! |* Y
   }8 M1 x' V' D! V1 v' E: x( H

- S# d5 s6 L) K2 J   add_action('save_post', 'save_site_wide_notice_meta_box');
+ g& d/ C+ U6 ]* ]   function save_site_wide_notice_meta_box($post_id) {
% I3 I! a0 g2 L% x% P& N$ v      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__))): S7 i% e$ @; W+ ^$ V) U
         return;9 I& [* z! P- Y, S' s/ u  y
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
4 l' k% A* v# t  v( ]* J         return;
. A& s0 A9 u0 z* o5 F
6 a) J2 C+ e) [" M1 M- |      if (isset($_POST['notice_title'])) {
4 p2 O1 z8 Y; j3 r          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));, h; N, b" R$ r
      }
0 l: m. B7 \- E  z( L( @; h      if (isset($_POST['notice_content'])) {9 ^0 _6 q. X4 w; ]% x2 x+ S
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
! [0 M9 C! H2 s  g      }
2 _2 m, I* M' ?   }
, a0 F. ^( s  `$ @9 D* P! E: d   ```
$ Q; D- n- z4 F5 c' z, I' e4 m5 W: @5 y& L# G  S2 k
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。% I- ]# K4 R9 S% x9 M0 \9 E

- Z8 d$ ^* K6 d5 U. x5 |8 Y4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:& v6 J- _3 l/ }- _, _7 ]
0 e( n* [6 b' O% F0 L4 p' }
   ```3 E: r4 W: P' w$ @9 V9 t
   $args = array(
/ G3 m, e+ u: A0 a" N. U      'post_type' => 'site-wide-notices',, H& T# v9 I% B9 i) r7 x  D
      'posts_per_page' => 3,
" C* c# b/ B2 h" P, Y# h      'order' => 'DESC',9 m1 X' T3 s/ f9 V
      'orderby' => 'date'8 R5 M1 n: W6 P) y5 w
   );) T4 W% |' C, _* X
   $query = new WP_Query($args);- B& x# V% j! O7 n
   if ($query->have_posts()) :
+ J- j2 J- P) v. P5 B0 s& t      while ($query->have_posts()) : $query->the_post(); ?>* ?2 y& O/ k$ D5 x
          <div class="notice">
& ^+ c/ s' u, _' Z0 f              <h3><?php the_title(); ?></h3>4 |- ]: u' f2 a! h; H
              <div class="notice-content"><?php the_content(); ?></div>0 \2 }+ P5 z' v+ `
          </div>$ w& ~; A: G7 B9 g3 x1 _% r
      <?php endwhile;3 L7 |6 I! P# |, e* ~
      wp_reset_postdata();
0 w! ]. N( f' I# [   endif;
& c+ C, N. k. E3 W( @1 a   ```
7 Y1 x- g" ]5 g7 G: K9 L
% j8 j. }$ Y  O4 V3 F% D+ H3 W1 U   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-2 03:27 , Processed in 0.016066 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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