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

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

[复制链接]

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
" Q  \# A% L$ A1 T3 l
$ M/ z+ d! C) h* q* z1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
# G: X7 g* X9 K# o% E4 f- K/ D. ~
2 S9 u3 W5 ]& l: J) _* s2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
$ i. v+ T* C  t0 Y$ ^3 i) Q  J! k6 _2 q% F  ]+ @
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
" u( W0 ?7 A  J) F4 o
8 c& Z; l3 U" y) [) t& a, z4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。( U. h& v8 O$ z/ l
- Q0 d5 O1 ^# C) F' K2 ~6 @
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?% q& @# H( ]" S
" l+ S0 e8 f6 m6 x# Z
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
6 ]- n" p8 h2 P- A8 M  c; @! F1 r  b9 W1 O8 |- E/ V0 h
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
3 \8 s' k* J5 W) r. g0 q
( |4 A0 \- ?" h- T   ```- N, q! X  \  K9 u( }: W
   add_menu_page(
( C/ ?( H% T- L9 N3 V- [       '全站公告',
" }9 F! Q' Z$ n) k( X       '全站公告',
2 d! [) e3 E( S1 O       'manage_options', //需要的用户权限
* b! }, Q2 F& x$ B) @! Y       'site-wide-notice', //后台页面的 slug
' z9 _7 x  P, f- J# Z       'render_site_wide_notice_page', //用于渲染后台页面内容的函数& l  F1 Y  E0 I2 }0 D  S. @$ c4 W
       'dashicons-megaphone', //用于显示在菜单中的图标
' E4 ~% r' D* s+ Q: i, ]       30 //菜单项的位置
9 o( K8 _1 n1 Z6 ~+ a- @; }7 Z. d, {   );8 D6 n- A2 h9 X' v& d# L
   ```
" m0 L0 H8 r# j% c! @0 U
4 E- G) Z. X+ h   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。- o! S( r7 U: U$ k+ c4 t
! g. B2 ]5 P; t/ t
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
& ?# d1 _, a3 _- r! a( o2 \
6 `+ x; {; P# d8 b. c   ```# }! `- l& r0 Y  K- A
   function render_site_wide_notice_page() {
9 M' x9 `* \* H3 e      // 渲染后台页面内容
; l! k" d, [* r% Y4 @; F9 H      echo '<div class="wrap">
" o% J$ o2 V7 t5 h  `' j: k( y          <h2>全站公告</h2>! F5 ?+ V) [' q4 E2 o( [/ ]
          <form method="post" action="">
& L( A3 b" _  r              <label for="title">公告标题:</label>1 p8 c7 i" O% T( w" Q$ C1 b
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
& J: U2 @7 l5 H- d: z; A              <label for="content">公告内容:</label>8 p3 \  z8 N. x, r6 {) |
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>6 N0 v! `8 r: W5 L5 e8 A
              <input type="submit" name="submit" value="保存设置">
5 }! J' Y4 f! Z" E& Z, s          </form>" |$ G6 b: \6 `3 s
      </div>';
2 L# f' t- K. o  U$ t: I
5 Y" }# R% Q2 `3 k/ r0 ~      // 处理表单数据
8 `, ]+ y5 C' D, ]$ C      if (isset($_POST['submit'])) {- Z' u  |6 j  x+ Y3 V9 K+ Y8 z, t
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));% }/ r' P2 V9 \
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));% k: }! b" g/ X$ n
      }1 {4 d* E6 c2 m; Z6 j
   }- b: v$ c1 M/ O6 K# I
   ```
( q( m' E7 ~1 Y. ], ^+ l& R. L- {; y
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
$ S% H' `1 ^* `3 n8 F/ D) \7 C) K
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
, j: A* G) ?: ]7 w3 X5 R
. O( b% V$ }% M7 ?9 s4 e5 W   ```
0 Y# g: f: F: B$ b4 j   <?php1 D; K1 o/ J7 O& f+ w) l. S
   $site_wide_notice_title = get_option('site_wide_notice_title');
0 \- H9 A' i( [" Q4 {* A; f   $site_wide_notice_content = get_option('site_wide_notice_content');1 ~3 p: F) u9 E5 [+ V  [3 P
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {! `* T8 A* a. t5 }5 \/ U
       echo '<div class="site-wide-notice">';
9 W1 A9 ]' o$ C! V9 Q$ C) c2 T       if (!empty($site_wide_notice_title)) {
$ E0 D" k: [  w0 \2 v           echo '<h3>'.$site_wide_notice_title.'</h3>';% ?' _0 c3 a- e+ l7 b) F4 b) b
       }
8 {: o* n, d4 t6 i) E* a2 O       if (!empty($site_wide_notice_content)) {
7 G/ l3 q/ B6 h9 w           echo '<p>'.$site_wide_notice_content.'</p>';
; @) U3 j  h6 D" W0 l& U2 p       }6 ]: Y/ w2 m& A; F3 n% v
       echo '</div>';
: k% |$ q& r, Q   }/ i9 f( B; g# B8 }8 _
   ?>. ]2 ~3 n8 Y4 E. w
   ```
% M, |$ Y' `! X0 A2 F0 m3 U/ {! u- [0 X& l2 ~8 ?- u
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
! a/ [+ i) J) y% g. }! Q, a9 M, w0 y5 c  o3 Q9 A, l: D0 F
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
  _+ Z+ \- k9 s
% x5 F% r- T2 P, K# j: t' o. Y* f您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
: s  z$ i* C. Q2 Y8 _$ f# d, K2 f/ K
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
: a3 O( v, m7 N1 H4 A! r3 e+ ^7 k( f% S5 g& {3 \
```5 Z' k, N+ x- }) f5 p' x, A
function create_custom_post_type() {
5 |+ k- @) r6 a- j0 C$ k) d    $args = array(+ J* r9 O5 x% _" ~2 W7 _9 W' s: @
        'labels' => array(
& J* f9 V1 b. }* p3 l' @            'name' => '公告',
% M6 [' c0 O- ~# h            'singular_name' => '公告'' e0 |3 k- p4 n) e
        ),
' O4 Y- S+ g0 B0 U        'public' => true,8 ^$ M& K( z5 M2 r0 D
        'has_archive' => true,9 {2 x/ O0 C2 g
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
) C+ Q3 [) v( t0 L$ B        'taxonomies' => array('category', 'post_tag'),# C) N+ |# B( M  N5 ^
        'menu_icon' => 'dashicons-megaphone',
" M, A% F2 B; ?2 R        'menu_position' => 5,- @1 D$ Y6 M0 M5 p. ]
        'rewrite' => array('slug' => 'site-wide-notices')
2 x/ Z+ n: }/ x5 k    );
  @2 f, z- ~8 [2 P$ w9 K5 W- p    register_post_type('site-wide-notices', $args);
6 U' L6 i8 F+ p! c}4 n+ i# [. i+ |, d9 [! [
add_action('init', 'create_custom_post_type');
: c! L+ _0 m0 D% p9 s```
" A9 v9 x* d2 c) L3 Z& }# I( A1 @7 _& ?3 L5 [$ ~+ i" ^
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
" G& E$ k& v: P! H# Y
4 H$ ?4 d/ v" c2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
' r; Z2 [: V6 U" D5 s3 |' P4 p! z+ r+ [$ e; }. H; J
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:% A4 i6 p: ~* }0 \+ A2 p% }% S! C' n

3 U& M$ R# |% |9 E7 Z; `# J. q- b```/ @. L6 O* u- H8 o! D
$args = array(" m" M! s/ J! h7 a
    'posts_per_page' => 3, // 显示的公告数量5 ~; ?& m2 l( o- U
    'post_type' => 'site-wide-notices', // 公告文章类型$ n; y, @+ |* D. O( m) p9 y  P
    'post_status' => 'publish', // 公告状态
( q$ x2 t( K1 {! X2 |8 U    'order' => 'DESC' // 排序方式' m/ f7 I4 f& W' e( Y1 H5 x% b
);
  D% X' ?& R2 J" h4 R6 G, D* H4 D( V& u# a) v0 }
$notices = new WP_Query($args);  }  \: J( e0 a9 Z; Y% a. V
if ($notices->have_posts()) :. R5 B& A6 @; f8 E5 G
    while ($notices->have_posts()) : $notices->the_post(); ?>* e- f: B  O! H5 _
        <div class="notice">
" z! S8 N5 J: v: N" R            <h3><?php the_title(); ?></h3>
' ^, ?8 B% M  p, |$ O' D: y            <div class="notice-content"><?php the_content(); ?></div>
: I+ A5 v- F, Q" C+ W% V        </div>& M8 J. V9 p/ A6 J
    <?php endwhile;% F, S1 w0 P2 P' E) M7 J
else :2 A) `  h, [, s5 V# C+ H) ^& h
    echo "暂无公告";
  H! a' m' i* o4 Sendif;; p2 Y) m) d- T. p* R4 q
wp_reset_query();9 p: o) y6 \! {8 A- x
```5 }3 y' \/ C4 {  a! Q( a
9 P& P( O5 P# ~; `1 Z
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
" m7 `2 {9 g% o; f0 S9 Q7 _3 y$ r+ U& x* m: [  P8 H" L
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?! I8 E6 v  ]2 s( T/ w

4 ~4 H9 p) n) c& H) s) p如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
6 ?+ {) P  \9 G$ r# J" u" U* E. o5 B8 Y
以下是创建自定义插件的步骤:, h9 o$ }4 k$ [( c0 R3 g! M; ~

- j# p! m7 s0 X7 k4 }1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
# L6 i6 L  Z* Z1 ^. j# V
8 g$ F7 o8 o& N   ```3 t6 z! [1 X% x, X& A3 R
   <?php0 t- P0 J4 R3 t; E
   /*
& i$ X7 V& J. V* Z: P9 V" t5 o   Plugin Name: Site Wide Notices Plugin
) s  ~2 ]. a4 ~2 G8 p0 a" `   Description: Adds a new custom post type for site-wide notices." _) Q8 Z) x( g% {; z* f
   Version: 1.0
* G% q4 ~, k. t7 m9 O" C   Author: Your Name0 Y: g; O& N( b3 l+ G/ |) H7 Z
   Author URI: http://example.com
% e& \6 K3 Y, C: |   */
  v- v% u  i3 x, \& @3 D: B& X* f  p  X7 w) D$ ^* e" ?5 j9 q2 g
   // Add plugin code here...8 J/ _$ m8 e& V' u4 W
   ```
  o0 a! ]* b3 d% J8 _- w9 W, c4 N7 P: @8 H7 D8 e
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。" k% r* b7 L  ~' m9 @
% Y- A. o# Z" O+ k" q
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
4 q, P6 u7 h9 ]  \3 f
- d/ h$ \- K4 ~7 U2 ]   ```
0 p7 `, P, b0 s2 t   add_action('init', 'create_custom_post_type');
3 W" S( T7 s0 o; ]  E   function create_custom_post_type() {
/ G% E" D/ g9 s! J      $labels = array(# h1 A; V! {3 D
          'name' => 'Site Wide Notices',- z8 }7 o9 J+ A) T
          'singular_name' => 'Site Wide Notice',
/ l& i# K/ f5 |0 {          'add_new' => 'Add New',/ R3 y! Q* V; |5 j) L
          'add_new_item' => 'Add New Site Wide Notice',
) C9 n& `8 L8 C- u$ a; q, D0 W1 C          'edit_item' => 'Edit Site Wide Notice',
* w6 ]: _/ m% @: X. D, T          'new_item' => 'New Site Wide Notice',
/ ]4 ]. S  ?" c+ O          'view_item' => 'View Site Wide Notice',
6 k' l5 f8 L( u$ ?9 _          'search_items' => 'Search Site Wide Notices',
/ N- q  N( E& n9 x& [' ^          'not_found' => 'No site-wide notices found',. s! l9 M( ?7 e' J
          'not_found_in_trash' => 'No site-wide notices found in trash'
2 t) w" L8 Q2 q2 W      );
* k, |% }# q! p" k5 }& i7 W: H+ I
# J. c1 s6 T) D/ J      $args = array(
/ @6 M) }) i8 _; U0 L! d/ k, v3 W          'labels' => $labels,7 D3 r- u- R- |, N
          'public' => true,2 l/ C) X* Q" |1 F
          'has_archive' => true,3 q/ Y2 n8 Q* g: }1 i5 f' s4 O
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
5 }8 W- y1 [, d) H- ~+ R          'taxonomies' => array('category', 'post_tag'),
' ^, Z" I# t- K# |- A& M# b  Y          'menu_icon' => 'dashicons-megaphone',
. G& q2 j% u4 K, s7 J1 ]7 |          'menu_position' => 5,
. @. C5 b% U) _. W% s# u6 w4 F5 o          'rewrite' => array('slug' => 'site-wide-notices')
0 m0 Z/ t! B  @8 o+ ]/ B      );" \9 e) |/ |1 w1 A! U
8 {6 e; ?) ^; G$ `1 C- P
      register_post_type('site-wide-notices', $args);8 c9 h0 n+ f  {, b. r  L
   }
% J5 G# I  I9 W: K- |5 y6 U' u   ```
$ E+ e6 n" o, Q- ?4 j: K! O) e1 O* I( V- J
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
/ o8 _8 a; C+ E/ h' n, u5 \* o& f
) I$ C: ?, X/ X9 B3 M- e2 j3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:& h, [& l$ f$ @1 _, I0 g4 u

8 b- Z( w4 A: _) p8 R. D   ```
. s( z, x2 l2 I+ E   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
/ ^" F' U3 V! \& V   function add_site_wide_notices_boxes() {
! U* U! S$ Z" y, {      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');/ k* y; T5 I4 @9 W" y% J  `; T
   }
