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

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

[复制链接]

342

主题

545

回帖

3594

积分

管理员

积分
3594
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
/ f% N! E' N+ x" W, B
5 @+ V7 `+ i5 q# }) X- b1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
2 z9 O& s- e  T$ k; N) T! C1 d1 l& ^& h) n( k; Z
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
3 M( X; R$ n. }
- j: [/ l# n# P! j! _. B- m3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。3 \" d8 h' m" D& E; o

, \) A& q3 f9 t3 s1 a2 `4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。; i- @4 |  i" M( e
" R- [# h4 R/ K- V
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

342

主题

545

回帖

3594

积分

管理员

积分
3594
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
/ K  A  a0 ~8 J- `- l$ s# {/ m% H/ |# S4 \  E4 E9 v
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:8 I4 E  }8 s2 `" Q9 E3 U  i
0 F' }8 h$ ^. r. t/ n
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:; e$ F5 V6 Y# ]( @8 f8 m; F' g
) S" w1 Q6 o7 X$ e! z' e4 O
   ```8 \. ?' [  q7 E' E
   add_menu_page() q3 M9 t" w$ I/ E( |
       '全站公告',& M: S$ C$ V0 {* [! \
       '全站公告',1 l& V" z; {2 t& Z; X6 q# O8 p
       'manage_options', //需要的用户权限
5 l' H( p: T8 S) @* N. y       'site-wide-notice', //后台页面的 slug
9 q7 o. h+ F3 b% ]+ [) A       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
/ ?. J8 U6 g" s7 X       'dashicons-megaphone', //用于显示在菜单中的图标
1 @7 Z/ x6 i- w, [, Z9 _, t8 Z1 G       30 //菜单项的位置* Y5 r+ ^0 a* ^4 u0 k. I
   );
! f9 J6 q1 L* n   ```+ A9 P8 \1 H" t* d

2 k5 q) O/ t) v- A) V0 I. _   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
6 N; u7 c- O$ `: h1 L4 ?$ I% F# P7 Z2 X8 h9 b+ n
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
& r( Y% Z  c5 C& G
' F0 }$ c' |9 Y* z/ Z   ```
9 g; ]( J: q, L   function render_site_wide_notice_page() {# k) O6 q; I  p% R% U
      // 渲染后台页面内容* r/ q% k. W" i/ I8 j' M
      echo '<div class="wrap">
) z' O6 d% x! G. [0 s          <h2>全站公告</h2>
7 J8 ~9 n4 N& X/ a+ a0 @9 ^  u" \          <form method="post" action="">' D$ I3 o$ p& k  l' u; c+ X! z
              <label for="title">公告标题:</label>
2 Q5 u5 N* g! M              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
0 ~/ w8 [5 t- U" Q. }& @- i, ^1 R              <label for="content">公告内容:</label>
$ }1 g! T+ H- T/ j  v              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>' Z/ ?% g  a- h, s" l
              <input type="submit" name="submit" value="保存设置">4 q! i7 P# x% D* Y  z+ \) t1 z
          </form>
2 N3 g( m! O# j/ g& K      </div>';. N3 Z4 d3 O" z
5 U6 l9 Q0 Z) y' k# r! ]! L
      // 处理表单数据
* Y( p# T6 K2 I/ N8 y0 ~      if (isset($_POST['submit'])) {; M, Z9 ~2 I: x0 C% d! [
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));' O: V2 ^% J6 c4 m6 W: ~# ^0 k# {5 }% I
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
" c0 N( b1 W! Q9 i1 ~  }' F. u4 u1 ]      }9 ?  b9 R' |# S0 ~: S
   }8 X- s$ ^1 o$ F
   ```4 l9 k8 h( h7 ^* C1 ]6 A& ~

) |3 d2 I- @- j   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
! O' |) y* \( E+ y" Z3 N' G2 d, o7 T& i2 `- n; L5 f+ J4 R, O
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:0 S/ g& b  }8 @0 _5 \* z+ b, ?
# O! |" I4 u, o/ O8 Y8 }
   ```. K6 H* i2 y4 W( M3 O/ ~) _! r
   <?php
+ y* \3 s% i8 k" s9 {3 I   $site_wide_notice_title = get_option('site_wide_notice_title');
8 Q- Z) E7 m2 ?; L& n   $site_wide_notice_content = get_option('site_wide_notice_content');* ^$ I9 M- H6 F+ y2 C! `
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
. e2 Y" ^# a" W0 ~, J       echo '<div class="site-wide-notice">';
4 n1 ^! ]# i) v       if (!empty($site_wide_notice_title)) {# L$ o: f( }, k$ M* ~4 w  R7 e
           echo '<h3>'.$site_wide_notice_title.'</h3>';
