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

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

[复制链接]

340

主题

530

回帖

3536

积分

管理员

积分
3536
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:1 V8 ]5 V; @5 ]7 x

& B. j: ?; k& O2 A3 C1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。3 N7 ]' l! @; V' u8 L  S) U) X
) j5 F& p7 N) a  E
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
$ k0 W' P1 g+ u6 d
% ]! f! J; W! `6 i' G3 T3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
5 T8 H0 ~& |) D! O# E7 K+ ]" ]/ G+ K! h! M; l6 Q9 `
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
1 q; R2 ]8 I+ {6 {3 n
/ ]+ S9 p, f: Z* N( X7 m, s" _- Q/ u注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

340

主题

530

回帖

3536

积分

管理员

积分
3536
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?) U* l. y: V! x) @, b

' b# c: m7 a# {/ U6 h  V' B7 h如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
/ c' L% Y+ m  r0 Q
4 {, ~% k  G/ F5 C1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
- a. _: N1 |! L4 k
* L" O- h* ^2 ]; I+ c   ```
8 v( o* ?0 Y. |% Y   add_menu_page(
9 e; G: z0 ]9 D% Z8 `, E; v       '全站公告',
; J+ D2 r# g) U: U6 Z/ ?, Y# f       '全站公告',: r6 M/ p9 G( C3 a2 U
       'manage_options', //需要的用户权限6 @0 F. J6 F. z6 X  P7 {
       'site-wide-notice', //后台页面的 slug
2 Z* S* Z- h: S+ s. J       'render_site_wide_notice_page', //用于渲染后台页面内容的函数* t  b+ U8 ~# P5 w  p8 E5 {+ E
       'dashicons-megaphone', //用于显示在菜单中的图标9 C8 _& V% ^6 y
       30 //菜单项的位置- q2 `: E! r2 K
   );5 v) a3 d/ y* W* f( a' p% X1 M6 F
   ```
( L/ I& F/ U5 N6 _* s( s: J' d; D- V. {  n2 |0 |' U5 ~7 k
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
1 |7 k# h) y4 M% J4 V% V$ g- f7 {* r) m9 r1 M
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
& N9 X9 c+ e: W$ F0 T- P0 R9 _% {- }' [; W5 Z0 O
   ```
4 {; P* |# I& F7 k3 i) |   function render_site_wide_notice_page() {
( x" o# u  Q0 W' `      // 渲染后台页面内容! v/ m3 q0 f2 M; T/ V0 e
      echo '<div class="wrap">
# v* v) `8 U+ B) m+ h0 n1 C" A          <h2>全站公告</h2>. c6 V; t1 H8 y
          <form method="post" action="">
- R: Y/ O' u: V! K& f              <label for="title">公告标题:</label>
* N3 W" c4 V) s$ L% d              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
; ~1 @+ T0 ~1 S              <label for="content">公告内容:</label>( C( z" @' F  w8 P
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>1 j$ W7 }0 L+ R1 s+ y
              <input type="submit" name="submit" value="保存设置">
+ k* I- g0 b$ }  x& n* p) J          </form>
% D4 K8 b; v9 X& p; x2 L      </div>';
3 g0 c% G) C1 P# F/ M6 \3 S; v/ {$ |2 l
      // 处理表单数据- @6 d+ d4 Q. F# a8 c; K+ l9 V& Z0 k
      if (isset($_POST['submit'])) {2 W0 m8 M' N1 W* ?3 N* A9 z5 m4 Y
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
) b8 J) s+ g5 v8 U! N1 c7 \3 ?          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
* O" S1 d8 j7 j" }      }
7 H0 @" G! U# w; m7 x   }
& b' ~9 w3 L# A) }6 I9 E   ```
! I; G2 N" Q' _2 G- g4 W
2 v9 f$ P9 d9 N0 e& _4 P$ K   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
0 p1 |* J0 P$ ?
& E/ H: B) `+ B' g3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:1 r% y. i: c& W) `4 M7 N- F

+ a/ H' m' f: d0 D   ```; Y" `$ m5 k: b) g7 j
   <?php
/ V7 ~5 d2 C8 F& {   $site_wide_notice_title = get_option('site_wide_notice_title');) ~' k# {2 [/ b$ S/ m
   $site_wide_notice_content = get_option('site_wide_notice_content');
