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

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

[复制链接]

338

主题

521

回帖

3474

积分

管理员

积分
3474
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:9 M5 B+ u4 R' K- t1 Z4 U6 T& K

) y. }9 Q: H% g& ?2 w1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。" E. }7 f* @: u; S

$ x9 K) |' I: F0 c2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。( Y& F) _3 @$ s) ~2 t7 `& H
+ r3 r3 t5 |7 `3 `- U- |/ q
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
. L/ e( K7 @6 a* s% u
9 ^" X5 f. n& B% `6 t! L! V4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。) j7 Z( R" A, ?) S4 M

; l; n5 o9 [; P注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

338

主题

521

回帖

3474

积分

管理员

积分
3474
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?  a' b5 n% q  U* s. {
) L, c, Q3 m1 k" P. [' t
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:8 a$ m$ R# w( C: e! z, u) w
3 W- M4 P$ g/ `1 Z7 A1 N" p
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:  [- K- q1 O% }1 p) {7 J

5 c5 }" E+ \* C   ```
! \! ~) X5 L& l% }% f1 k   add_menu_page(
9 ~7 C& \8 P% V( Q       '全站公告',
2 Q& u* W3 u4 m# m4 D: d2 @; @; G       '全站公告',# ^4 H, E0 h! Z5 v1 c3 o
       'manage_options', //需要的用户权限
. D" w: a# x! N. a       'site-wide-notice', //后台页面的 slug. W9 o4 O8 Y9 C9 O: z# Q  z
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
2 Y. U2 K/ T$ ], u6 G- Q       'dashicons-megaphone', //用于显示在菜单中的图标
6 I" v. T0 _0 s6 I2 n4 D       30 //菜单项的位置
4 k2 ^0 ^- @/ s) o   );
8 l2 o: e/ c" {" J* A   ```
8 |; D4 Z) `$ S( _# C4 r. z* J
/ K3 j" v# z! {+ |   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
4 T( k# d, }: N8 @( v& N3 G/ C9 r6 F
' p6 j8 z1 Q, A, q0 w1 R5 }2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
7 N2 u+ y7 C+ F; D5 T7 o4 V; r8 ?6 G, G$ [4 K3 A3 v
   ```" g  ?4 _" s- l2 D* s2 r0 v
   function render_site_wide_notice_page() {
1 Y8 k/ L4 W4 N( X      // 渲染后台页面内容
& t( u5 g2 G: d2 s      echo '<div class="wrap">8 Z7 R% r; H8 r+ A6 V9 j
          <h2>全站公告</h2>
, x; k* Q  b. k6 w          <form method="post" action="">
8 {: p2 V+ j* Y5 r8 ^              <label for="title">公告标题:</label>
& q: X6 X$ Y, b9 J              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
4 I' r* u$ p7 ]% ?8 C% l              <label for="content">公告内容:</label>3 Z- A3 I# P1 H" v  V" _; r, Q; o2 t
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>0 P0 \- A8 S( R
              <input type="submit" name="submit" value="保存设置">
( m& j1 I- u8 P. m4 c& b' K9 _$ S, h          </form>
8 s2 X, H1 q  b* e2 B& E) n      </div>';& e. C! y8 m: K

% S" }% c1 r4 h0 d6 ?      // 处理表单数据/ f( P6 L  _! Z. L
      if (isset($_POST['submit'])) {" M+ p# R: C; q; x( s  p7 E
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));# z# @# r' b% N; ?& l7 g
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
/ K# }. u9 E+ U, z      }
( \4 n& b3 J4 c) O   }
$ M) @+ m: {8 L" X5 Y6 a8 k: R- y   ```# u9 b0 {. }+ t  M

; W& u2 R5 V' d# |9 N   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
. z/ `( y* D3 r1 h
9 E- N( l. G: _6 J' g' \3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:9 c9 u* U$ q; n9 g! D
1 L0 G! G0 O6 n, \
   ```
: i3 T+ K4 k7 u7 T: c8 _2 a. [   <?php
- e) r! y4 P  o6 ]  {3 W+ U# x) a   $site_wide_notice_title = get_option('site_wide_notice_title');
! n! I, i# [; f9 M% T   $site_wide_notice_content = get_option('site_wide_notice_content');& h9 f$ \: Y0 q! E
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {2 l. d9 u# Q9 V
       echo '<div class="site-wide-notice">';5 l$ ~  @8 X) ~% _
       if (!empty($site_wide_notice_title)) {: n/ p) o1 I6 G# J. g# l* i) M# p
           echo '<h3>'.$site_wide_notice_title.'</h3>';
7 K- d8 {. T/ t0 ~6 {+ U5 b       }
" W* T- A7 e9 y       if (!empty($site_wide_notice_content)) {
' h2 V$ [$ I+ K3 F  p           echo '<p>'.$site_wide_notice_content.'</p>';
; j9 G! _1 c8 f' J* R2 {- s1 D       }
# [9 ^4 E7 u, ?' O( N; T5 i       echo '</div>';
) D" _+ e2 t  A, Y! u4 w   }7 G5 f6 m0 b- b& Q- x
   ?>7 w3 D( [/ @% X! n. B# S
   ```. O' @5 b2 F" k
5 I/ t6 z: [& N) O  B
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。5 Z6 _9 _, ?4 r" S# w

: d3 Z: H$ [* V2 ^+ k! J请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

338

主题

521

回帖

3474

积分

管理员

积分
3474
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?4 W% s, ^3 d! ^) W9 q$ E+ j
' x) k3 O2 q/ W! ]2 V
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:2 k3 t% i* e- q/ L# ?/ F* j+ {! q+ @

* c3 u# I, n/ K1 U1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
! X" U) ?' S, g7 L; T' E6 @. z& n( @( M+ `& M# a
```% x1 X9 \9 I  F; Y
function create_custom_post_type() {
+ \! K2 A) L; P    $args = array(& N" b* P* j9 j( x' b
        'labels' => array() J/ f7 d# U0 ~( z
            'name' => '公告',6 V. a6 D$ Q8 [3 m
            'singular_name' => '公告'3 g; L" F$ c, B, ]; g, N! L, K
        ),
+ I0 P9 @4 `2 O! a  G( _        'public' => true,) p. M/ G3 I9 |, W4 u
        'has_archive' => true,/ T. B& u  l4 x( D5 O" t% t
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),1 l! I3 V! {* K
        'taxonomies' => array('category', 'post_tag'),
3 E3 f( Z, d/ M2 |- |1 r        'menu_icon' => 'dashicons-megaphone',: d) p0 ^* v" F% C
        'menu_position' => 5,/ {! Y; D* n, m
        'rewrite' => array('slug' => 'site-wide-notices')
4 X0 y/ y. d( C) H+ }, j6 x, S    );. }4 ]* Q3 [# \5 o2 L: W) X) W' R
    register_post_type('site-wide-notices', $args);, p5 n8 z+ F3 n2 J9 r: z: f
}
3 ^. |* Y1 C7 D! i* x2 ^* v! B, P: kadd_action('init', 'create_custom_post_type');: J- q9 ?: E$ D& U1 s4 d: _
```
3 d  \' s+ n+ C% B/ _, h3 J+ f
4 T1 A' V0 x- Z: F: L4 A在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。4 b5 u3 e, v/ A% M  F

3 w% P) D4 D- {1 a$ v2 x1 ^2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
4 P- }! Z* Y- r% v' R1 J; P# W5 X4 S& g2 \9 P) j: l
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
  P& B1 q" d/ \) D
5 K, k7 S7 Y0 U+ O: p```
, l  x' {# B8 g) N4 |$args = array(  [+ H; a9 o3 w$ N
    'posts_per_page' => 3, // 显示的公告数量: t% p2 D* U5 C
    'post_type' => 'site-wide-notices', // 公告文章类型- q$ ]/ O: E) q5 Y2 s$ g1 Y
    'post_status' => 'publish', // 公告状态
& v- d& T$ a( j    'order' => 'DESC' // 排序方式
$ Y4 O: r4 h8 E2 _2 ~);
4 `  v3 a; ?/ l# o4 I2 a; U8 w: w% H$ u
$notices = new WP_Query($args);3 {* Y. I  y- e: S* f, I
if ($notices->have_posts()) :3 U( [0 j9 A/ o" l' u# \, j# {2 e; b
    while ($notices->have_posts()) : $notices->the_post(); ?>4 D) T- V1 t' j* H
        <div class="notice">7 [: D( W; \' L5 v' G3 N- a" w
            <h3><?php the_title(); ?></h3>" K& x/ R* T+ ?) X( y) x7 H
            <div class="notice-content"><?php the_content(); ?></div>
6 ?( r, N0 @) g        </div>
- c9 n  ~) }/ h! u    <?php endwhile;
- |9 q& M, V! p" v6 Oelse :
- D& O# _# Z0 Y0 n/ ]  X    echo "暂无公告";8 h* c+ `1 R9 J  Q) j7 s7 m  Y0 f
endif;9 C' I- J* M" b
wp_reset_query();
3 Z$ a, V% e7 [, q( t: j```
$ w$ j6 G$ K" K0 S* l! u1 s+ c" I" m; V8 V% a8 J3 ?6 W
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。( [# e) r- b* a% b

* ?  Y* Z4 N1 U以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

338

主题

521

回帖

3474

积分

管理员

积分
3474
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?% j3 L/ h1 x% b" {" n& \0 n
0 \8 `1 s8 N& ]' c& @3 J- @
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
, b! k$ Y6 O; m) x& x  v
/ V7 u7 j' `! @) ~8 L( L以下是创建自定义插件的步骤:1 p( [) J' Z8 X* c$ u- u
- F: s: g3 B- ~* t" j& r
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
% m$ E8 ?" k1 T+ c' r* O1 D5 z
& n  l. [# Q  N1 C! F   ```' B/ l7 z" x( y8 A) i# h, Y2 v
   <?php
& P+ `- [% ?  d- A; l; Y* g   /*- z$ W. ]) w- o4 C9 j  s1 ~! Q
   Plugin Name: Site Wide Notices Plugin
3 j3 H" J9 R( X2 J! |2 c# [' }) f0 j7 I   Description: Adds a new custom post type for site-wide notices.
) g8 |  E, h+ ~3 M   Version: 1.02 W; E' I! |. a# I
   Author: Your Name
6 s0 B6 q8 Q9 b, P0 O; [! B& [- n   Author URI: http://example.com
6 V/ T4 X/ f  ]/ u/ F   */
8 l0 ~2 C/ g- |
4 B0 ^0 ^1 U! q- Z0 o! D7 h   // Add plugin code here...
5 F! e; Y) E% q9 z0 A' y) I6 l   ```
+ Z/ N4 j* k: r) @
9 H2 @0 r4 _' \( y8 ]   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
; V  \" D% G" @, B, `( F; A7 F. x  h5 l' u# M
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:1 P0 }& c' Y# Y. y
- a! j$ j  @1 T6 a
   ```# z6 q3 ]6 C5 y
   add_action('init', 'create_custom_post_type');. H8 \" ~1 j3 h* x' J! Y$ ~
   function create_custom_post_type() {
$ z2 d  y5 H- e. {7 p* o      $labels = array(, P+ Q, I% I# P- x5 M+ f
          'name' => 'Site Wide Notices',0 @0 }1 K# Z6 Y1 u
          'singular_name' => 'Site Wide Notice',% b0 S' n; u1 }; m6 P/ e0 m
          'add_new' => 'Add New',
+ @. a5 c2 x* \! P/ j& i1 D0 u          'add_new_item' => 'Add New Site Wide Notice',
+ ]0 I2 \$ L0 W+ ^- ?          'edit_item' => 'Edit Site Wide Notice',
. B+ ?% h. l& L: N, {# [4 {* ^! u          'new_item' => 'New Site Wide Notice',
0 K7 e! k2 e% \/ V; p4 I. S  K          'view_item' => 'View Site Wide Notice',
/ ~. f$ l) Z9 l* T: \; u          'search_items' => 'Search Site Wide Notices',2 o% H4 }+ r: K* C2 K$ p
          'not_found' => 'No site-wide notices found',
. z( L, Q: F* f4 r' K/ `          'not_found_in_trash' => 'No site-wide notices found in trash'
5 W2 k  }6 {6 V! O      );
/ {3 W% [& T# u8 Y: R; e+ F, S" }$ U2 S; n
      $args = array(
2 y9 w# S% U- ~  E          'labels' => $labels,
# }; b0 S5 Q6 E6 ~          'public' => true,
* L6 j  ^. o1 ~          'has_archive' => true,
! C. h0 u/ }* C' ]* }          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),* t! F6 E7 R# G( E( U
          'taxonomies' => array('category', 'post_tag'),6 S7 c) K. C; v% W: d
          'menu_icon' => 'dashicons-megaphone',
2 e: u' M; {7 u9 G& T- v          'menu_position' => 5,2 s  w1 z, V; m( C; `0 C
          'rewrite' => array('slug' => 'site-wide-notices')/ Y, u- q% F8 v/ K5 F& g
      );- H8 E9 X0 i3 @

9 v9 S: t1 z6 r% m5 H9 z      register_post_type('site-wide-notices', $args);- g" b; [. }3 @) h6 T7 u, ~
   }
1 G) c( C* j: O  w2 T# S4 R; e   ```% j& o9 b+ Z7 ?; H( S

( ^7 }- o% T' O# W# C* d8 t2 A$ P   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
2 m$ F: F1 g1 s! k- X) k% v/ L. x* j2 f9 U
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
  [) t% F% e4 E1 N