% A. |  m  ]! S       }
, V3 g7 U! A' w# e       if (!empty($site_wide_notice_content)) {
( `3 K5 _& \4 J: A4 D4 s, x           echo '<p>'.$site_wide_notice_content.'</p>';
" ?- I5 W4 @$ N4 h& o. z       }! f5 x- l0 m1 z# r! ^" z
       echo '</div>';
' q) [* z7 b" S1 Y1 i8 g   }& ]1 p+ \1 j/ |" U" _! k
   ?>
5 l. a" z, }6 v$ x0 C   ```
. \/ X3 o3 B$ _& e# Y: O: B# m& r5 |) r. c# c  P5 Q
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
! A, ?5 O. |1 z. E* U5 u3 m& S2 I/ q: f6 J
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

342

主题

545

回帖

3594

积分

管理员

积分
3594
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
- O- X, j/ ?. A
+ D' o! |* v! J您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
$ I; O- K5 p9 O3 g2 C7 c
( T2 l1 C/ ]. {1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:9 ]3 U, a! K! `/ o" u0 x
0 v" ^0 v7 Z+ X' q/ y
```
$ }$ y. L  J  S8 M2 X$ P3 h+ Hfunction create_custom_post_type() {- ~1 t7 q1 Q( N8 L
    $args = array() k6 y/ T8 R, I3 X  n; ~
        'labels' => array(
+ Y! F; N/ u: V8 y            'name' => '公告',
' N' W% j& Y( C, E) r& L            'singular_name' => '公告'
& ~: X/ H8 Y+ ~: n1 N* a5 m        ),
* g% w% f+ o0 x7 h3 a+ q, e        'public' => true,( _# `. y+ k( o
        'has_archive' => true,6 Y1 q7 M9 z1 D5 L. G/ i
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions')," L6 J, f: v$ f/ G
        'taxonomies' => array('category', 'post_tag'),, y: O3 N, _- f! l
        'menu_icon' => 'dashicons-megaphone',1 h# x3 h, q/ f3 t  t/ [* ~
        'menu_position' => 5,
/ `- i& X8 U3 u8 j; e        'rewrite' => array('slug' => 'site-wide-notices')
1 d. j' C8 v3 t# Q% r% s    );
- y' E% O! M/ n) O    register_post_type('site-wide-notices', $args);
8 M  M. P7 K" t/ F* Z1 L5 w}
' Z- ~1 u' G# Z7 k* ]1 Oadd_action('init', 'create_custom_post_type');
! p- X$ F" J& O+ L: ~```5 Z0 X/ O" n- S/ L7 J+ ~* [" S& z

% U9 J" }" h# M3 j. `3 g在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。; B4 z& t: C; Z8 G, u# w+ X/ D3 y

, c- G  {' [3 W0 m# f2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。# Q: J' O% D  \& _

, v! a4 K7 b* C% L3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:2 C# ~$ K" u& e3 Y" l

* K) F% _# r* `; F```+ g8 ^2 o; l1 x. J, s
$args = array(; Q4 A( \4 B( V# [- v% u
    'posts_per_page' => 3, // 显示的公告数量
$ a+ V& Y+ f. w& M% j, T    'post_type' => 'site-wide-notices', // 公告文章类型
$ o  k6 P" i$ z& s6 m  q! Y5 s    'post_status' => 'publish', // 公告状态
( B1 y. ]6 F6 t( P    'order' => 'DESC' // 排序方式# E: H( }% m; S5 H
);
* w/ g& p* \4 C# z6 a, S! L  t; g) D& ^/ ~: Q; p" `8 A, d
$notices = new WP_Query($args);6 k6 f8 G& d+ y- s) v5 n# x
if ($notices->have_posts()) :
0 X) v1 O. L& q+ l    while ($notices->have_posts()) : $notices->the_post(); ?>
0 d. _+ O) _! Q: b/ C- K/ v1 r        <div class="notice">
: P- t. q( O1 R) {# A            <h3><?php the_title(); ?></h3>
, C5 Y; @5 j7 C% m            <div class="notice-content"><?php the_content(); ?></div>
4 a4 B4 c( I+ q* [        </div>
8 B. X( d0 W0 L    <?php endwhile;
7 N2 A! [6 o$ l( pelse :7 L' ]* {& l+ ?$ |- C4 c
    echo "暂无公告";" P; N$ e, }' a
endif;/ m4 v) z2 B- ]* \& l
wp_reset_query();( s: M$ E  ?" N  o1 R2 d; a" a
```# E) D! l) a0 m+ x4 _& H! C

% j  f3 D% W& U" Z这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。/ n# D* E' w4 ]1 D1 w8 N' D: j+ J
! K6 x4 \' [# v+ J0 s; g: Y' X2 r6 [# p
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

342

主题

545

回帖

3594

积分

管理员

积分
3594
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?$ O+ u( W% j+ ?
& o) `8 C2 p( f# |4 K
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。; n1 x' O5 _9 y! g

0 V* {- o% e% ]1 [. [以下是创建自定义插件的步骤:, ]1 e9 c! N# e) u8 A2 ]. i$ E
' o5 F! b) N' V' U
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:/ N1 o2 d5 U" T: z5 v
" m/ j+ G' @# F
   ```
* o5 i$ H5 m7 I  L: J7 r' P   <?php
7 d1 X, t) W5 v/ {5 z% L   /*
/ I6 i8 S! c. a  \   Plugin Name: Site Wide Notices Plugin2 D2 X% o; B+ f
   Description: Adds a new custom post type for site-wide notices." R6 w8 g5 E3 q1 R6 A6 o
   Version: 1.0
9 ^3 J  h4 G) }+ H0 ], A   Author: Your Name, R- h. y9 @! N7 n
   Author URI: http://example.com9 _, W  |2 C% ?  L6 J
   */
2 E; T" f' Q: H8 X3 f& ?1 ^* N% ~8 P$ c9 @, z2 e1 C2 U
   // Add plugin code here...
9 m& `( B8 `. I: e   ```
% ?! E8 a2 ^1 I% a
8 B0 K: I; }9 N+ i& Q! C; S   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。0 L- m. ]8 O1 ~9 x% Z6 [/ B

! Q6 _% K1 B. l& V- ?2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:7 T/ V* o! a, v8 A+ m( h" E3 u
" d& i' `, p4 @' p! Z! t2 d; f
   ```' J0 F" N: w& J8 \/ b
   add_action('init', 'create_custom_post_type');
% w* J1 {8 r0 e3 P   function create_custom_post_type() {
. @! t9 d& u5 I3 t- l+ V, k      $labels = array(
( ]' ?8 U$ g9 p2 [1 B          'name' => 'Site Wide Notices',8 E. C1 _; G& o$ u: _
          'singular_name' => 'Site Wide Notice',0 B# b4 l' q' a* N) `/ N' L5 r3 p1 T
          'add_new' => 'Add New',# F, o5 T2 U2 l: D* T( a6 x
          'add_new_item' => 'Add New Site Wide Notice',: W- r" [+ r% Y
          'edit_item' => 'Edit Site Wide Notice',4 S, z- v; ?4 b
          'new_item' => 'New Site Wide Notice',- a' A: _- J& ?
          'view_item' => 'View Site Wide Notice',: y4 b( \- J5 B4 f; l' J
          'search_items' => 'Search Site Wide Notices',
" W1 Y) c. w+ n2 B- i          'not_found' => 'No site-wide notices found',- S% ~% o- Z/ C% Z+ V/ ~% f' \
          'not_found_in_trash' => 'No site-wide notices found in trash'
4 T% y/ p9 j3 f      );
& H- q0 G$ j. R3 d! J
# S  Y. V: r3 M- g      $args = array(. o- Q% I: A0 E# {
          'labels' => $labels,
; f  w/ L8 v8 q" M5 R6 O) T  }          'public' => true,
: ^# R/ o* V$ X0 c2 V" `" c          'has_archive' => true,
- c& |( T$ w% }, ~          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),4 E9 B# R8 M/ A& Y6 Q
          'taxonomies' => array('category', 'post_tag'),. `* Z$ ]$ c1 [0 w0 k8 d) H7 b
          'menu_icon' => 'dashicons-megaphone',
. F3 X% U2 u- W5 l          'menu_position' => 5,
  ^; h9 _, _  X2 R          'rewrite' => array('slug' => 'site-wide-notices')% v0 R1 U( ]! z4 G9 B' |
      );
, f9 _: d9 Q+ X% z" o9 f6 E& f* R2 S6 Y# p
      register_post_type('site-wide-notices', $args);
. V& I) c- r. ?   }) ^# U3 J: X  n* s; H
   ```) q8 \/ {$ I( g$ m, B; w+ c7 \. b

2 M9 E$ b6 U: t   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
9 ~6 `6 D/ y8 z, k- U/ @9 \
- a4 }$ A  h' P& n  }5 n8 w3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
* {4 B7 R: k4 N( N5 g
" }* ^- C/ f( q   ```
* ?5 Q; R- B- E& }; v   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
1 _% u6 _$ l9 i. _- I6 Y6 K   function add_site_wide_notices_boxes() {
! ~% ^, z4 x  W$ V8 G      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');% @3 r; D4 `! _  G- G& v0 k' j9 }' [
   }1 O7 T: e  X/ I

- {* @% C  \4 t4 F$ d2 p   function notice_details_meta_box($post) {7 R. ^* A/ d# T% Q. d
      wp_nonce_field(basename(__FILE__), 'notices_nonce');
5 b1 J: e/ m* Z      $notice_title = get_post_meta($post->ID, 'notice_title', true);
0 K7 T& |7 {$ k! k      $notice_content = get_post_meta($post->ID, 'notice_content', true);
% N$ z6 o$ d9 Y  f; ?3 c- z# }      ?>
; D3 Y* r, R6 ]; u# }+ d      <p>
0 V! J- Y5 M! F  R8 n          <label for="notice-title">Notice Title</label><br>
9 O6 |* W; b" v* }5 I2 c          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">% [8 e* l- e7 r. ~7 i& l
      </p>
6 D6 \# ], N% a' n      <p>
% ]$ H9 e; e( u% E          <label for="notice-content">Notice Content</label><br>
1 U# a2 ^7 }5 |          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>" p; j  B2 ]; t4 S
      </p>
/ P) X. z4 i2 t      <?php  B# M, a- b* w7 x1 [
   }
+ M$ T. r% u7 w3 S" S( D$ Q1 K8 y' |5 E
   add_action('save_post', 'save_site_wide_notice_meta_box');
$ s# Q7 M: O/ t: o   function save_site_wide_notice_meta_box($post_id) {( A5 I/ m1 [! @' R; b8 c# ?/ _
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))5 m' e* ?6 Y) q4 |
         return;) X+ \/ @% W( e' N7 a) p- @# v
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)6 X! S7 ?+ p* a2 d
         return;# ?: \% \% Z' ]" @

/ j8 T2 q( H$ W, J* e2 B, H, }1 E% s9 ^      if (isset($_POST['notice_title'])) {
7 \: d9 \, q, {7 n* A( [          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
  w! p) _# e9 N7 |& M4 a      }# D3 }* G9 Y; J) `  U3 e; e) J
      if (isset($_POST['notice_content'])) {
) Y8 ]/ [. d/ J          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
; K  h; m$ B5 N9 p, l      }- S1 l. z! P4 a" ~7 K5 E: i
   }
: \% d' O. `+ |" C0 x/ k# Q   ```
* T6 w5 }( N( Q; g" P; c1 o# v% N9 A: [% l$ m
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。# F9 |3 u' X- z1 S; \

2 `1 y7 f+ I$ U2 w1 d& @0 L4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
& v2 w* O5 f" u+ F
% A7 w, p$ r, E. m   ```
* a+ m$ R# ]' h% p6 w   $args = array(
1 c( \, e4 f7 Y; Y6 C" m0 G2 p      'post_type' => 'site-wide-notices',$ A- K, i5 F* H8 Y% \( F
      'posts_per_page' => 3,
3 T( E/ f0 \2 O& _+ a      'order' => 'DESC',1 N' \/ ?: }6 @# g2 ~8 V, R" k
      'orderby' => 'date'
$ {" t/ g* Z& v: M   );
0 S* `7 R4 k  z   $query = new WP_Query($args);
& Y4 z% e: _; Y: O  G+ B, O: b   if ($query->have_posts()) :
" j3 S, h7 ^/ ?0 T1 ~. B( Z      while ($query->have_posts()) : $query->the_post(); ?>
6 A8 P5 v8 b& I$ ~          <div class="notice">, p" h& ~! R! P& G5 h
              <h3><?php the_title(); ?></h3>
2 w# \: W3 f& z4 A  K              <div class="notice-content"><?php the_content(); ?></div>+ R6 S, Z# f. f& ^
          </div>
* L! [8 q0 k; q/ Z6 \" _$ ]4 A! J      <?php endwhile;
- w& R8 r3 }, z      wp_reset_postdata();: l* ~$ g+ T- f( ?4 h' ^$ P
   endif;3 H6 d( D% Z; q) d
   ```
0 n  h4 ~7 o1 k% K, V/ b; P) |; n6 \3 P& M* |
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-28 13:06 , Processed in 0.022090 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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