1 u  K* Q" J( I: F* o1 Q   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
, C* s; e: S- o$ g       echo '<div class="site-wide-notice">';) \+ k( F6 Z8 m. N; d6 W( P  c
       if (!empty($site_wide_notice_title)) {
/ R/ g' A7 f) f0 g. t           echo '<h3>'.$site_wide_notice_title.'</h3>';* G* w9 O+ W* D  o" C/ ^1 I
       }
. o1 U' R( t4 X' R, G, A3 Z       if (!empty($site_wide_notice_content)) {
! R$ p5 d$ ~$ p3 X! f$ A. b7 V           echo '<p>'.$site_wide_notice_content.'</p>';
5 C3 r3 E! d$ o       }. j* _, r8 I0 f+ f
       echo '</div>';' j+ [, g' \, M$ [3 w4 s3 ~2 ~
   }
  Z1 A: E4 [9 t* a/ N   ?>
$ x; |9 `3 J* v- q9 _   ```
- e" y6 w- l, E3 b8 M
% |% X  }4 |4 R( {- C   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。: x& T  z- ?+ s& p) Z1 T5 u

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

使用道具 举报

340

主题

530

回帖

3536

积分

管理员

积分
3536
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?5 C6 I+ ^. b4 l1 @7 G' y4 H& i. G/ e
1 h( K9 f5 O2 `
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:/ `5 k3 z! C- R! N
3 H  n* A2 r! ^
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
) ~+ D0 c: a# r9 K- W. _; y/ k4 @  ~% O- J9 W; p0 `4 |* q
```
! q9 z# I' n0 j$ i3 [function create_custom_post_type() {
" }1 w) P% w6 P7 X7 N) Y3 f    $args = array(
: H) f  ?3 y9 r5 @# h: u        'labels' => array(
! F: b* A8 U& f- A+ v1 }            'name' => '公告',2 m. m/ x6 d6 A! D0 s
            'singular_name' => '公告'! o/ w' R  ?3 U
        ),
/ V$ Z0 N- ^7 P$ l        'public' => true,
9 [. J8 ?: R) ]1 x8 B        'has_archive' => true,
! i2 V1 l( c" v4 ^0 b& J. }        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),' V( i4 N- |8 S7 c4 ~/ `
        'taxonomies' => array('category', 'post_tag'),0 ]# ^, Q5 R2 X) p' o
        'menu_icon' => 'dashicons-megaphone',
' ]8 }9 n+ K6 Y        'menu_position' => 5,
5 O3 {/ @2 l' f        'rewrite' => array('slug' => 'site-wide-notices')
8 A$ V% E, \  Q( Z% ?" S    );
" N2 t( Z) R1 E5 p  u/ {0 L' o2 x    register_post_type('site-wide-notices', $args);
' L5 ^0 i* x+ i2 p- g# p( ~# d}7 {- x: D! w+ C) {6 [6 c
add_action('init', 'create_custom_post_type');
) o! \) r6 R5 l$ o0 I5 Y```
7 m0 g, y2 g8 Z- S$ e, _4 h) x0 j$ `
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。' Q5 U& Z0 Z: _' _9 g( Q' }
# |8 I( E6 Z0 e' `/ @
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。7 x9 P) B8 `3 T" ?% ?2 g

/ p/ o4 Q1 ^) n! W% D6 B3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
9 I/ _# `4 k+ c; F7 R3 Y; N) e3 N' E2 w
```
1 U8 u" a. Q% a) S+ U8 L$args = array(' \3 n1 ^: J% P3 O9 L
    'posts_per_page' => 3, // 显示的公告数量
  a' ~& S  ^# k+ j    'post_type' => 'site-wide-notices', // 公告文章类型, C+ o) @# s# p# P$ H
    'post_status' => 'publish', // 公告状态
9 d0 `, l& s" L  n    'order' => 'DESC' // 排序方式! u& _; n. D2 O3 A$ p
);! ]. s) ^: }. {

2 w9 H: z" z$ {$notices = new WP_Query($args);0 A$ Y  o. G1 L, N% A/ q
if ($notices->have_posts()) :
3 r8 |6 j: A, d0 J    while ($notices->have_posts()) : $notices->the_post(); ?>7 q7 a! }3 V2 q9 e
        <div class="notice">! g) K4 D7 D# h7 t5 E' Q
            <h3><?php the_title(); ?></h3>
4 g: J& m& D' r; ]            <div class="notice-content"><?php the_content(); ?></div>
4 v) d) p0 r) K" p8 R/ G' O        </div>+ _3 y  Z+ n  E% j5 @
    <?php endwhile;
