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

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

[复制链接]

347

主题

563

回帖

3671

积分

管理员

积分
3671
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
! Z$ G7 _) j& y6 K3 V& E+ y- X, P
1 c9 W4 N1 f, @2 j1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
. N7 `* a( b) r8 M% P2 B( A
8 V1 Y% y: l+ k/ N2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。8 g& c& ?, c) A/ f0 N
9 M, U5 O, L; N& z. J: R5 s/ g
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
* Y5 t2 x! j/ Z
( Z8 G0 w0 p7 b) U! t" R5 [4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。! T* L, T; E* K& U
$ y$ v& N7 B1 P
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

563

回帖

3671

积分

管理员

积分
3671
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
9 C1 X/ y  N( m
# G% m$ g+ z7 N/ F; S, ?" C如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
2 R3 g9 n' R) L3 \* o) }6 A* Q" D" D, N5 L( M8 |4 _- H2 ~6 d
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
& g% P: g3 P  d- v. S( @1 z+ e& x5 B" h4 S- ~
   ```6 V* e2 _8 P, {& R
   add_menu_page(# l& j  L- J, `. B+ {( h8 f
       '全站公告',
9 B# n6 e& J3 U1 t6 F       '全站公告',
9 N3 S3 M$ |2 m! ~       'manage_options', //需要的用户权限3 D! [( ~5 ]9 B7 K- f
       'site-wide-notice', //后台页面的 slug' p, {: p) C. M. ~% p7 r
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
8 j& e# B: H1 ^! V7 a' G9 h       'dashicons-megaphone', //用于显示在菜单中的图标
5 b4 D* V! O. U, \% p( F# V: \       30 //菜单项的位置" N6 s. F, j0 y# s' C* h$ s
   );9 M/ k/ s/ c5 o/ M6 h: M: C* [6 p
   ```
  X! \- Q2 s4 m0 D; r. t6 S6 x; I: m! G* n
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。3 {2 i3 i- W$ W& B/ m& F1 r
- t6 p7 w* ], |1 B7 Y0 a3 x& l
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
, w  u5 x4 c- C8 r& P. ~
5 Z+ @- Q3 E1 c5 P# A. |5 w6 a   ```
/ ]5 s; j3 p$ [9 v9 o( f   function render_site_wide_notice_page() {
! z4 Z& {% X: ]) R1 q& C" b      // 渲染后台页面内容3 l' r4 v2 l" }; E8 Y" n: s* o( T
      echo '<div class="wrap">
% J2 ^3 q) Y1 q5 j          <h2>全站公告</h2>
5 w/ j4 [/ g5 q8 A          <form method="post" action="">8 ~- h  B" I" f
              <label for="title">公告标题:</label>
5 ?5 ]. F/ H  x              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
3 T5 ^' \' T% f6 P# A- A              <label for="content">公告内容:</label>4 `1 `- ^9 s. e4 G. U3 I/ _
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>4 ^+ j; w; ]' W5 _4 N( Z+ q
              <input type="submit" name="submit" value="保存设置">; B+ ?( ?6 w1 f4 l
          </form>" E: }. A2 F3 R, R
      </div>';$ w) G$ o  e0 a9 W( z2 n1 O8 K7 D

6 V5 I1 L9 e0 u. Q8 |7 B      // 处理表单数据
5 e: n7 ?( }% U! ^      if (isset($_POST['submit'])) {, x/ R: E1 Z7 h3 V: q
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
+ I. m1 c; z; y# X2 t          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
+ r$ A, _$ P2 p& |" h      }0 A2 V+ P) Z4 \. h" v: q
   }+ e! z' L' d$ l1 d! ?9 a
   ```+ r3 T$ O5 d/ b: [

5 k. X% j  K: r2 m4 F8 N' T$ \   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。! H/ M% i% G/ M9 c

) K1 u+ u) b4 ?8 W3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:: u" a% P1 h( F# i2 F
; g! Q9 ^" y! K, `& H
   ```
% w) J8 {; ]+ _$ L3 I; j   <?php
  q, T# D+ g! P3 d- e9 i% \8 |   $site_wide_notice_title = get_option('site_wide_notice_title');$ e6 O, G' c' n8 Z
   $site_wide_notice_content = get_option('site_wide_notice_content');
! ^& X2 v1 A/ ~, o& V2 G# y   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {$ D1 ~3 ^; V# x4 t5 K' k
       echo '<div class="site-wide-notice">';% X8 ~$ T1 l% I1 t! S( v
       if (!empty($site_wide_notice_title)) {
& @- y& N! |0 ]  w           echo '<h3>'.$site_wide_notice_title.'</h3>';0 b) {( M' `3 M; k) J4 w7 ]( j" u
       }% R0 |8 o1 M9 f7 x1 q( C
       if (!empty($site_wide_notice_content)) {" n# I8 p" N% S6 o) q7 a! e7 X
           echo '<p>'.$site_wide_notice_content.'</p>';* E  n1 Y- @. r
       }
