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

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

[复制链接]

343

主题

551

回帖

3619

积分

管理员

积分
3619
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
: M$ K$ \+ I9 L4 c( `& N; B4 O; c) {. @  \! v2 I7 l* c9 s
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
) U8 J7 |, U' v6 U4 z7 O/ W7 ^$ X3 p: n7 U
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
1 Z! v& l% ~* C
3 Y* \6 L. r6 T% ?* c3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
( m$ d1 l1 a7 ]% j) q  W5 X& ^1 D- z" E
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
  x  ], I5 O, S6 \- O
; g% _! D# X' T注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

343

主题

551

回帖

3619

积分

管理员

积分
3619
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
# s$ s" X6 J# V/ R8 ^! f
: u1 C4 L9 N7 r) f如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:9 x! b) G; s5 \$ s: N; f+ V

& E: O# m! L" e" G2 y/ {: X1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:  z  ]& G! c& A
$ X' r2 v* M0 N# N( l
   ```
* A" \" [5 G4 r   add_menu_page(
- m6 O  x; `# Q, w$ S' x       '全站公告',4 J( s4 t9 D. H8 K1 L$ Q7 ?
       '全站公告',9 d; I4 B8 N! m% B& R
       'manage_options', //需要的用户权限
7 [& f5 i# [/ j8 G0 G2 z       'site-wide-notice', //后台页面的 slug4 c: F# t+ j! @$ D6 l+ I
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数2 V5 w" H$ A: D
       'dashicons-megaphone', //用于显示在菜单中的图标
/ t- ?5 d) S$ R: P8 H" W       30 //菜单项的位置
/ k5 l9 m* s2 w6 T1 @* X  W   );/ l. c5 j" _; |, x) y- A
   ```
. |/ \. H1 @# f7 u, [5 M- l, e8 K" C; f, Q  x4 _, M2 y
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
) e2 S' j: E; w; K& U: R+ R9 p& F1 r2 ?" z
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:; j+ f5 w, F: \) {" p, M% k3 @

  `6 |& ^3 \+ V0 q" \& H   ```5 m+ n. Z1 z1 s# b* {/ ]) x
   function render_site_wide_notice_page() {
3 Z- L. I' ^7 |& ~% J      // 渲染后台页面内容1 M! N7 o9 T* r) @2 G3 K1 h4 {
      echo '<div class="wrap">  l7 n" I3 j7 z& v9 n
          <h2>全站公告</h2>" c1 W, d- \2 ?
          <form method="post" action="">4 }# t! m% u! Z1 A, m
              <label for="title">公告标题:</label>
4 k% f3 T5 t% s) j5 A$ E              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>: i8 s; q( L8 B9 b' r
              <label for="content">公告内容:</label>
$ q/ q" G' V! y5 G% i              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>& I) H5 E+ |9 J: `' q0 k+ x" [
              <input type="submit" name="submit" value="保存设置">- r& _8 {% C1 M- o! Z
          </form>
$ Y& V  X2 ?- V      </div>';- a0 b) E1 m) e' m

: `. q7 Y1 C* \; R      // 处理表单数据
2 u! P# _2 M, d      if (isset($_POST['submit'])) {0 y1 g' K- Z1 Q
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));0 F4 H7 y5 u2 H
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
/ \5 j  @% o" |' k" h' _      }
7 i4 L% d, r1 x+ l  J   }
! a# Z, q% \+ ~9 e7 ^   ```
5 T3 N+ H$ l, `$ z: ]
4 O6 x' U/ V+ a; `9 m4 z; N; H   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。$ ^6 v1 [; |4 s7 v2 M0 D$ v0 Q

6 n5 @& e, P, |5 z, ^3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:, A6 I+ v% v+ f& }' v1 V
0 F8 W' F& C- n+ P
   ```9 h& q8 `. H' Y7 `/ w& K
   <?php- X. ?; j* O7 _; z/ ]) W1 Y
   $site_wide_notice_title = get_option('site_wide_notice_title');
8 i3 w2 h$ _$ ]. ]5 {; Y   $site_wide_notice_content = get_option('site_wide_notice_content');
8 e3 I0 F8 l6 F% B2 i8 _: I   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {6 K: S9 K1 F4 f4 k/ z
       echo '<div class="site-wide-notice">';
6 ~9 r& r# Z, P       if (!empty($site_wide_notice_title)) {+ E$ e/ a7 z8 c  [7 ^
           echo '<h3>'.$site_wide_notice_title.'</h3>';
' g& W2 T5 m9 Q       }) ?' P" n% }7 ?* j/ ?! M
       if (!empty($site_wide_notice_content)) {
. h5 o! x$ M% N5 }! a$ Q           echo '<p>'.$site_wide_notice_content.'</p>';
6 S+ h8 G, o7 r2 S5 U0 N- B- A) A       }
. V2 D+ V) P2 P3 n0 M& Q       echo '</div>';9 d8 w/ D( ?7 z: s7 Y
   }& c1 [% `: Z" D  V, n% v
   ?>
& x* _( S/ n$ ]8 D' ~. O# _6 L2 h   ```
) C8 p6 m8 P+ i5 V$ K
* X; n! I2 C6 Y5 O+ U, ~$ j, w& L   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。  q6 k1 \# {  F2 ^% g9 j" C
6 ~2 }3 T; l, o7 z) Q9 d
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

