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

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

[复制链接]

328

主题

499

回帖

3260

积分

管理员

积分
3260
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:+ g$ L) A- v$ B" B, [
& s4 `% i$ D: ?, S' x! l! @
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
6 d8 h$ L) @3 x1 m* |( ]7 Z& o* H% [- x$ v
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。! X3 }+ K* h: v: a* p
% N( K. v- u; ?) {, w& H
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。* A* t$ h5 i$ H6 K0 E

, S1 F& J, U5 m( O, c0 z4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
/ f* L6 K4 K9 l# P3 C( b
* Q+ d! c( o) q* D! n注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

328

主题

499

回帖

3260

积分

管理员

积分
3260
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?2 \% W/ L. I; V& ^# r
: I! q- {! U, y, Q* I& ?' g
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
: M! Z. |! G+ A8 i. V. v* ~
# {( g4 _% c8 C3 W1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
7 M* |  o& s$ a% w7 L0 p" F( m' U" ^9 T: F* q' R
   ```
' [1 _. m. @' H. J6 Q& V   add_menu_page(0 R% s+ J, H2 Y( O; i& n" D" R
       '全站公告',7 S; i9 y; p4 y
       '全站公告',0 @8 D" m  n1 ^
       'manage_options', //需要的用户权限
; p  O$ e5 W; u' v       'site-wide-notice', //后台页面的 slug
# n" ?8 G4 n8 t8 j5 }- ]7 T       'render_site_wide_notice_page', //用于渲染后台页面内容的函数1 h) [7 }, j4 \! v
       'dashicons-megaphone', //用于显示在菜单中的图标( }# A' a  S& U- V  Q3 z
       30 //菜单项的位置
9 J, u9 w! U7 q8 A! |   );& T' s7 ]  s" d1 y6 i7 \
   ```
; A: ^( g2 f7 ?7 H# X! l; z: B, U/ z* h1 j+ a) J
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
& w7 u7 M  Q( M1 [1 R' k+ x3 S/ P  b' T# Q# G
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
+ I: Z8 e/ ]( v* y+ @( J  ~' S' f" ^- h" I% _* Z
   ```7 ]6 C7 P. ^! Y) t. z
   function render_site_wide_notice_page() {
4 O& C* K' @8 S3 S      // 渲染后台页面内容
# Q3 u" G2 S3 I. l* Z+ ?      echo '<div class="wrap">
0 _2 \8 L9 o2 W" r          <h2>全站公告</h2>; u/ D9 r: Y0 N. U. V( _+ Q) [+ G
          <form method="post" action="">! I( S+ H9 ?3 W* U
              <label for="title">公告标题:</label>3 ~  Y+ ?0 W2 [1 R- o- A! B  S, L
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>4 }( K+ b/ `( m* ^) {$ A: ^
              <label for="content">公告内容:</label>
2 v+ D  Q+ c" D  A7 m1 H3 j7 L              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
* N* O% H! A0 a' @* b. L5 s              <input type="submit" name="submit" value="保存设置">( q+ q" _3 T* W$ N
          </form>+ u0 y) }/ V& b
      </div>';
' N! ?. r! H9 A* g$ e7 W% H) d" s0 D2 b: A
      // 处理表单数据
; _: ?  W* j2 Q* B7 |- U" s! U      if (isset($_POST['submit'])) {( V/ D" e) X( [. i
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));  h. D, t6 b& j6 ~) |7 C* b
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
5 S' v  A" O6 {" X/ q$ O+ W" }      }7 W9 s' N; W+ y* X9 g* j4 T
   }+ ?+ R: Y" ?/ c: M& o: Y( J
   ```  T( K2 A1 _, h/ G$ V4 i8 t+ I
# e) O* u. i4 C* ^' H# U! n
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。( ^' \: j& v% D" w' L: d- t0 K- @
$ H8 w. N: [0 G' H
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:: ]2 i8 ]5 y9 n+ Y% |  T

  e0 _8 i2 s$ Q+ ^   ```
, }; a+ n6 c: P8 j* L3 ~6 c6 v   <?php
: G  `' ]0 g+ j* S   $site_wide_notice_title = get_option('site_wide_notice_title');# f; M0 p) f; g/ e/ q/ q
   $site_wide_notice_content = get_option('site_wide_notice_content');
! \# v- `8 ]4 n$ M   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
  v/ ]4 }  P) k, Y( C1 |       echo '<div class="site-wide-notice">';
+ @$ m+ N' ^, f4 D! s# F) ~) g' ]5 F* a       if (!empty($site_wide_notice_title)) {# d" h* x5 I! y/ z
           echo '<h3>'.$site_wide_notice_title.'</h3>';
: L9 ?0 i+ z0 |6 |       }
2 \$ a7 L+ K3 N( K5 z) [  f       if (!empty($site_wide_notice_content)) {
6 W+ Q8 }* ?9 g" `; k           echo '<p>'.$site_wide_notice_content.'</p>';' F/ _9 t6 a. @. p: I2 u; W+ t
       }
