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

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

[复制链接]

335

主题

520

回帖

3419

积分

管理员

积分
3419
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
$ ]( K# o6 s5 t& y( y- r- o) x0 @6 f  T* d; h* ]* M9 n
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。- f7 `, _9 C7 n- l

9 O1 o0 P5 m' o. F2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。9 T) z! l1 h7 k6 P
' c5 |& W& v8 ]" |; ~1 S
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
+ X, g% ]% O9 H+ t$ S4 R  l' I# a0 h  h3 _
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。; T# \9 v: G) [! j" U2 \
0 b- w; v, ^' k( w  A' ~7 s
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

335

主题

520

回帖

3419

积分

管理员

积分
3419
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?( D( R8 o- A1 u- v9 E% v
  M2 U3 }- ]5 V. R
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
/ E" J4 @  s7 L" }# l; E4 H+ _
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
: q. f+ h' P& ~- E$ ?: b  M
; {$ `  }. G0 m. [0 \   ```
' q: T% G! I+ {# o: K1 ^9 C6 v9 E   add_menu_page(3 U) r9 }- N7 ]: h5 Q. F5 c
       '全站公告',2 H- x6 P9 _& f
       '全站公告',, u, E- F0 u% Y
       'manage_options', //需要的用户权限# M! d; m9 J0 _% b2 q
       'site-wide-notice', //后台页面的 slug
& I1 S% |2 f$ \! E3 r+ s       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
- u  ?" t& m/ R9 {9 m       'dashicons-megaphone', //用于显示在菜单中的图标
% L+ ~! J' M1 E& k( P& n' z       30 //菜单项的位置
# Y  H& k* f3 `( V; r8 g6 s   );/ q) `( z2 h0 c7 I% b- N
   ```
( ^, X1 O+ d6 Z. x, k% y- _" W9 w4 i7 N. E5 y! f& s' V+ p& a
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。$ u8 r8 F6 S7 c+ D- `
( h6 O' U0 \7 S' I
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
" x$ ?. j) I" b1 b, t: b4 }# X( u6 z+ O+ k3 ?, j
   ```6 P+ `3 u$ ?5 r5 z1 H6 X
   function render_site_wide_notice_page() {
- @, m, Z7 O) Q2 \9 ?      // 渲染后台页面内容
0 Y! N* L  k! u* B0 A" {2 X, U      echo '<div class="wrap">
5 Q& W; O# ^* Y! n& O: R# S          <h2>全站公告</h2>
- N+ x7 f% B3 z* B! E5 z          <form method="post" action="">
$ j. G( d) i& T$ X7 Q4 r$ O              <label for="title">公告标题:</label>
3 t* n2 n9 x7 i" q              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>! N/ d4 T. \9 I  |/ E& _5 l2 e( Y
              <label for="content">公告内容:</label>0 y" f1 w7 J" y( p
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
% ~+ z& o) v+ y- n              <input type="submit" name="submit" value="保存设置">6 ~. l5 n+ O2 [" \4 x) U
          </form>' W& T0 P  V- r
      </div>';% Z3 F* ?4 c3 \' s( @: v
1 w3 |4 K# U  d& z
      // 处理表单数据' i. t! J+ m$ o6 L, S  F
      if (isset($_POST['submit'])) {
* B* E5 e) ?3 r. u9 U( u0 V7 g: ~6 H          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
* l* P# j4 h+ F          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));' s4 i  q% g6 K, v( Z2 Y" e
      }' c! M. o( [; k' P
   }) L1 H! N6 }* {/ E
   ```
/ \) w5 i% }1 G$ o/ {- C0 g$ S. ]0 `1 c; w$ c7 \
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。6 G( F) [/ o2 s: c; a4 O  a. a9 x- C

2 w. e  ]' h$ h! d  [: T3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:7 \1 i* k/ d2 m" {$ \/ @
, H* v( Q' H6 m7 z' `; B
   ```# e  K) j  Z7 S" y6 o7 D
   <?php, ?6 U( W$ z. \$ }
   $site_wide_notice_title = get_option('site_wide_notice_title');: |$ i# ^+ d& V( _- n# a
   $site_wide_notice_content = get_option('site_wide_notice_content');# q+ B& _1 _3 }$ a9 z
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {$ ^, y( ~: v8 m) P# e
       echo '<div class="site-wide-notice">';) t* L6 C, D0 `3 t6 |  ?& i
       if (!empty($site_wide_notice_title)) {
$ E, S, Q" n2 A2 F7 Y* e           echo '<h3>'.$site_wide_notice_title.'</h3>';  p, B; o6 y/ Z& J  X5 E
       }4 K2 h( w3 d3 M+ a% t  i- x
       if (!empty($site_wide_notice_content)) {2 }  o' D- v( c7 W( D! x& z, v# s
           echo '<p>'.$site_wide_notice_content.'</p>';* f' E: b0 e. x
       }