$ b( c/ ?+ q! w' J2 e6 i1 o. N/ b   ```/ g1 F6 D5 ^0 ~  S
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');2 _, g# j/ ?) a5 e8 U
   function add_site_wide_notices_boxes() {: Z5 e1 V2 N( y0 ^8 a2 I
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
; e/ w0 A3 s% M. T- i   }/ n6 e8 C! D# {
, o8 ]6 k2 W! ?7 V* w: c
   function notice_details_meta_box($post) {
* w1 i' K& V7 e, N, e' q      wp_nonce_field(basename(__FILE__), 'notices_nonce');" C7 J$ K* x& j
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
, w  O1 X, A! c      $notice_content = get_post_meta($post->ID, 'notice_content', true);
( H- A2 z. z2 d; R" H4 g4 S      ?>
. l& U5 u# G2 L0 |6 [4 o. V      <p>, V3 _' G8 m7 g- B( M
          <label for="notice-title">Notice Title</label><br>
. h. |5 {' |% Q& e7 g: b          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">+ J1 y1 D& F: h* Y
      </p>( j8 C/ A* z% ?2 w$ U2 T. h: r: W. y
      <p>9 ]0 k2 b/ Y) n! @! _
          <label for="notice-content">Notice Content</label><br>2 k$ z5 F/ R/ d( |
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
  Z7 L% t  N6 l. U) \      </p>5 y) I! C6 n% r4 }" D! l- y
      <?php
! q  {" H! L* d# G7 p! N6 A/ v   }
2 U# A) v3 R+ M$ f( L. x( @
. n2 @3 h3 }2 J% z! `$ I   add_action('save_post', 'save_site_wide_notice_meta_box');  M! v- Z8 |1 Q1 l* H
   function save_site_wide_notice_meta_box($post_id) {' E( u/ h5 T* b
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))* x4 u0 [6 Q$ @) n
         return;* v) L5 K; k4 i. d% t6 L. [! U" `
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)5 ?$ s3 ?$ ?. C& {( H# ^+ H
         return;
2 {' A3 M# v" {
0 j4 w; Z& a. L+ F3 k( l  x      if (isset($_POST['notice_title'])) {
/ k( J  N1 G4 T6 v8 Z          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
; Q" Z* ]/ S1 R% k, U+ y      }6 U- K# }# e! N5 Z5 \
      if (isset($_POST['notice_content'])) {" X4 \# W7 V* f( u- O
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
5 f8 G8 F# C: A% B) F      }9 S3 Z4 g4 {2 x2 g( f  I  e$ j7 I
   }
, o: t- S) Y, K3 J) H   ```+ C( q3 y, v, K: A5 n/ f8 C! @% F

7 |: S- ~) W- _$ v6 p  k   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。9 B6 h) {2 i# G
8 p/ Q/ _' q6 l) H( z
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:! V4 u5 e9 b) k1 I' Q  H
/ N: p. o! {2 h; S) d2 p
   ```1 d- G4 g, F' I) E% ^( \2 I
   $args = array(
' B* K# I  T' ~8 o8 M      'post_type' => 'site-wide-notices',
- K; U0 i2 r3 V; W9 V8 }      'posts_per_page' => 3,9 q. r  W1 b) k& G; q8 d1 [
      'order' => 'DESC',
7 r- E0 ]  S; _" A) `$ E      'orderby' => 'date'
" h+ O* ]. M+ L8 b; u- K: R) l   );
1 @: q: K2 R% @% R   $query = new WP_Query($args);
% {% v& C; H: i7 ~   if ($query->have_posts()) :
; {/ {6 s: b9 E( ~      while ($query->have_posts()) : $query->the_post(); ?>, D# B! d" ]9 a. ]% k
          <div class="notice">' }( g5 C5 ~, D  Y9 b+ i
              <h3><?php the_title(); ?></h3>9 Z8 \4 o( ]1 ?% E  C
              <div class="notice-content"><?php the_content(); ?></div>
6 s; A7 W: ^7 E8 G0 R          </div>
. F! v- G; i& F* j$ k      <?php endwhile;+ D3 H5 ]# `  r6 a# K1 ^
      wp_reset_postdata();+ X, d; N1 ^9 m9 p+ I3 M7 G
   endif;
' p3 J3 ~7 ]  l6 N! ?4 {   ```6 V' W% p# Z/ w, N  G8 Y

4 h* P3 E' I3 \  ]   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-7 23:55 , Processed in 0.016217 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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