5 R7 x' b6 T- K; u! h       echo '</div>';7 E6 Z- ~- b2 h# ?" `1 p6 O! R
   }( j  \% ?) k! Q9 ?7 y
   ?>. e+ {5 F2 q, r, ~% e# t
   ```1 W" C8 J9 c3 \  U) |

6 U# n! b1 ~; }6 d( n   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
3 N1 y. D; X9 M" ?3 V4 C& A9 [/ ]6 w7 s
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

328

主题

499

回帖

3260

积分

管理员

积分
3260
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
3 c3 T# [: T$ @, O
/ `0 M% D& E' u6 V您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
! q! m! @* G$ G
4 z( u$ e* V9 k6 o# L) E1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
, h' s9 D7 _$ M/ ]. J. _1 `
1 W+ D" |; j+ x  S6 S9 Z" \: Z```
2 m" D; ]% V; p( B+ ~function create_custom_post_type() {
- X* Y) n1 H: T8 B    $args = array(! G9 N4 q8 w  q( H5 d
        'labels' => array(; c/ {4 [1 r% w
            'name' => '公告',6 j7 Q7 m6 U5 N1 B
            'singular_name' => '公告'2 G% i: t7 N' N( ?# L# C
        ),7 j! `% q' X0 M$ J6 F
        'public' => true,
( q) i' o8 H/ e5 X$ r        'has_archive' => true,
+ S! n* g0 M" m+ O0 x, O7 P        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),; @$ E+ s3 Q- }
        'taxonomies' => array('category', 'post_tag'),1 Y! |* M5 x' [8 s: V, ~
        'menu_icon' => 'dashicons-megaphone',
7 F+ |1 P% v+ `8 ^; W1 y        'menu_position' => 5,5 H+ H' z  z- o; ]/ ]2 j8 y
        'rewrite' => array('slug' => 'site-wide-notices')
  V: @  S# r1 j$ H- G! e    );' e: F7 M% K* ~/ n6 E
    register_post_type('site-wide-notices', $args);
+ M, Q  h* @: e* X! ?2 Z$ a$ e}
& C6 q9 }3 R3 w& H% eadd_action('init', 'create_custom_post_type');
/ s2 |& a0 _, G5 c$ R3 {/ }# t```
9 }: z* }8 |# g2 X" [. J/ Z; |" {) `, {/ W, S' r4 F" e- V
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。2 k) U# }$ F8 A# ~
4 w, p; ]5 S3 V$ m7 u: l
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。; y( L: y  E2 f* A# A

7 G2 F! {& {- b# o5 x: u2 q7 J3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:2 h5 M: C3 n% a. t
' G  v7 S/ P/ m$ [2 F
```2 r' x& W* U3 o) b6 y% @( Y
$args = array(# D/ U4 F8 A9 E# |- T' ^. A9 ]
    'posts_per_page' => 3, // 显示的公告数量
0 _( k7 h$ f+ B0 Z3 O    'post_type' => 'site-wide-notices', // 公告文章类型
& h, L3 [: E! g3 f    'post_status' => 'publish', // 公告状态
! N9 G3 r5 D. [$ D- C% d% B6 o    'order' => 'DESC' // 排序方式. R# Y4 t) N6 q5 [
);' D0 R  l9 Q9 Z9 i/ E6 {

2 {. p. G" m5 e% f& ^, v$notices = new WP_Query($args);# \8 [4 k' c& O  W3 ]+ u: K7 ~5 _  }6 D
if ($notices->have_posts()) :
3 t* G# @- M7 p( ?# N2 N0 d0 c    while ($notices->have_posts()) : $notices->the_post(); ?>
8 w8 f2 f# |: X' U1 _        <div class="notice">, z" R# k1 n9 l7 y
            <h3><?php the_title(); ?></h3>( r& `: ]: c. x* T) A
            <div class="notice-content"><?php the_content(); ?></div>  c/ K. v1 \& j: j) Z
        </div>