. V- O' y0 a( ~2 p) d& O/ N, z4 i       echo '</div>';
3 ^1 U$ f* b' M1 b6 n   }
% D3 C/ ?3 r$ b0 o) W& l/ M0 R   ?>
. H. E& W; r+ e- D1 M. b# w  r0 T, a   ```
  h+ g, h" @0 G7 z( g, N& e4 _& U: {  W
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
) E; E& V4 b* }- }
5 O. l) [* D7 ?( q4 g& j" Y6 K$ w$ W请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

347

主题

563

回帖

3671

积分

管理员

积分
3671
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?6 ~5 O5 t8 u9 @5 W& ~* W1 G+ b& }
# X2 L5 U* I, R4 l+ C( _- j
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:6 A7 l! c, i4 _

2 e; B  B6 G1 C& E: P; r  k1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
% t, f8 S4 }* r; m+ ?, r1 |& ^6 V& m8 U
```
# @* W8 Z+ i) _0 K4 [* Wfunction create_custom_post_type() {/ c0 B( j; |% B! A
    $args = array(
" r, m0 j- y5 `, S        'labels' => array(
" p7 |, R2 ]% p5 F) S: t% u            'name' => '公告',
9 t5 z8 H) U6 Z9 c* S3 n) W            'singular_name' => '公告'
! ]' c  L; _% q0 L& H        ),
( g1 w" w+ F& G( j9 Y) f        'public' => true,4 D- k* m- y# L% H3 V8 J
        'has_archive' => true,6 I  [$ X# E1 B3 F
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),  y" h  x4 U2 J" R2 x. ]4 k
        'taxonomies' => array('category', 'post_tag'),2 J, J5 m9 h& Z5 U; w% t
        'menu_icon' => 'dashicons-megaphone',
, \+ u7 @$ |. _! a        'menu_position' => 5,
$ a# u! _/ b! W7 q! R        'rewrite' => array('slug' => 'site-wide-notices'); y$ _! v' g) \) T: @& E
    );
' r0 h( i% j+ p8 p% d9 o    register_post_type('site-wide-notices', $args);( T% f$ ~4 g. E* }/ F+ {1 ~
}
4 C5 _; Y; D3 Iadd_action('init', 'create_custom_post_type');$ X. f5 {0 ?( P& V( g- m  v; u
```
* }( c' r! C7 t4 V$ m! b
# Z7 }9 i1 c+ s/ y4 G8 X1 P1 N在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
- h) n6 ?8 B; j8 x% T
" S3 p' k8 @3 I2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
! n0 N9 B; N" }8 _: a& b# M' ~- x7 U) _9 \
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:5 @# h5 ?% o: q. m6 ]. T# H! `  U9 j
) c7 }" p4 [) V* \% d
```
: {8 W8 U8 w, I2 X2 w% i& ?8 n4 s$args = array(3 x* w! i% w0 R- F( R3 t
    'posts_per_page' => 3, // 显示的公告数量
& q0 B  b5 n- O% Q# T    'post_type' => 'site-wide-notices', // 公告文章类型. S2 }7 N8 X7 Q, }1 Q5 d6 @% C" @
    'post_status' => 'publish', // 公告状态
0 N1 p6 e9 l3 D    'order' => 'DESC' // 排序方式6 X. f- ~7 L/ [/ X* ~5 c" r4 z
);
" S6 x) ~) c5 C# f! J8 J% @
0 y2 |' }) k* Q+ C" r$notices = new WP_Query($args);! T. \) F" |. G* h3 N
if ($notices->have_posts()) :
$ u8 _7 [8 q4 o  P' D% y7 p    while ($notices->have_posts()) : $notices->the_post(); ?>) J- ]5 y' m( ^2 `) A! t; z1 Y
        <div class="notice">. ~2 t  U) I3 C$ b
            <h3><?php the_title(); ?></h3>- k( A. N- [/ k9 H6 l: ^0 q% d
            <div class="notice-content"><?php the_content(); ?></div>
8 z* D" z( [8 ]2 B6 a' Z- ~        </div>" s4 g- K4 r  ?  S
    <?php endwhile;0 J: w+ O1 U: N
else :( E! y8 C8 L% r, L3 h/ G7 m
    echo "暂无公告";$ [$ Y- Q3 U3 e
endif;8 J3 ~3 z' g8 L
wp_reset_query();2 }) g; Y# v1 G3 ?) y5 H6 e
```
' _6 m1 p7 K% r: \  \  X! m1 H
- E; f* k4 y- ~) }; M1 L* e这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
% I8 `5 f* W; J$ K! E8 i5 m  M# H
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

563

回帖

3671

积分

管理员

积分
3671
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
" B$ M* `) m! q1 ]/ {7 a5 G' Q) Y. \
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
- v$ l  [) ~  i6 g8 A4 p3 ]+ {8 h$ V( d
以下是创建自定义插件的步骤:
8 v+ p$ o9 E! ]
) |% F3 j9 t& N, s) K. z7 o1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:& d: r# r# I( n, h