- O, E  Y! S" @3 k* C       echo '</div>';
; E1 S/ x  W2 M% g" G' R/ E   }& _" O" O  L6 L+ O, d
   ?>
4 }, j# ?, R; l# f/ C0 G" t$ K   ```
! }8 M' d8 Q0 T# v1 l0 C6 s" O. L* K3 [6 v- V
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
! b1 ]3 @0 y9 b0 n/ k
2 k+ }* g- t: H3 ^) |# g- C请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

335

主题

520

回帖

3419

积分

管理员

积分
3419
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?4 p. Q7 b- k( z
+ W# C( O- f( Y- E; }; `* l8 i
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
) n8 M/ m* V; J9 w4 U$ G9 {8 b' g
% d9 p* G9 u/ h# O1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
2 m7 ^1 b* T! b
( C  a, F1 i1 [9 [4 q8 Q```5 k4 S* |0 g1 A" F8 k
function create_custom_post_type() {
' }# X0 x; H; ?. [    $args = array(
( E- M9 {. ~2 ?# p! I0 s# b$ c        'labels' => array(
8 w7 d7 h6 X, c% b' B            'name' => '公告'," s8 c6 ]- y; |3 v& r: i
            'singular_name' => '公告'
6 Q6 Q1 G( ^3 c$ {        ),
6 {8 l! }6 p8 T( y        'public' => true,6 ^: m2 j: O9 \% W7 i
        'has_archive' => true,6 y4 X" S1 \4 L* U: G7 y
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),7 X% Q9 o1 x) p
        'taxonomies' => array('category', 'post_tag'),
! {, H# K: {) H6 _+ t( e        'menu_icon' => 'dashicons-megaphone',5 k! P- U! _' y2 p& D+ _- R2 J( ^. B/ s  l
        'menu_position' => 5,
9 S8 `/ O. p* s  v: J        'rewrite' => array('slug' => 'site-wide-notices')
6 c, P! E5 M( u% _    );
- l1 h9 G4 a$ o9 E$ V  v    register_post_type('site-wide-notices', $args);
9 \7 e! t2 q5 Q* \' f% `}$ f, C/ i8 Q* g
add_action('init', 'create_custom_post_type');
  k9 N9 B" D, d6 |# ?```. l) k4 p3 w0 s5 u4 ]$ d, k- ]

4 U3 ]' t4 Y  c3 K) Z' ?在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。& l: n! d- `' d: q1 X- l$ v
' \: N( ]# z. V3 o. x* G
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。: w  p7 X. N* O: S$ z2 [

1 h! H+ x. P1 L: B" }3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
* B: W" |) H! [; E
" T1 v7 q% Z8 L" |$ J( C- H```: ?" J0 v6 e/ g9 v( k; e8 ]
$args = array($ E% w* F9 h3 y& y$ b$ a9 ]# g
    'posts_per_page' => 3, // 显示的公告数量0 L5 |3 }: X: G! B( P% j* L5 [
    'post_type' => 'site-wide-notices', // 公告文章类型  @9 ^' m0 T' y& S; S
    'post_status' => 'publish', // 公告状态! Y/ K* Z8 c$ a3 ]
    'order' => 'DESC' // 排序方式
" K  ]* ]+ \5 C);
3 S- S& D& h7 @' @3 o# T! Z# r% D5 n7 ]; H
$notices = new WP_Query($args);2 ~( z6 W3 B# I- P- j9 w
if ($notices->have_posts()) :
! t; D) M0 [5 k+ d& ?    while ($notices->have_posts()) : $notices->the_post(); ?>$ }: f9 G5 h& F; ^& ]1 H
        <div class="notice">2 q* t. u# Y- W: z5 a7 y4 h
            <h3><?php the_title(); ?></h3>/ V0 ^- b7 _. r* P; n* f
            <div class="notice-content"><?php the_content(); ?></div>: M9 b- x' \3 ]" J1 h0 @
        </div>, a( H5 h5 c8 o# V' v1 }: D
    <?php endwhile;
1 Y3 M3 r3 D1 d, ?else :
3 s1 {* ^; w" z) M: w    echo "暂无公告";
9 J7 m. C/ |, ^endif;
$ l& N" n! Y4 [* dwp_reset_query();
* R" S1 {$ i* P' `# T* w1 _```
1 @* y8 c. V$ y6 }  y. s# a1 E% ~* i+ h* j' E
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。9 f; l# k$ m9 M9 n, I. R2 {! c3 T

3 ?( u  X& N8 o3 Z* D; y以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

335

主题

520

回帖

3419

积分

管理员

积分
3419
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?& L$ Z' \$ w* X) F. Z- ]

  u: J& ?- N! q如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
* p5 N& a( S) ?% G" N5 }8 T3 h  N- q% o  d( w. o4 @; Z
以下是创建自定义插件的步骤:
. g+ ?* f9 R9 J( ~; u
' G# a4 \9 b& m1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:" E; p+ q  ~8 C  E; I$ t! E+ Z

( T8 e4 ~; X; Q2 O- @( U   ```
6 j4 R. \8 q: L( t, C1 Y   <?php9 |0 s. J/ E7 C$ v' Q
   /*( z: k" @- |2 W; x7 t' w/ {( W+ X; R
   Plugin Name: Site Wide Notices Plugin) d: E- M5 R0 R( C0 {7 U- r: q
   Description: Adds a new custom post type for site-wide notices." u1 `  U  a) ~( D( O/ ^2 \9 V
   Version: 1.0' }! T8 D) u1 s
   Author: Your Name' H+ o7 r7 X$ \: ]
   Author URI: http://example.com
7 l, x  D- u6 d. l' i   */
0 N) {% W# [, B: j# c# |. }3 {, L
   // Add plugin code here...
& z1 `8 K- M/ T3 z. V* ~   ```
6 }: w. I8 [) A$ c
9 H7 [! h: w( X8 k- u; Q   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。/ |. F2 k$ B6 V$ S* }2 b; G" z! `
) X5 I) r, ^6 x* n) |, t
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:7 u3 u$ ~# x. B

, f0 i* k4 z9 K6 }   ```
2 H( ^0 g4 f) ^% t  a% `# _" i   add_action('init', 'create_custom_post_type');) \+ R3 M. @$ A! x% Q' h
   function create_custom_post_type() {; u" \6 h( f- b# O- Y
      $labels = array(
1 Y7 i) O7 N3 }) [          'name' => 'Site Wide Notices',
, o4 Q, w! d/ U) L- q: [+ z, @- G7 x          'singular_name' => 'Site Wide Notice',: T% O. {7 ~2 N
          'add_new' => 'Add New',
2 M7 m/ F. s: m  b& v2 q/ B+ x          'add_new_item' => 'Add New Site Wide Notice',
+ `; m: p' Z6 c5 O3 x. {          'edit_item' => 'Edit Site Wide Notice',3 v( K. w" I, d0 {$ O" C6 N
          'new_item' => 'New Site Wide Notice',
6 _+ e8 i& }8 g  V* H          'view_item' => 'View Site Wide Notice',
$ O. Q% h6 R$ n4 v. f9 p7 c+ C# i          'search_items' => 'Search Site Wide Notices',
  d3 p- F; C' Z          'not_found' => 'No site-wide notices found',
8 s/ [! P0 T# e: G% l          'not_found_in_trash' => 'No site-wide notices found in trash'
4 \, U' ~% f0 ], d      );
; p. Z  w" H2 y+ Z% E+ |; s! l( L6 {8 V: w: a
      $args = array(
$ Z! q( }4 k/ {: i          'labels' => $labels,. z8 \# e$ d, q
          'public' => true,) i* e; o. T- C
          'has_archive' => true,
5 g% x' Z! v+ w5 P          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),7 G$ l8 B3 ^7 V$ `% H0 ]  K
          'taxonomies' => array('category', 'post_tag'),
9 u- O. H( X9 {8 V2 f1 y          'menu_icon' => 'dashicons-megaphone',, v# i2 ?+ b- _6 j0 q# k! Z+ h0 f
          'menu_position' => 5,% q: F5 }% O1 m( K8 @  `
          'rewrite' => array('slug' => 'site-wide-notices')# j- H% T! u! h4 g; T9 @
      );$ ]% }* |' M/ j
2 [5 I7 F9 l1 B. S+ i
      register_post_type('site-wide-notices', $args);
+ K. c- e4 h# s) P4 E   }
$ R8 O7 f( T- c' |   ```
- `8 Q; m& }6 K# T3 p( Q4 ^3 L/ {% D+ K, \' e5 y
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
  T- e) L: L9 E! B7 Z+ B9 e
4 |& {; Z" |! k" J2 d1 {3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:# _6 {2 g, g6 d7 K3 H; Z
0 l$ h) R9 I- n. _; M$ H8 K
   ```/ P$ C3 o  o9 H- A8 H/ o
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');. z1 z7 \1 R% G
   function add_site_wide_notices_boxes() {- d! c& z5 [, d$ D2 S/ B
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');* \! y# d% V) V9 |0 x2 R4 H
   }
! b0 q6 A# p- w/ d6 x2 w; Y9 ~
7 L. [" E" m, ^; ~" ~   function notice_details_meta_box($post) {
' @9 T/ C& q* I) w: k- B      wp_nonce_field(basename(__FILE__), 'notices_nonce');9 V( I3 n- m* z
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
$ X2 J4 `! M+ t' D  r) w6 @      $notice_content = get_post_meta($post->ID, 'notice_content', true);: i; H  T4 ?3 d4 x
      ?>
1 F+ ]2 `4 o& f; ^. T      <p>/ ?3 i$ ]& Y' Q) f! C. S6 Y$ X; ]
          <label for="notice-title">Notice Title</label><br>
  z  W6 g6 f" m/ s          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">5 r% R( |+ b' t' W: Q. L# E
      </p>* }( N  v5 ]+ D: G
      <p>2 ]  i  x4 N5 S& K
          <label for="notice-content">Notice Content</label><br>3 Y( a1 h$ S: h% r1 g7 c! A
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>! F  k$ s* `0 l6 A; i4 S+ {8 k5 S
      </p>) R- s5 n* T$ v+ H0 a# T
      <?php+ d3 C* E. q( i9 Y$ Y
   }
4 W, i, G$ z5 p! c  j7 ]9 J
, k5 J( X1 ^. v) m( T2 L6 T4 Z3 d   add_action('save_post', 'save_site_wide_notice_meta_box');2 ]2 N+ T5 J/ J* k& y) z
   function save_site_wide_notice_meta_box($post_id) {
, k" f* v4 p/ }      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
! O8 N/ Z9 p  P' t" ?) `         return;* F1 [$ s3 a  a
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
$ r. C( U% S/ q" Q         return;
1 O& C0 T5 R4 ]9 p9 s# k% O% h6 T0 Q# }$ G6 F7 @% W
      if (isset($_POST['notice_title'])) {+ a( e1 {  v& B5 p2 Y0 s
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));& a) f$ s2 ]7 W7 T
      }
) C6 h3 V: o: w  }2 q% a      if (isset($_POST['notice_content'])) {( H: G$ N1 g: t( f- P
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
7 m& S9 Z+ _. U4 m' r      }
4 t9 t3 C7 F# ]4 F" F8 f   }
  M* e$ u4 p' ~5 e1 i   ```5 P  n0 ?. D6 H$ {, W$ J
2 S( m0 ]- b3 ~2 _' X& |4 Z- a
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。) ?% p3 C" }& M! n( U3 f5 V

5 {8 ?0 M% E! V  a. R4 c4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:' m2 H8 ]6 j) g8 Y4 c8 d% C# Z

1 m; W5 n3 B% I   ```
6 l2 c9 @# e0 Z5 h  ~$ h6 K. j   $args = array(
- E7 K, I5 d: M# a) i7 Q      'post_type' => 'site-wide-notices',
4 M: D, u7 F0 k* W( D      'posts_per_page' => 3,
% _' l0 w  G' [      'order' => 'DESC',
$ M# B; x8 r6 v3 k% I, b      'orderby' => 'date') f, Y! I' `- Z4 A( X2 D8 p
   );: M; l: _5 N/ x7 e" u9 V
   $query = new WP_Query($args);* [0 L+ k7 g; @5 F# J* y6 P0 \
   if ($query->have_posts()) :
8 |) T- m! r9 J      while ($query->have_posts()) : $query->the_post(); ?>; @9 S. e7 H8 w1 s4 K
          <div class="notice">
! W' y9 D/ a4 t9 ^% O* A  k              <h3><?php the_title(); ?></h3>) g- C1 w: B2 H. t1 ]! v8 W8 G
              <div class="notice-content"><?php the_content(); ?></div>
  C) N8 \# d; P+ r) Z  V          </div>
. R9 W2 \. V2 ~. c' {      <?php endwhile;
1 D1 ?3 Z5 s6 S# \: q/ P      wp_reset_postdata();& W+ p4 m" M, [) s% J, J* C
   endif;
$ D5 V$ }! R3 J7 @2 u$ w   ```) U+ S; m3 T7 H

) J+ Y4 b+ J! r6 C' A  y   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-12 12:49 , Processed in 0.072502 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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