343

主题

551

回帖

3619

积分

管理员

积分
3619
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?% l( c8 ^' w/ b: c0 F0 P
* k: g' D+ Y3 L5 i
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
& i( }  {9 k" D# H! H3 p& m: w/ a7 A
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
+ b& q8 L- n4 N2 u- q7 }2 D) w: [+ C9 ?
```  Q# N5 U! w7 U1 Z1 V% o) ~
function create_custom_post_type() {
# S2 D/ Q2 {7 d) e    $args = array(
) p$ K7 Y6 @1 x- H  `- {* R2 J        'labels' => array(
6 @# Y/ P* ?4 `  i, n/ M            'name' => '公告',# v6 V. S" i2 A
            'singular_name' => '公告'
3 u6 S" ?- z0 {* A        ),
/ C0 p" }0 C: s        'public' => true,
, D) B! l9 G8 i        'has_archive' => true,
( o' K4 u. x. r. p  m$ s        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
+ K: y; B/ F9 B        'taxonomies' => array('category', 'post_tag'),9 y6 U# T/ V" ~6 Z! Y( A; U) N
        'menu_icon' => 'dashicons-megaphone',* B* A0 o9 F) c: {- w, Z
        'menu_position' => 5,
. b5 E2 f9 T+ p0 ], V2 ?        'rewrite' => array('slug' => 'site-wide-notices')
8 H* n/ N" ]1 ~. @- W. F    );
/ f# a3 c. b9 N8 O) b/ {    register_post_type('site-wide-notices', $args);
  J3 P& q5 k4 |) s/ j}4 W8 ?: Z* [8 S4 Z$ z8 W7 a
add_action('init', 'create_custom_post_type');2 Z0 L0 n  o6 ?% j6 P) K
```
9 ?; K; Z" l1 D. v% r" ?* X3 Y" D
& k- W3 C4 k) r6 `. Y+ a在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。% [- f" x% ~( l7 f2 B; V
5 D- o2 Q. S, i8 S5 M
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。3 a' `# M0 _8 d
7 [: t5 g, t# g  c& D( {0 d* ~1 R! t
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
, O+ H2 [5 G: X" l# k2 j
. t' x" q( S( A/ @$ X' h8 X' C& M```
; o2 G- {2 v4 A( b7 K$ v* E$args = array(
7 o) R3 ^& }$ ?0 j0 _8 ~2 \+ ~/ }    'posts_per_page' => 3, // 显示的公告数量  x7 }" L/ `. R0 R7 @
    'post_type' => 'site-wide-notices', // 公告文章类型
( X# l! u5 H, A1 I+ s9 w    'post_status' => 'publish', // 公告状态" z! y2 X' y% P( Q8 D: x* S
    'order' => 'DESC' // 排序方式. W& X# `( }: W  u# A, Y! T
);
2 }# k9 ?4 S: u% ^7 c: q
. k* @$ h0 F. K" O0 p7 V$notices = new WP_Query($args);8 u: y9 L: g. g, t1 Q9 Q
if ($notices->have_posts()) :" U4 ~. ?2 K* u$ O
    while ($notices->have_posts()) : $notices->the_post(); ?>
/ p! j! z3 X8 h$ r) @        <div class="notice">
+ K/ o, B7 V/ w; i; m; N            <h3><?php the_title(); ?></h3>/ @. X% v, b- A8 y/ `5 _4 }
            <div class="notice-content"><?php the_content(); ?></div>  X5 m/ ~& V5 T
        </div>
( _" I: `9 f$ n. T    <?php endwhile;
& ^6 k9 u& Q9 L" [else :
" K% G/ Z9 d# F* {4 N    echo "暂无公告";
* D  H, E! l3 G* |endif;
0 m: S2 @) U+ y8 J7 Twp_reset_query();
; C* f  b6 f* o/ o0 u9 ?# [  w```1 m+ b) W4 z$ m# u' k0 c
" I- R- Y+ K$ B* |8 r& v
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。) l! U" @! S; Z! u! u% X* g0 O! N
  a& R2 g$ D; l2 ~. `, J
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

343

主题

551

回帖

3619

积分

管理员

积分
3619
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?2 s, s4 Y! t3 n  K

" i: E: j6 [" ]4 ^如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。+ I1 V6 j# G9 V7 ]1 d4 Q. d/ J
) r  F! R# ?" V( d- ^
以下是创建自定义插件的步骤:
- {. r7 ]$ C* ?) K- ~- Y" d3 Z; ?+ M% [
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:* [2 }: u4 s+ K& g. k7 f/ J
, i5 ]3 H$ f- S% M: `
   ```; L, N8 `' J/ ^2 m
   <?php  L4 \# ^& X( ?( m
   /*
% M5 \# E: e) A* c; D: a   Plugin Name: Site Wide Notices Plugin: w: ^# ^5 D. J7 |2 X
   Description: Adds a new custom post type for site-wide notices.1 N8 e/ a: x; b+ a8 X# }
   Version: 1.0
0 p' s* t$ c+ F5 g0 H' N* t   Author: Your Name( u6 f( d* w* y) W! `" x7 o, O
   Author URI: http://example.com& j5 s, Y: D5 u# l5 s' C
   */