6 o0 s) Y! {) N9 Selse :
( Y! {$ P; X. }% _  v# B    echo "暂无公告";) Z2 p/ x: T( L: w5 h
endif;( N6 Z& C! o8 L- U# j
wp_reset_query();
4 S! w' x" Z8 {```% s6 \+ V4 i. l, R( ^

/ E) ~! G+ ^9 U+ e7 D这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。* t6 E% x3 M& w
  a6 i1 r7 p/ C8 E
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

340

主题

530

回帖

3536

积分

管理员

积分
3536
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
( I7 M: s8 t" I/ l  `" y9 E
" I: g1 g% N) x! F1 A3 ]9 s$ d; t如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
) C: U8 L" B8 k
$ {( r$ E9 q3 y3 H. o. I# U以下是创建自定义插件的步骤:0 n. x0 @! S  X4 |( {# u' M! I6 `
" c% N: G2 U: y) k( S8 u% |& z
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
* _: M* |7 D  J1 V% e" Z
; _4 {, N5 E1 S* H" |   ```' _  n7 o% n5 ^) L7 L
   <?php2 a' M- N4 K" R
   /** V2 [; @, e% D9 \1 X  F" b
   Plugin Name: Site Wide Notices Plugin
4 b; E2 v( j) q9 I# }   Description: Adds a new custom post type for site-wide notices.; _* I& s( F- T$ D; X) j+ \
   Version: 1.0. x# Y6 l% t" Q1 q# J
   Author: Your Name
: N+ X" L) T$ W! _   Author URI: http://example.com/ |" w6 G. [2 h# H& v3 {6 j  B
   */4 X0 ]4 W3 V6 K
6 X  A3 Q* G- n+ W" @
   // Add plugin code here...
/ W# ?8 a9 E7 O- G9 s   ```: y8 K5 ~( E# r5 g6 o) ~7 Q
: |0 o8 X9 X9 g. ~
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。; e: A4 n, G+ P* s( o1 ?
4 r6 H+ C6 U6 `4 C+ x$ |$ T, h
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:# _+ I& E/ u0 g9 z3 `, A
9 N/ @, H8 z; B* z2 J3 }0 Y
   ```% W: \- Y4 U: J& d# T
   add_action('init', 'create_custom_post_type');
7 Q/ p; _6 ~; e7 |6 p) ]   function create_custom_post_type() {! G6 d. D  ^( m& p1 t# X
      $labels = array(8 R  N3 o$ Z% @, ^
          'name' => 'Site Wide Notices',
; F! f! ]+ i+ X0 t- O( P4 `          'singular_name' => 'Site Wide Notice',- ]& A3 ~& `7 v( j: A7 ~
          'add_new' => 'Add New',/ X: B, z$ I0 U3 d' Q
          'add_new_item' => 'Add New Site Wide Notice',- m8 s, P! `& J* Q+ Z; j- e" Z' n6 }
          'edit_item' => 'Edit Site Wide Notice',& ?1 m8 P- v1 j9 f
          'new_item' => 'New Site Wide Notice',
5 @8 \7 o6 V, h          'view_item' => 'View Site Wide Notice',( e" U# e& p& N+ m+ H7 U9 l
          'search_items' => 'Search Site Wide Notices',
6 E; V' ^* x, O) r# W          'not_found' => 'No site-wide notices found',0 `/ Q4 r! L: J: K5 L
          'not_found_in_trash' => 'No site-wide notices found in trash'
! H* |$ S0 c5 j: j9 e6 g      );
6 w( J2 Q3 y0 D2 t
- t* L: j" k! o( _% p; t  r1 Z      $args = array(
7 i1 I  N/ h- ]: V- G! L          'labels' => $labels,
+ P- U( @8 s1 k/ S/ d          'public' => true,
9 h% r( r1 @  @" o! ?/ i# Y9 |          'has_archive' => true,
$ x" A9 N% ~& M# U( ?; j& [          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),7 n: b- A. z  r
          'taxonomies' => array('category', 'post_tag'),
' s  Y% C) m& b8 Q6 a! B+ w          'menu_icon' => 'dashicons-megaphone',
* J  o9 H) u; T          'menu_position' => 5,
3 c& d% s2 Z: T8 Y! R          'rewrite' => array('slug' => 'site-wide-notices')
- f! E- W' _1 ]9 {      );0 d; U' v2 V4 o- |4 j2 c
3 ?; {; u$ v2 g8 G- I
      register_post_type('site-wide-notices', $args);
$ y" Z. i. ]: ]) R7 J# ?, v3 E   }$ W8 T2 C" k9 T
   ```
& w. f3 r% t) x( _9 e# i+ _( y6 o
, F  J" C) x  j) N" H, e   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
+ L  p7 f$ `4 t6 e$ _- [3 M% N* i3 Z2 M) m& h' F. \( Q9 c
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:( P; t+ t# {+ A2 N; }
9 a$ ^4 Y: l0 n" ~
   ```- @1 g5 z8 I: d
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');, P  @# e* h- v( p
   function add_site_wide_notices_boxes() {4 {5 e( @  h* P& e# _2 O8 D3 G
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');' ^" P. m; P9 Z
   }" F0 Q) t4 H$ i4 Z

, C. r+ t- \3 D) s0 J8 @+ m: S7 c+ k   function notice_details_meta_box($post) {
) H, k( z* G0 c- x& }* F9 Y      wp_nonce_field(basename(__FILE__), 'notices_nonce');; d" X0 [  |# `  n
      $notice_title = get_post_meta($post->ID, 'notice_title', true);$ K  e# \7 @/ V
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
) F, t7 M- i6 {1 c      ?>; P- W6 L% ~5 |. D' ~" }( E1 s
      <p>
, H" ]$ N2 L9 U          <label for="notice-title">Notice Title</label><br>
) O: Q$ j/ d0 ~8 U          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
7 t, ^# f% A: i6 L3 Z# l3 i& t      </p>
0 G3 V% b* O& ]% D! M, s      <p>5 x; T' N- Z. J6 C! V
          <label for="notice-content">Notice Content</label><br>
2 G, a* |' h' i4 S& N          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
' A8 H7 {1 R0 r      </p>% k) X: r: ?( U4 ?& G; u* q, Z7 M
      <?php6 _/ {% z8 R1 ]4 ^0 O( z
   }
, s1 ]) l" i0 p0 w% c
" P/ x- E( N5 C8 J8 Y" U1 A   add_action('save_post', 'save_site_wide_notice_meta_box');( {; q/ l$ n( g3 @7 R( B1 ^* P0 y
   function save_site_wide_notice_meta_box($post_id) {4 |& ?2 ~; ]* U7 P& x
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))5 j  k3 R9 ?& w# \  o; a
         return;
1 ]9 Z- D# c& H, z      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
$ O4 T+ b2 e5 n  b         return;& O. Y0 d" s. E; n6 x' I
4 T$ R1 v7 ~' F0 w4 ], |; N5 P
      if (isset($_POST['notice_title'])) {
8 M' K. }6 o0 B9 q+ w4 c          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));/ G$ i# }- p% U) p: t
      }$ U# d) c8 |! M! S/ e- W
      if (isset($_POST['notice_content'])) {- E9 x4 G3 q+ L! E/ d' Y' S5 Q
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
3 P6 I/ W+ a! Z. l: g8 [      }* E' @% p4 h7 _# H
   }
5 H9 ]/ c# d" D* u% _   ```3 g! T7 D" H& R9 b
% P' r8 D  u, S0 J( x1 e
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
3 E! E: T& {9 b  p, b' q- a8 Y& s
$ _: Q" \, t, ~  D1 a1 X+ y4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
. N$ W) y5 A5 b' v' z* }0 f* x
% O' Y( A7 x( O   ```* S; H6 }% p" z
   $args = array(4 Y/ S5 \: K! V) i2 ]0 {. S. g6 t
      'post_type' => 'site-wide-notices'," l/ U/ g/ i2 o
      'posts_per_page' => 3,& V. Z0 M$ ?' F5 Y) n
      'order' => 'DESC',, s" r9 Z+ @* U0 s% c
      'orderby' => 'date'
+ V: O6 b: Z5 T+ F   );$ f  O1 n9 B" b, K9 W7 o: e
   $query = new WP_Query($args);- h3 A5 u2 R5 O( u5 ?9 u, }
   if ($query->have_posts()) :5 s0 f" m7 v. d5 h5 S( j" ?
      while ($query->have_posts()) : $query->the_post(); ?># |9 E; Q2 c& a$ }- |
          <div class="notice">+ g- o! |( M5 g2 h6 ^( \. j
              <h3><?php the_title(); ?></h3>
- q5 W3 U5 S3 d9 o9 g, S+ B              <div class="notice-content"><?php the_content(); ?></div>
* @4 y4 C+ M0 M: \, Z          </div>
8 m. z. a2 E* w( V* B% H: X6 b      <?php endwhile;
3 t- }0 w6 ^% N. H2 o9 p0 E6 g      wp_reset_postdata();/ p5 B+ O" N/ e$ @; {  G
   endif;
1 Q! M5 B. i" \. r5 g; G- j2 F( w   ```0 }( I6 l, v- t& ]& t* `7 D
! Q8 Z9 O/ j; d  W' q) `
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-21 14:08 , Processed in 0.018633 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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