( \5 R* y  X. b4 k/ ]' j2 X& @4 @    <?php endwhile;
+ Y1 z) t8 _+ Q! Jelse :
/ N% G5 w) f- M+ M! h7 d, U    echo "暂无公告";0 \* }6 D! \  |; o9 c
endif;
9 X! S$ F& h6 |9 Hwp_reset_query();1 h" U) w/ z$ ]7 |, W
```9 l" m2 p( Q: z( `
# U) R. i- `( ~* J% n1 P, m# b7 ^
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。+ y6 ^: U. N5 i$ P% L- e$ F
9 ~% A* {3 w: J, b
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

328

主题

499

回帖

3260

积分

管理员

积分
3260
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
8 T. N8 i' N$ }$ r; M
; y# N  q0 {) H如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。) [8 j$ Q; |1 M
3 n. M- G0 @% h. t
以下是创建自定义插件的步骤:
( f$ L! X& k( a- ^
- i; `- ?3 {; Z9 i1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:7 ~* J/ ^) \8 H* L- J

( G4 [' L: _; I   ```
3 Q8 }: v% B- J8 a1 w- F, V   <?php
  X# c. N. F+ v9 C   /*  @) f4 H- `% P  n, U
   Plugin Name: Site Wide Notices Plugin
8 |8 j8 U* B6 u- c   Description: Adds a new custom post type for site-wide notices.+ @, E! E' d$ g4 Z0 Y7 O
   Version: 1.0
" m  t( r5 W9 _+ g+ _6 e3 k7 a   Author: Your Name
- ~$ I* G+ y. O   Author URI: http://example.com
( f1 c% {. U7 E- z& U' b   */
  g6 i( i$ s7 S& P6 V% H5 K  \2 u: b9 @$ x& q& N
   // Add plugin code here...
/ ~$ C4 h6 X5 v) _0 |" o   ```
. a$ A6 p- p, J: Q) U5 m
' d, U; s" p3 o+ E7 E   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
; J5 {) y0 s; w5 f4 [
/ i" \) w2 H  d' m# @2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:. ?! O* i8 ?$ A
+ k& B9 J  L6 K4 f
   ```1 W' `9 \0 }/ D0 @' i0 }. m4 e# Y
   add_action('init', 'create_custom_post_type');& T( G2 E+ E" W9 _# k  n! Y
   function create_custom_post_type() {0 A7 f5 G' b: C% o" W
      $labels = array(/ p0 G" I$ z. a% X: X
          'name' => 'Site Wide Notices',
& m& B  z: Q3 x          'singular_name' => 'Site Wide Notice',  e! S3 ^$ x% n/ W; e. W* S4 G
          'add_new' => 'Add New',; ]9 i7 @, j" n3 B3 K2 c
          'add_new_item' => 'Add New Site Wide Notice',
: @& c, \1 T1 r. g          'edit_item' => 'Edit Site Wide Notice',6 H) |+ W5 D8 [' f( x* ?: o  V
          'new_item' => 'New Site Wide Notice',
. P0 E2 ^. R; V) @  l          'view_item' => 'View Site Wide Notice',
+ S( v* f0 \4 v. x; f          'search_items' => 'Search Site Wide Notices',
6 M6 B  H& h7 _  f% p/ [1 G          'not_found' => 'No site-wide notices found',
. y5 Y* |  x2 i$ \/ I          'not_found_in_trash' => 'No site-wide notices found in trash'& h; W' u* n. k& A
      );% l; J4 p% _8 c( m; }0 _

+ H; ^2 L( i) [, \      $args = array(3 H# q# d: o% v5 E
          'labels' => $labels,
' H+ v" i+ H; x& ^) a' S# ]          'public' => true,7 {) x+ ]& [! C3 t; r
          'has_archive' => true,
# [/ E- e5 }+ w2 Z! R) h          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
5 i1 n4 J# K& s2 m* G* L          'taxonomies' => array('category', 'post_tag'),' J/ ~. q: n- x( M* X( [. |4 k
          'menu_icon' => 'dashicons-megaphone',
2 i+ n9 n/ {" e4 _( N          'menu_position' => 5,
4 {/ X# L# J! b# W9 D, F+ Q          'rewrite' => array('slug' => 'site-wide-notices')" C% Y9 {: ^8 d2 t# s
      );2 }( @4 H, c1 X* A7 ^! p! U
/ ^0 Z; ~$ A; @3 A% \0 Q% n' B& K
      register_post_type('site-wide-notices', $args);& Z! R# r6 m& Q. T9 Z
   }
8 o% @0 \2 {* H# I6 v8 \   ```
9 W3 C# {9 X3 J" l: ~- W5 o% J" J' O" o  X- [
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
6 b2 U: i% D8 p  N, P4 o
8 S  s" e7 l+ M( B3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:2 s6 e5 k. u- ~2 J5 I% k  X
+ b; ~& ^$ A" \4 A- f' b" `
   ```
& h. v- e- I2 q4 x8 e   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');5 g( D, h. e/ h, n
   function add_site_wide_notices_boxes() {' n* g% k  R9 o$ q5 f9 X; o$ b7 W( M
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');3 q5 ~: b' w- P- x+ h( \" q* _
   }! ~  P% a! X3 c) q

3 w& o$ P2 ?& G# E" k   function notice_details_meta_box($post) {2 K' S; b! `# L5 u# O. @& y( P. D
      wp_nonce_field(basename(__FILE__), 'notices_nonce');! t  i+ l: }4 m1 _) ?, u3 I" m  c) C2 x
      $notice_title = get_post_meta($post->ID, 'notice_title', true);+ p4 }# t5 e/ R0 s4 @
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
/ o  L3 t# G0 s. F2 O/ u, c      ?>4 s, h; N3 e: [
      <p>
5 w/ C& q/ M( s# V          <label for="notice-title">Notice Title</label><br>4 f; h  }) a9 p; B' x& `4 W0 _0 v, e
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
. m; C6 d2 I1 S/ k1 _7 l      </p>6 O: ^- T! g; G6 ~& ^
      <p>
( I% o$ Q, a- z          <label for="notice-content">Notice Content</label><br>% A/ y( A8 G- U1 [4 \( C; J! d
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
- K9 }! ]2 f3 G  {' N* [4 B      </p>+ E0 ^4 w0 O4 G% |
      <?php. ~! I2 ~  E! ]; H1 M7 O
   }2 ~; \7 {# ?$ d& t) g$ e1 j

; A; |6 \- _5 R3 {9 Z; |- P: O   add_action('save_post', 'save_site_wide_notice_meta_box');' s0 E) v- B* h3 S9 s& H
   function save_site_wide_notice_meta_box($post_id) {# l. n6 @8 u. M$ e
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))! k1 _7 p- z/ m* L, [
         return;
# h+ S6 O4 N- v4 S2 I      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
% r: m) J* c1 v         return;/ W  D* L3 b, T4 p

1 ^2 m4 @: e3 ~1 d* l3 [4 s      if (isset($_POST['notice_title'])) {4 o% m+ g2 L. f
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));( F4 ~2 c% y: M2 G8 x, [
      }
' @: i- _% ~; T" j8 v& H      if (isset($_POST['notice_content'])) {: d0 q9 z' e* P0 z+ L! {
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
. t/ l7 r) s& c' K3 j& |! |0 _      }1 e$ y6 l" A5 {- y8 p- d1 B. ]4 V
   }3 d( w  f8 [* l; w+ ?
   ```
# E# v6 `9 |1 J2 Y& O( v
% a4 ?! {) j; p# q  U5 z: @- s$ G   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。& r9 Y5 ^$ b3 q" C$ Z
3 c* _8 _0 n- C2 H4 |
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:' {/ _0 {* U- N
% V& z+ ^' B# S0 J* G
   ```  c- C" A! b' D* k" k/ i3 ^$ n+ J
   $args = array(
) b9 r! [+ |7 _8 b9 i8 L& n& ^- c      'post_type' => 'site-wide-notices',/ c, ~# P; M2 F
      'posts_per_page' => 3,
* n* }7 [% N2 F" O) P      'order' => 'DESC',
9 G, e; t1 o4 q1 q5 ?      'orderby' => 'date'
1 z; C+ ?8 Q" \, A! H8 J! f: v   );
! `2 A  ~4 f9 p' g* s) e   $query = new WP_Query($args);2 t# P; I( P2 g+ h
   if ($query->have_posts()) :- ?5 k& `0 o2 ]+ H
      while ($query->have_posts()) : $query->the_post(); ?>& Q: i5 a* @! f$ v
          <div class="notice">: h; W. c8 n, b( \  g* E
              <h3><?php the_title(); ?></h3>
4 n* }  A) M) [              <div class="notice-content"><?php the_content(); ?></div>: B. @& t" B4 n6 w9 ]: u
          </div>
2 v  M  c7 [) M1 l' O      <?php endwhile;
% T8 H, v5 X4 K0 v2 M+ {, w  S$ {      wp_reset_postdata();7 c2 X9 l4 R' q7 h6 o
   endif;# E' ]' ^- t2 J) Q; n
   ```+ ]! T- N. Z, I% }# k1 k9 ^
$ O. x2 Y2 v& K# y
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|通达产控投资 ( 粤ICP备2023021749号-1|粤公网安备 44030402006137号 )

GMT+8, 2025-10-11 02:23 , Processed in 0.081732 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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