4 n, j8 B& R; w; p' q% @/ s: L, B5 g$ N" w# M, p
   // Add plugin code here...- x; a1 ]! f8 R7 @* j& S% V
   ```. T0 t2 l/ m& h

6 q: ^) }! y" S" Z- ^   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。5 w3 P. ?8 d: z7 r+ X! V1 D7 o8 I

' O+ C$ C' T, @' f2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:+ k' [4 y" O1 d/ w* g9 k
1 L; a% y' ~) T2 A  u$ O9 l. f
   ```  A& a0 Q) W3 ]" X$ f
   add_action('init', 'create_custom_post_type');1 Q% \; N, ?1 T3 D
   function create_custom_post_type() {
) f2 G4 _! y1 P: B  Q' x' r9 {      $labels = array(
# W8 A" F% W$ v# q1 L          'name' => 'Site Wide Notices',
  }0 k; D1 Z9 f2 }; P: q. W          'singular_name' => 'Site Wide Notice',3 e% }6 W  P: g6 p
          'add_new' => 'Add New',
/ D: @8 Y' }! {! J" g          'add_new_item' => 'Add New Site Wide Notice',) R% v2 ^' m0 ^, I
          'edit_item' => 'Edit Site Wide Notice',- r$ V5 J3 _. Z! E; K1 C: O, X" f
          'new_item' => 'New Site Wide Notice',+ m# b, F/ O0 v, F/ A$ D6 p
          'view_item' => 'View Site Wide Notice',  @2 _8 O1 S1 r) W7 {6 q
          'search_items' => 'Search Site Wide Notices',# \- l7 R! x- v+ b
          'not_found' => 'No site-wide notices found',6 p/ V' w; `  T! t: x
          'not_found_in_trash' => 'No site-wide notices found in trash'0 o* Y, j  @8 `8 H
      );
' T' x# [4 w5 ?) z" A4 i; l; a
% A& E6 ?) [( e      $args = array(
$ U7 z5 Y- r. U1 ~" i+ E+ h          'labels' => $labels,/ ?/ _' Q# _# k, T' u
          'public' => true,. s; E4 ?# R3 x- x( G( t+ f
          'has_archive' => true,
6 d( H4 f3 E6 c( r& x! a, x          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
0 K" g  b, V: t( O% Z% e  V: ?          'taxonomies' => array('category', 'post_tag'),7 X8 J) t- o" C; c
          'menu_icon' => 'dashicons-megaphone',+ C& Q# o: D. [+ D$ D$ Z
          'menu_position' => 5,
4 A: c3 W9 d! ]& W# _          'rewrite' => array('slug' => 'site-wide-notices')- L* x) r1 r* S" S& I
      );
+ `1 U9 U' I& b4 i- f5 K' w0 r
$ W! `4 }/ w) O! w0 T) l  G) P      register_post_type('site-wide-notices', $args);
. S8 U# Y$ F; f   }
9 [8 `( c3 j! l9 n) `   ```
9 {" e9 P+ w8 K; e' S' U  _- a( T9 e1 j# B2 f
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
: v9 V' _# J) A
7 [. L$ K1 K% ?9 y( ]3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
) S& f) ~$ U7 U4 B0 D8 B/ ?, D0 X6 n# e, B1 f
   ```  F  h+ y0 k( z& ]) [; k
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
" x5 p) T$ c+ F8 b( p$ |+ ]3 s   function add_site_wide_notices_boxes() {! E# x/ J9 B! `& k+ D# Q* Q/ q
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
1 L  Y& D+ u( @* v: J2 Y' N$ Y   }
1 @) u  F- A: k6 j
6 _) i* c$ x9 t+ z  b/ B   function notice_details_meta_box($post) {
4 j" O) \% d/ O/ w      wp_nonce_field(basename(__FILE__), 'notices_nonce');8 V2 U! \8 n7 n" X* `: P( [; V
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
% E+ i# ?/ G8 w7 w      $notice_content = get_post_meta($post->ID, 'notice_content', true);& g. e+ t4 j  n  g! e4 {
      ?>  Q( s( d! a3 _( p) f& |
      <p>( m" B: a8 _+ M6 j
          <label for="notice-title">Notice Title</label><br>
, X1 y  a: S* A2 g6 ]          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
* s  G$ M6 n) G+ h  g. ]. V      </p>- N! k3 _; n- J+ F
      <p>: i+ N3 \4 j- c4 s1 n  ^
          <label for="notice-content">Notice Content</label><br>. r  i( Y9 b4 d/ R
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>4 O) w9 _% Y& V. k8 x* a1 T$ P5 H
      </p>
8 h/ V! T6 k8 l" e0 N' b% t      <?php
: F: K1 I/ _. d+ V" C1 e   }
; J0 x( B( d1 M9 X% ?. [' b/ C6 W& I0 ]7 d2 U% s) q3 y
   add_action('save_post', 'save_site_wide_notice_meta_box');
% i" k+ s6 \, P% ?$ U( S6 y' L$ t   function save_site_wide_notice_meta_box($post_id) {4 t8 Z! q0 j/ J, G8 A
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))9 |4 v* A! Q" g: d* Q, a
         return;; X! R, X+ h, F4 Z
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)% g3 G/ i5 G, U& G2 v2 Q
         return;3 n1 C/ w9 O* M9 N% S6 Y; R  P; o

$ s% Q+ T. I& m- ^/ z# l      if (isset($_POST['notice_title'])) {
& t0 A9 X9 S5 i          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
0 ~% y! d9 Y, d& U  ^      }
. Q4 a  w& g) C# ?7 R      if (isset($_POST['notice_content'])) {% G# B6 l; b: B8 L% j
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
. d* y. h0 D$ a& `2 f2 y  U      }+ D2 {  H: @$ m& P; K( M
   }
* I" D( `# Y5 D, d2 K1 B   ```
% ?5 V7 ^& U! ?" h' g& P4 P
( y. Q& g) d7 F$ R   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。' v* I7 D8 y' J

0 Q9 v: p# `7 A8 X# v4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
$ V) d# ~* K9 l2 A% t& T, n3 l$ n* z( r: H! p
   ```1 J1 E, }, m) F# G" E; W6 l
   $args = array(
5 v7 U1 k; K: B+ y      'post_type' => 'site-wide-notices',
9 ^4 ?6 h4 M' F3 W      'posts_per_page' => 3,. v) h8 s6 j! P; N- x; V
      'order' => 'DESC',: ?) K9 D- j- V; P
      'orderby' => 'date'
1 ]% |! i- l6 j" l8 Z; P+ [   );! ~1 a8 j0 b. Y1 g' }' A3 `; F
   $query = new WP_Query($args);0 s, g' b; O3 C) t! Z3 U$ ^- }/ q
   if ($query->have_posts()) :
9 k/ i' y" N; q9 C: k* {      while ($query->have_posts()) : $query->the_post(); ?>
9 O$ E) S7 L# u# S          <div class="notice">
6 k9 Q9 g: e! n  D              <h3><?php the_title(); ?></h3>
/ [7 c0 A  O4 @% l" J. Q              <div class="notice-content"><?php the_content(); ?></div>
5 `' l9 N2 |% [8 h- Q          </div>) H, x$ L4 Q6 _5 f9 L
      <?php endwhile;/ C; A9 o' m9 R/ q5 E% c$ C. y
      wp_reset_postdata();( Q* w6 z8 c- D( ?! p5 ]
   endif;) ~1 J8 T6 l0 g0 T5 y& \1 N
   ```
" g& h9 Y3 I0 I8 V2 y6 R2 E( b8 L8 M; S7 l  q
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-31 10:45 , Processed in 0.018795 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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