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

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

[复制链接]

334

主题

517

回帖

3394

积分

管理员

积分
3394
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
- O5 z  ^& s. D0 X
+ u" p5 Y& C' t( G% L1 g1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。8 F2 \& Q" B( w5 e$ t
$ T! F" N- y, I6 c: S" y. ^9 o
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。- r/ A4 |# P4 E% M5 ~  F1 J; B
+ K, s) L' \. w5 {
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
5 [. k' K6 h* Y# }. Y2 J& G4 P+ x) F6 n
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
; T) A% I$ r7 K
' T5 K: C. T) @7 n! G/ ~7 a& N- ^0 B注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

334

主题

517

回帖

3394

积分

管理员

积分
3394
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?/ E: v8 J1 z5 i
: |8 o4 _0 _$ r3 K/ Q
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
4 x/ |: x2 A1 d2 c. N5 g$ B
$ G0 s8 a! {" f, Q7 f; P1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
7 |$ b+ I: J- n- g
# O( @+ k/ y% ], y# R; M   ```5 y+ }0 i9 C" N; l
   add_menu_page(" R2 ~# B- t2 |- _
       '全站公告',, s% g3 _/ Q" U' H- U
       '全站公告',
+ e; ]! c! H# S6 d" `  e       'manage_options', //需要的用户权限
( Y$ q2 P0 Y/ S! Z       'site-wide-notice', //后台页面的 slug
9 |5 J2 B/ d4 e' m  q; y6 N- x7 O       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
; @: K$ J& V8 S0 Q       'dashicons-megaphone', //用于显示在菜单中的图标
5 l# m6 ~0 g) z" F7 a! z7 I       30 //菜单项的位置
$ v: a7 s8 V# F) d7 r   );
4 Q: q6 r5 }  @3 d& u   ```' M5 M! y! k! I/ r
' O. d: f( u) x8 d6 V# j
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。7 [/ t$ B4 s; i3 u% x

" k* }: w$ B; a, n! }2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:4 w/ D- B* U4 F# l2 \
2 c  z* E9 E. n  M' v/ ~$ p
   ```
8 J6 H* O3 ^, a   function render_site_wide_notice_page() {1 c+ U) l3 ?( i3 q; f( \7 s8 j
      // 渲染后台页面内容
; R$ f; V; S- {3 k* _  ~      echo '<div class="wrap">. o3 U- L7 p2 O# S2 g0 k6 }1 Q: N, P, G
          <h2>全站公告</h2>
) {( @4 |7 Z  ?          <form method="post" action="">
  c# x9 k& l+ T6 y# A; E; {. D9 Y. ]2 ~              <label for="title">公告标题:</label>$ T1 c- d& g) ]& t$ {# t
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
9 ?* y+ {1 O% i- K              <label for="content">公告内容:</label>
* B1 J* [( p" i" |              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
" c/ M, u" K1 f# Q              <input type="submit" name="submit" value="保存设置">4 ]! d, I: \9 b: r, o
          </form>' u' G( d2 ?& g' {. }# A$ @# B
      </div>';
; q9 A. X* }; q4 ?
, n& v8 B8 L! p# x0 B; k      // 处理表单数据
; F4 x: L# r$ n& U# I6 O4 M# y& ^$ a      if (isset($_POST['submit'])) {+ l+ X- b+ p: b
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));# S: a5 n# g& t- Z* L
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));2 h2 j6 m( {6 X( f( `
      }+ o: |. m+ x, K8 E) W- V8 m7 p
   }
' r# Z  F! e. M" C7 z2 m0 }   ```
- D6 X- w) W: J7 J4 [
  t  G* ~6 w; ^9 y( G" U   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。. I2 R& N! M& H' a8 l  r( [2 J
. ^  T% F, X) [4 E7 |) \
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:& [+ b4 U+ {+ `/ K" \
: B# Y. r8 D: o$ N
   ```
4 U9 o/ X( k6 ~8 s   <?php
& `, K% R4 i& q) k0 {   $site_wide_notice_title = get_option('site_wide_notice_title');
1 G/ H& ]8 S0 [1 f   $site_wide_notice_content = get_option('site_wide_notice_content');& `; j' x/ k( k9 R
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
5 o- j, M; S* _! D2 i: u       echo '<div class="site-wide-notice">';! s. |: \' C- V0 `
       if (!empty($site_wide_notice_title)) {
* v$ |' L( h& }# h+ w- u* _! O           echo '<h3>'.$site_wide_notice_title.'</h3>';
# l$ R$ K1 G8 a& k& F7 K       }
. J0 ^( o2 F. e* d, I       if (!empty($site_wide_notice_content)) {
$ @7 b& p1 c4 n# y& w           echo '<p>'.$site_wide_notice_content.'</p>';
/ S- i9 W% w9 V  }" [0 z$ n       }: W8 ~9 o' {1 _* q: y
       echo '</div>';  p& Q9 [, W( a! m+ }* u; h# W
   }
: M8 @1 C! }( _3 t7 l2 G   ?>
2 {/ i( {7 t! ~$ S   ```
4 I' v: w: Q, m9 V/ r' ^3 ?7 j0 u) L+ x/ `
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
1 z, g* m3 K5 b: T1 J- m- Z7 s( }: \& K, Q  e
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

334

主题

517

回帖

3394

积分

管理员

积分
3394
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
* e* M7 Y# S6 X5 }3 o) s/ z" N  @! @- ~. J) L( Q# V
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:; G  X5 ^5 q; y1 _% l
$ n2 n4 @8 L1 |6 N1 B- y
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
+ _# j$ v& [. g1 [2 u' T# s' `5 u8 M. g  `% b6 ]
```
" H& }. F1 B4 G: g1 xfunction create_custom_post_type() {2 c# D1 u& A7 ^2 X) c% e
    $args = array(: `+ f, p5 q, n0 a
        'labels' => array(
' T+ u  A$ W& \5 t: u% S# j            'name' => '公告',
3 G5 d# j3 B. x3 j            'singular_name' => '公告'
" U& p& {3 K; c# p, G" r9 Q        ),
6 f3 i5 q  T6 G/ z  o. s        'public' => true,
, m4 v/ }! W- f' K5 R9 k' }        'has_archive' => true,
# R& @" Y; z5 P" K  z2 E        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
  F' ^; u0 M/ T        'taxonomies' => array('category', 'post_tag'),, L0 l. y. J* Q, p* g3 c  x
        'menu_icon' => 'dashicons-megaphone',8 {& O! z$ J# P  j2 R7 p; j7 c
        'menu_position' => 5,
$ q" C/ z6 f& l3 ?) _- J        'rewrite' => array('slug' => 'site-wide-notices')
6 B1 t. A0 [& h* k6 R    );7 f8 G  L" Y! R3 A
    register_post_type('site-wide-notices', $args);' @0 _+ D/ D7 B# S+ n- u
}
9 P- i8 F3 E! |  [$ w" aadd_action('init', 'create_custom_post_type');6 o8 o& ^$ [( @2 ^7 B
```
  h, ]# h# Y* F) O, X) L
. B4 Y5 B* w& d" t/ A7 l在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。, F- V7 F) A4 d; S: l

; j7 j1 f0 c# }! }+ [% U2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。5 S7 Z& k: w# q5 d

2 K; t7 C! t" F, [3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
' d. }# ^& v2 S, z! |% H! U# R/ p( ^$ [9 a
```
. A" }; c* g& Q/ N$args = array() |  C$ }( Q# m9 o
    'posts_per_page' => 3, // 显示的公告数量$ f2 Z$ @& H/ l& |, {! B
    'post_type' => 'site-wide-notices', // 公告文章类型/ `' C1 |, q& e: e9 s9 g2 V
    'post_status' => 'publish', // 公告状态% F9 I# j% ^. `% A6 _
    'order' => 'DESC' // 排序方式
! l* `) U* Q) K% I( a);+ n  e! \. K/ W) y
0 x2 V$ N( y4 M4 _$ y9 K
$notices = new WP_Query($args);! p$ m0 O0 Q2 Q! T8 o, }
if ($notices->have_posts()) :& T2 g, X; P  W
    while ($notices->have_posts()) : $notices->the_post(); ?>* R2 L; d+ I- }% M. g1 Z+ Z
        <div class="notice">
' m4 \9 S9 l1 L  ^            <h3><?php the_title(); ?></h3>
, b" C4 E: k* a; j            <div class="notice-content"><?php the_content(); ?></div>. {% @) [" C' R+ M6 P! P5 `% M
        </div>
- o# M: O- _* i    <?php endwhile;; D( ~8 }6 U& S
else :
: k$ b1 R8 |* f    echo "暂无公告";
1 ^3 b: V* @  h" s" u3 D% h/ O' }) qendif;
7 X' w$ n+ H9 s7 U6 Z7 @wp_reset_query();# ?4 t5 a! H7 B$ D/ F5 Y, K& t, ?# p2 f
```
: M  s1 Z# C# X( i3 Y0 W
' d) O  ?( X( x% c0 |) t这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。2 ]3 }# W( M) U; S6 \

7 C3 r! \* x. q* N以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

334

主题

517

回帖

3394

积分

管理员

积分
3394
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
' `/ ?/ r1 T7 n$ o$ s" N
% G0 s8 q$ W% T- D  [6 B: Y9 G& C. O如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。& H) I& r/ e) k" n( O

. [/ P3 q/ A" z7 @, Q4 J! a& y以下是创建自定义插件的步骤:
0 m1 {( E+ S6 h0 M" y1 Q" D& P" ~$ X& [3 {6 |9 g
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
6 a4 y  Z' A- C9 ^! p( @) ]9 Y4 `& ?
   ```
7 ?6 D; A! {6 _( y  S9 ~   <?php2 K! i* o4 P6 u: v7 R/ S8 }
   /*
! p6 x0 f7 T+ L) ^- {# s$ a( c   Plugin Name: Site Wide Notices Plugin
* n: ]0 v: K4 O5 p   Description: Adds a new custom post type for site-wide notices.7 m/ \( v) J# [6 |; a4 T& x0 J  {
   Version: 1.0
  \. m" J% h' r* R" u   Author: Your Name
6 N5 P- w3 j3 x1 ^% Z. y   Author URI: http://example.com8 V" O5 J) v3 L
   */7 @) U& W8 E! n6 r. B

2 a: U0 g2 q6 o! K; [: S9 b   // Add plugin code here...
7 S) u2 U! ^: X' B$ i9 x: u   ```9 Z6 s  C9 H. n  ~
3 x8 D9 Q+ E4 f6 ]
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。# Y( k. B* A0 y
0 t+ e7 ^! w: m: O' c
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:- |1 d3 r# H: j8 q
+ `) v9 D- ?; f( Y, s
   ```
+ ?" A8 r( Y4 m' k   add_action('init', 'create_custom_post_type');
' B1 t% `; [0 f" @   function create_custom_post_type() {0 t$ Z, V6 Y% |" W
      $labels = array(: R, X6 v1 q; n; {) F3 c5 L
          'name' => 'Site Wide Notices',  z7 p; u, {1 o% O! g- e
          'singular_name' => 'Site Wide Notice',0 t1 F+ T" J& }$ m0 Z
          'add_new' => 'Add New',: }# r, _9 E8 z
          'add_new_item' => 'Add New Site Wide Notice',0 Q  n8 Y. H8 U- r( r; ]
          'edit_item' => 'Edit Site Wide Notice',# @8 J( [! E- w8 I
          'new_item' => 'New Site Wide Notice',
+ Q8 v* s. _# J) e8 w5 H" p+ _          'view_item' => 'View Site Wide Notice',3 t) ?  G% d5 a
          'search_items' => 'Search Site Wide Notices',, F7 E! P# |0 w7 f, t# h
          'not_found' => 'No site-wide notices found',+ C/ a8 y+ c+ `
          'not_found_in_trash' => 'No site-wide notices found in trash'
3 M) s; J: q' P# r      );+ L9 Q/ e4 J6 U
$ B9 C. Y  t1 Y6 Z
      $args = array(- P- A  I- a0 g+ l, x5 w
          'labels' => $labels,
" \2 w+ k# c+ x) J8 ]. I) e, {          'public' => true,
* h! n$ x6 o7 ]2 |          'has_archive' => true,
' q* V8 y* n. ^, ~          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
+ r) c$ E: @; t2 J  c% l- E          'taxonomies' => array('category', 'post_tag'),
" I6 \; z. C+ x1 l, F1 k7 e          'menu_icon' => 'dashicons-megaphone',! k: q: V! v% v* n7 C7 u; }
          'menu_position' => 5,& M. S8 h5 C9 q2 s% j' s
          'rewrite' => array('slug' => 'site-wide-notices')" \9 Q2 ]9 d% o; K8 o7 d
      );
9 _; k) [' ?2 y2 f
- B( o- m9 q. }  A2 x* q' h. J! h      register_post_type('site-wide-notices', $args);1 t9 {' k3 G2 G7 e9 l; K* {9 G& ~# S3 j$ @
   }
: W. _+ d3 q/ S$ X6 v: w   ```
% e; o5 P! O6 F5 F8 N/ W
9 o' P) y! ~, Y  {   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。: J3 P* c, y. m1 u, w/ n; g# @

0 T- a9 L% Z& z4 c. S" v3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
9 D* d! i5 F$ q  B( _2 H7 B) W8 A% S( f& A; V
   ```7 x0 ~3 D% g  J$ k# B
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');3 W8 W: M7 w# u3 q# Q
   function add_site_wide_notices_boxes() {
( v' w9 F  x+ s6 r3 I, B% N8 n      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');+ n5 w3 w' G: S& L, d4 E0 q
   }
  X, f6 ^0 }& C4 [- @6 p; c+ ]
. }" {- [% q- O! z6 m2 c   function notice_details_meta_box($post) {
7 I; f8 ]( z3 m: z  }% x      wp_nonce_field(basename(__FILE__), 'notices_nonce');
$ ^: a7 k4 g' Y( _6 n! r      $notice_title = get_post_meta($post->ID, 'notice_title', true);4 E  T* p/ c  S" J3 Q+ u3 Y1 y) D
      $notice_content = get_post_meta($post->ID, 'notice_content', true);. R6 e3 l4 U+ B* x/ X
      ?>1 f( ^4 m0 ^* u0 k6 T
      <p>
4 A5 V' K) i4 R3 X) m          <label for="notice-title">Notice Title</label><br>1 A: W' n, C* w# ^) T3 W
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
& T! Z6 h& T9 w% e$ v. U" v) {& A      </p>9 q6 d4 D4 A" o" q$ Z* O% b
      <p>
+ z# t9 j+ e- v) _* m          <label for="notice-content">Notice Content</label><br>! R# T2 f4 A" R( y7 z3 H
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
, S# C" x1 \: L4 i7 ^4 d. d      </p>* M5 b2 m2 o/ p9 v8 U' [9 S
      <?php6 k0 j  ~) o, X9 w6 v0 p
   }
) P7 j  _2 p4 m/ x, H! s
/ [# g9 W# I# v   add_action('save_post', 'save_site_wide_notice_meta_box');
" c4 v% s) i% {, K$ u   function save_site_wide_notice_meta_box($post_id) {
2 ^& c5 k$ ]0 m3 f      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
8 Y. A- Y' c5 y; ]2 H, [' ~7 I$ Y) U         return;
1 H9 H& ]* m( X0 I! ]- J: z      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
0 R! X* F  Z- h* |' e( |( m. B- `  g$ _         return;1 W) O+ h: X' C+ u

" K, C9 G1 R1 t: Y3 y  h0 t      if (isset($_POST['notice_title'])) {
+ H; ^7 b% f9 G' B" V          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));% Y) l/ s+ l& d! K% D
      }' M" H6 n( o5 m$ v0 y5 u, [
      if (isset($_POST['notice_content'])) {
  c, E  g2 {5 p9 q3 C          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
6 ?9 U# n0 {2 n+ ?      }
4 n3 M8 N% q8 |9 q" s   }
8 ~, d1 {3 o5 k" \   ```. m+ O$ x% b5 V1 \- e
) }1 `, z9 O" ?9 O2 R
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
5 J/ o. Z! \: m8 [; U
2 B$ \: y. ~& ]; X8 r4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:8 v- m# ~8 s* X! c( `+ o
( u/ E7 H) P$ @$ m
   ```
5 @4 L$ i3 W! O5 n/ l0 X   $args = array(- V! u, U& _3 U* S; a
      'post_type' => 'site-wide-notices',
$ i, T. i3 S3 i2 u1 m' ?- Y+ Z      'posts_per_page' => 3,$ d$ G# G- o/ B. c& z
      'order' => 'DESC',
; [! G; T: \* e; ?, `: s) A      'orderby' => 'date'9 G' c" Z8 c8 T2 R
   );5 f/ i7 _9 K# ]5 b1 r7 L
   $query = new WP_Query($args);) Q4 {/ d: _$ u. x
   if ($query->have_posts()) :
9 ^5 n; J+ F/ _1 X: y" C      while ($query->have_posts()) : $query->the_post(); ?>/ }+ U7 S# W( W- E7 D
          <div class="notice">
" b: j  y2 u  D6 s& P6 U              <h3><?php the_title(); ?></h3>3 ]& c9 p: J7 U; z- m1 ~" L# K
              <div class="notice-content"><?php the_content(); ?></div>
9 S7 U* h. a/ O% F* e9 G% d, z          </div>" l* S! {  m; g/ q1 D; u& h0 Y
      <?php endwhile;
: {/ ]% r  \9 e& \* x: L      wp_reset_postdata();
% L8 t( o& `, f. F5 i" V- z   endif;
% |2 n1 b9 w; n, d/ t! H   ```
' j2 k% D1 N5 A' m) p8 s1 g
. p+ f3 Z' _: }+ x   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-30 03:24 , Processed in 0.089872 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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