8 A: z: ?: `$ a+ A2 Z5 q9 v( E6 ]* ?7 ]) u
   function notice_details_meta_box($post) {
% b$ Z! `- r& r) p1 S      wp_nonce_field(basename(__FILE__), 'notices_nonce');
8 s, G" ?3 y% g9 g  e! s* K, h2 ~0 U      $notice_title = get_post_meta($post->ID, 'notice_title', true);( y0 C/ J1 B$ w3 X6 D
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
( k- t- o" |' k1 W* Y      ?>. P* w. ^. J2 E& ?9 i9 X
      <p>
: F  Q  a: o. K( G          <label for="notice-title">Notice Title</label><br>, Z% C% _+ T& f8 J
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
; |" m9 C8 R: R8 K' U      </p>+ G9 g# @" l" l% |& c/ w( w
      <p>
; P7 T6 K3 f3 o3 |* u          <label for="notice-content">Notice Content</label><br>
$ R! i+ x% b6 R/ S5 j4 `          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
+ ]* l, h( E# K3 y& @3 M/ A      </p>
# e* O+ z+ I# f7 Z! P. D- U" D& j      <?php! C6 a% N; E$ Z! n, ?0 @
   }
3 E6 J+ [  r: ~" |. P2 ]+ d, q- o' v5 [5 L1 E+ m
   add_action('save_post', 'save_site_wide_notice_meta_box');% G. I* n* N2 A* X1 J0 B+ z
   function save_site_wide_notice_meta_box($post_id) {
) h7 H8 Y0 P- W% d' Q( t* B& E      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__))), N+ b+ b, Y6 Q: W
         return;
7 a6 \" i/ S% g      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
1 D* b! m0 j1 t  `4 w" z         return;
# g/ b) ]# L0 N$ x, W4 r9 V6 }5 S. U5 ^( Q$ m" ?
      if (isset($_POST['notice_title'])) {& u4 U( ]3 M% l
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));7 f8 L. k) j* A- j" {8 {
      }  ~  o" X0 T. J
      if (isset($_POST['notice_content'])) {
! _( s6 @+ {3 M: f% w$ e4 ]$ Y          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));& L9 a: @' P6 N: P  @- Y
      }1 u: C1 H; T3 `! c( C4 M9 e
   }, ]" L3 y/ L6 M6 a5 r
   ```1 A7 d( l5 g( o: ~2 I
5 t& p1 V4 [6 o9 k) ^
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
8 O4 c! ~6 a" c  V, ~8 _. o/ H, v
( a! r) I" P8 W* N& E; K4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:' g. ~* a, y. m7 u, f  }

$ C& A8 g1 y/ g6 W" [( q. [( K( }! @   ```
5 F6 Y2 f7 S- V( k   $args = array(
8 F' R% f: M4 K& a6 r- G: Z      'post_type' => 'site-wide-notices',) [" T, R/ ?" f  d
      'posts_per_page' => 3,
% F0 T$ t3 s, Y, \  z      'order' => 'DESC',$ N! K3 s& L+ g/ F: Q5 h4 x
      'orderby' => 'date'* p3 \5 L8 \4 S- w5 C( x
   );
1 ~/ F. D8 b: M7 D; U   $query = new WP_Query($args);% H+ o* w( F5 k( @$ H2 }& M( B# ]6 h
   if ($query->have_posts()) :' ^* J9 k5 o6 ]9 }6 m! Y
      while ($query->have_posts()) : $query->the_post(); ?>
, U7 |  V! ?3 b. G* K          <div class="notice">
4 H# ~+ l: D4 d7 z  f6 ~5 u# T              <h3><?php the_title(); ?></h3>6 o1 g7 B0 N% W' {6 N
              <div class="notice-content"><?php the_content(); ?></div>
' _% W8 _0 K! I. x: B" _) G1 y          </div>/ f* t0 o& q* s' p4 I  E  L
      <?php endwhile;9 V7 t2 D7 U- h. ^2 c
      wp_reset_postdata();1 d3 w# U: e0 s! {/ X& ~
   endif;
9 `* a/ s9 H  o) }$ r   ```, @% [; H' h, n. d8 K
) U  ]) e3 |- `4 P. W3 \; [
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-14 11:48 , Processed in 0.012466 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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