% H) T/ _) ^. E9 h6 }) D   ```
3 e8 I- q3 z/ R7 y0 F   <?php0 F' P" k  x/ F6 B+ R
   /*
! Y1 y& f5 N& w7 a$ ~: I5 o   Plugin Name: Site Wide Notices Plugin" p- M5 p; l' \: K
   Description: Adds a new custom post type for site-wide notices.: o( z$ W2 J7 x, z" V
   Version: 1.06 B+ @8 l4 D; ~
   Author: Your Name
, |! ?8 q1 X" K   Author URI: http://example.com2 K' t* x6 [2 j# u8 t: z
   */
6 p  @. ]  U. j+ h; L- T  t$ e+ }7 Z2 \6 J8 Y
   // Add plugin code here...
+ x8 W" L' _* q& @4 W   ```
' M* k. @) b6 W; r  i8 v" z% a) q
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
: N# k- b6 z, |5 [" R2 n: r! }
/ u% y8 ~) g% ]8 |3 X2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
' b0 ?" U8 c: B, V1 n" _$ m# p3 ?  y- Y9 v  c. R
   ```& s5 S6 o' V* O' x
   add_action('init', 'create_custom_post_type');
% N5 n* ?& H% d3 C7 Q   function create_custom_post_type() {; o2 |) K) {3 ]; Z) X0 W
      $labels = array(
: s' D+ ^' ], E' {          'name' => 'Site Wide Notices',) D: ^/ w$ N) g3 N7 F, m
          'singular_name' => 'Site Wide Notice',
) F1 m- M8 s8 U0 z1 L" J          'add_new' => 'Add New',
6 V2 R; S+ K/ v, i0 K9 _          'add_new_item' => 'Add New Site Wide Notice',
: w# M/ `% V1 E2 U* u' h          'edit_item' => 'Edit Site Wide Notice',* R8 Y# j& q3 W7 C" C5 z9 D9 N5 @
          'new_item' => 'New Site Wide Notice',
' g, i1 I) N8 U5 O) p% e6 m          'view_item' => 'View Site Wide Notice',) ]$ w0 V- P5 h; A% |( P
          'search_items' => 'Search Site Wide Notices',
  f. z* Y4 H: S; r: `          'not_found' => 'No site-wide notices found'," t* a+ r/ _$ Y% l- p
          'not_found_in_trash' => 'No site-wide notices found in trash'
$ E* i0 v: v) U8 h      );
5 [: j% t; W+ A. }3 I, O7 L$ l7 f
      $args = array(3 i* E; R% ~' D7 |
          'labels' => $labels,( H! U4 ~* J( r/ v4 ^
          'public' => true,
1 `8 z! u# r5 Z8 m3 j2 Y# v          'has_archive' => true,; S+ u6 S# h% r( D5 }
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
# X5 N  O2 _+ x7 _# F8 _. L- x, X) o7 ?          'taxonomies' => array('category', 'post_tag'),; H9 l( t9 K. z
          'menu_icon' => 'dashicons-megaphone',( p' Z+ ~$ o* ?  D6 I6 v
          'menu_position' => 5,1 c- Q' K/ _! [5 g* l( V: @
          'rewrite' => array('slug' => 'site-wide-notices')' x) F0 l4 N, s" S
      );' J% s/ s% L; J$ d3 U5 h' ?
. `) g. O% o4 S7 [; p
      register_post_type('site-wide-notices', $args);
, n( c3 ?+ w$ p   }8 ~7 l0 j8 f, c
   ```" N$ A+ m: O% u
" u8 ~0 y% n; z. @$ w& O
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
! O; l2 w- |0 R) f
3 F; h3 K/ e( H* q+ `3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
: U! g7 `1 @. Z4 ~
1 ?- b* J% P) @+ i2 E, q   ```# U: Z/ G, A2 }6 R: I. p# p8 B
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');7 J7 C3 ?7 G# I% u. q
   function add_site_wide_notices_boxes() {3 H& L7 }& T  @4 t4 i
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
! G- e/ F6 d% H! c0 r7 H   }
2 [$ y/ u% X0 s) f/ M4 I8 z' G1 k' L% m3 x
   function notice_details_meta_box($post) {
) ~. j: z4 t$ j      wp_nonce_field(basename(__FILE__), 'notices_nonce');
. O1 ]5 K* A* {& p" |4 M2 [' c3 M8 Z      $notice_title = get_post_meta($post->ID, 'notice_title', true);) u1 Q, n- d% `5 q
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
- w3 s* X; e% \+ ?; i      ?>" g2 {5 T3 G4 b' a/ W, o- l
      <p>
! r0 f1 K! m$ k- C/ H7 Z. _4 @          <label for="notice-title">Notice Title</label><br>( c% R& C# `; k! _" t
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
2 Z, k* ~7 o0 D. X% s+ E* T% b      </p>
3 B; g3 R0 X' J% }      <p>
" C& l9 |  Y! h          <label for="notice-content">Notice Content</label><br>& n  T9 e* C+ b2 m& o! X* {
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
4 w. S, n& Y2 a9 {0 }3 a      </p>5 q' Z1 {% t* ?$ g/ n
      <?php. F6 z% j. f  j5 V: c
   }
" j% m" H2 \" Z0 x
) w' L) J. e6 F7 v* U- r! S   add_action('save_post', 'save_site_wide_notice_meta_box');
, [. Q7 ?2 t4 w2 S1 \3 f   function save_site_wide_notice_meta_box($post_id) {
) u1 p' _9 w% M4 W2 o. v. s      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))$ M5 g- s8 N# k7 a! f* N5 r5 p  D
         return;
& {0 c% A) t9 K6 b* v) k      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE); O  ~1 F, z- w9 R! |. q
         return;
) H$ Y) p) |& o# }% ?/ W
% h# A0 f2 E' f6 |      if (isset($_POST['notice_title'])) {
8 i' N  s9 V1 V# Q* |) y7 r' ]! |          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));8 i8 @6 o6 f! [, v- r6 J* Z
      }
) X+ c) S) H, i7 B3 d; _" s      if (isset($_POST['notice_content'])) {
, g- e$ }# u+ N& K          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));0 O; x( \. P1 y+ {* I' n7 f; W
      }
2 @5 Y, i" z  K+ b   }
4 O4 p! }- t  ^+ T4 z4 ^9 A   ```
- Y& v( F, K2 p+ a1 Y/ I2 `6 k# @  {: L8 o, b- S  s6 ]3 e
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
' k+ @4 e9 U' S% k# E2 r+ @1 d
& v2 ~5 p9 |! O7 |' e  j% g: M" T2 K2 |4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:# O; ^& ^4 d7 E

7 ^& h/ o& Y% U# s- {   ```
0 P0 Z1 ~7 r) R3 c; h   $args = array(
7 u7 {( F  p4 i2 ^0 W      'post_type' => 'site-wide-notices',
0 M$ _8 h2 g2 r! ?      'posts_per_page' => 3,
7 F; R( J: r$ P% p7 `6 q5 D      'order' => 'DESC',
2 V& \/ X7 k" V3 e/ N      'orderby' => 'date'
1 t6 V* M2 D( Z   );
, l$ L! N: S/ O1 R& I/ I   $query = new WP_Query($args);% h: ~& `- [$ h3 X4 A
   if ($query->have_posts()) :7 V9 d* a, Q2 v9 E. o. u- i
      while ($query->have_posts()) : $query->the_post(); ?>2 K  |9 x$ t5 k( ]( R3 ^8 ?, n( n
          <div class="notice">; W# O7 X/ Z* p- S. K( Q$ S
              <h3><?php the_title(); ?></h3>
" v5 {/ Z! Y  d7 y& E* k" p              <div class="notice-content"><?php the_content(); ?></div>
8 T. |; x* G. O& w: b7 `          </div>0 w# }6 i- }5 E8 ~) m
      <?php endwhile;
9 K. @4 v$ ?# C! R      wp_reset_postdata();3 g/ g4 p" g6 z& d* |
   endif;4 i, p* f8 \+ B  w7 i7 l! g
   ```
1 R( x  _& Z- J5 a+ m% l+ \2 z0 ~! P2 O6 S" ~. E/ W' V" \& M" W
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-6 22:18 , Processed in 0.012515 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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