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

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

[复制链接]

334

主题

517

回帖

3396

积分

管理员

积分
3396
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
8 Q- x9 Y4 u8 X# B# y# J
2 s4 G0 i: s. D/ i# t- D1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
* Q8 ~+ n9 G6 n" h* j4 \0 E* Q/ n1 e  c& G0 R4 z1 j0 I( f
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
+ M9 M4 @( m. o# N( m( s" R/ I- U" l/ v: d
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
9 i1 H5 ^  c. m* c0 ~/ {0 w) h3 F- I1 k
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
0 u1 Z& i8 D5 q2 ?$ ?6 y, R% P' a4 o8 I0 W( W3 L" @
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

334

主题

517

回帖

3396

积分

管理员

积分
3396
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
( f8 h5 J$ ]2 Q2 `4 |$ E0 R5 L, b$ o; o
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:/ O+ x0 K# a( u  G1 `
' s* {6 Z( E; Y: O
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
; h' b. r: s: V) c3 x6 e$ ^8 K& `/ |( d+ J9 i5 p
   ```( Y$ J& y  Q; O! c9 C% |! [" J$ c: R
   add_menu_page(
# Q! b! M, _7 a# b- b% H, Z       '全站公告',8 G/ H" r$ j6 c# {
       '全站公告',
1 U' g  i& i( [4 @4 U% r+ w       'manage_options', //需要的用户权限, m' Y( n" g- r; P
       'site-wide-notice', //后台页面的 slug
5 M4 X: d3 v- q- \7 a       'render_site_wide_notice_page', //用于渲染后台页面内容的函数. o5 @. P6 G7 ]
       'dashicons-megaphone', //用于显示在菜单中的图标: G3 Q! X+ C& u0 `3 a
       30 //菜单项的位置" H* h6 Z! l) q' J: @5 u
   );
6 t6 Q% Q/ k  Q8 ]6 Z' B   ```
% x* `  ?: o* G
. o7 L: B+ X3 K3 q   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。2 G9 w- ^2 l) A1 C( _
! `  {( A( n9 h, }
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:# i1 l% F9 ~" ^

0 _4 O& [% u  ?9 {   ```
/ W: U6 G! `* I' M1 _. {8 a   function render_site_wide_notice_page() {3 k0 `0 q7 c( X; n. Q) U
      // 渲染后台页面内容1 {8 n! P4 \1 ]
      echo '<div class="wrap">
, W7 _9 b, ]7 A% R3 R- [          <h2>全站公告</h2>
. J0 r0 [- [/ X, p          <form method="post" action="">
2 n/ A, _. X: O7 d4 [              <label for="title">公告标题:</label>- J$ m! y1 C8 x- S
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
8 l  N) e& @' @2 C2 a- K              <label for="content">公告内容:</label>
! s$ Z# v7 y9 D* n0 ~: m              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>, a2 ]) Y: u- B$ e' c1 J
              <input type="submit" name="submit" value="保存设置">
9 w& j: A( L, Z: `3 Q          </form>6 A3 c* c2 \2 \8 A3 H
      </div>';
# _- V: S# T( \% a% Q" H
6 C5 {$ Y6 d1 C: L  b      // 处理表单数据
5 F( Q: E1 B2 s! L      if (isset($_POST['submit'])) {
' H2 D4 D- K9 B3 N: m          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
; \; A5 L5 g4 B% G6 X& ?          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
6 K- K0 U2 a8 e7 ~      }9 ^! ?0 a7 g& ]4 K7 j
   }2 n2 _0 D2 J6 N+ H/ {
   ```6 G' x: U9 J; y

! d- ^9 I$ r* X3 J/ u3 f  G, @$ p   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。# j) K' K& J5 [8 i, u0 [" _7 ?7 v
6 }3 ^* i- x# Y- a0 e/ M! G
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:) h4 v" J+ r4 ]1 p" n! }

/ M. ?* ]3 }' d. c   ```' d! d2 }) f' \. s' `5 g! h& h/ E
   <?php
, m6 n. J- E3 H, ?8 D3 n# L( ~   $site_wide_notice_title = get_option('site_wide_notice_title');' J& F1 n) M8 Q& d$ f
   $site_wide_notice_content = get_option('site_wide_notice_content');9 v# `+ f  a) m2 E1 f
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
0 g& e0 z6 ^' e( c7 _2 `# a       echo '<div class="site-wide-notice">';( W  l$ n' i% G' ?2 u
       if (!empty($site_wide_notice_title)) {( t6 K- @7 _3 k
           echo '<h3>'.$site_wide_notice_title.'</h3>';
0 o! o- v+ C; ]- y/ u9 p2 K       }: }0 M8 F" j" z3 M! g! w0 v' i
       if (!empty($site_wide_notice_content)) {
& A8 B8 a% s( w2 ~" i, y3 L8 x; ^           echo '<p>'.$site_wide_notice_content.'</p>';0 l) O" G+ U9 K6 e, B  i( l
       }8 r! c, d; O6 Y! Y3 `
       echo '</div>';5 N7 H! Q2 @2 j8 e* T
   }
' V1 i1 ~+ F3 p9 o   ?>3 l, E. p" A* B* t- Y$ w: C) L
   ```
4 e, R. v; C! b
+ Q# R) h0 S: T: [   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。: Z& _# O5 M$ r2 s* c

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

使用道具 举报

334

主题

517

回帖

3396

积分

管理员

积分
3396
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
3 B5 M+ o$ U( i4 n8 w: i: L( \* G3 z2 M3 {& a; X- ~' A7 ?
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:" D1 J1 H8 G- o5 n

! _  a# }+ H8 [9 q/ Y1 W, [9 @1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
# l. h* C" g: Z% D7 u
, x4 S) o" ~5 C& ?$ H```' I, C4 [5 A% _
function create_custom_post_type() {1 C* D  J- a; m6 e1 e
    $args = array(7 X4 j0 Y) b; A+ L
        'labels' => array(* o+ z" @" q1 t! v: |$ V, \
            'name' => '公告',
+ F6 g7 }' c' a8 P            'singular_name' => '公告'
/ i/ ]; v2 O& `  [' M! ~1 B        ),
* A2 e. ~5 T: g. l        'public' => true,/ ]4 x* d9 A. m4 ~
        'has_archive' => true,
3 o2 e6 e4 B3 j  I% O        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),) D+ C* [  `9 f( v& i
        'taxonomies' => array('category', 'post_tag'),
% W6 B6 t% c9 l1 M* g4 k6 M        'menu_icon' => 'dashicons-megaphone',
0 N" z( l- ~. G9 h/ v        'menu_position' => 5,/ [6 P$ Y8 J0 X6 A  s+ d
        'rewrite' => array('slug' => 'site-wide-notices')
# f# q, V5 `, w, I( D% Z/ L    );
( S, w, E; M3 T* b3 H/ o& |% \    register_post_type('site-wide-notices', $args);
7 t& y9 \( q* N/ \" m5 \* @}, I' z$ ]2 z* T7 l8 \- J" S8 H
add_action('init', 'create_custom_post_type');, c, z9 Q. s( d0 h( j
```
9 z' u1 H. }2 W5 {
1 d5 s* R" y2 d  x在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。9 z! Z; I2 p9 K$ O7 @) d

) X; b- _/ q* L" |2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
1 s6 i9 C: A$ u% s5 v) g$ `) O7 m! L- Q
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:. X; b" o; Y, F% j. A0 S
3 e) E1 T+ s& l/ d# A
```7 ~% `" F5 T+ r, u" d3 c
$args = array(5 j" J9 U' B* t6 @, r
    'posts_per_page' => 3, // 显示的公告数量
/ ~$ V8 B% {) p    'post_type' => 'site-wide-notices', // 公告文章类型
& w9 J! y/ j3 J( c0 }    'post_status' => 'publish', // 公告状态
6 N5 t- x" f8 r    'order' => 'DESC' // 排序方式* d. L2 k4 W/ v. Y( J/ Z; f0 o
);
. U( B: ~2 t7 D
8 z  d* y$ k! N+ e0 m/ e8 s$notices = new WP_Query($args);6 F4 K8 A& M$ N# o
if ($notices->have_posts()) :
2 ^6 G! A& Y6 P' }$ }% ^    while ($notices->have_posts()) : $notices->the_post(); ?>
) p/ B8 U' \, Q- A. c* c5 P2 B* `        <div class="notice">
2 ~* L. B# X& U- N5 ]            <h3><?php the_title(); ?></h3>, N' A& m0 s  f
            <div class="notice-content"><?php the_content(); ?></div>' h4 g' D$ H) z: Y- R$ I
        </div>5 Y% S8 I3 Z9 Y  A
    <?php endwhile;/ A7 N* Q& E4 c: s: w  z  @
else :
2 A8 ?: h" ^# f8 i2 X1 \! i! a    echo "暂无公告";
& C# \; X: ]$ R) oendif;
% @# x2 E) V# d% K. swp_reset_query();  V9 Q! r- Q9 ]3 [
```
9 @5 p8 @0 f9 g7 c) t0 L& j3 {/ s, |' ?2 Z8 ~) A4 s. c
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
3 F( e/ e9 ~6 P  M: K; O' r7 W" ~' A  @1 C2 V' x! Q
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

334

主题

517

回帖

3396

积分

管理员

积分
3396
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
6 C$ t, S4 ]+ l1 r% p1 Z! k$ |/ D2 M: T9 T
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。; o" n: Y- z! w7 r

% e# e) ~9 f, E1 f" y以下是创建自定义插件的步骤:
6 c% u9 N: x1 t+ O2 D2 m# ]
- g# q. S0 J2 P' S( x7 P0 h1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:6 k* J% ?9 ?) E9 v/ |+ b0 s8 u7 a
; x' ?, X( W" J8 w# a1 w
   ```. x. e3 ?) o, G8 h" b
   <?php% K* M, y- i4 {% {6 B2 L; u" g7 p: C9 ~
   /*7 H  k: h2 ~3 C, H9 t
   Plugin Name: Site Wide Notices Plugin
) c( u, U/ z7 v- A( E9 \   Description: Adds a new custom post type for site-wide notices.
/ O3 b8 |9 _- Z4 t- }   Version: 1.0* e; B0 f6 e3 A7 t, T
   Author: Your Name' i' I: M1 n  p  T4 Z6 x
   Author URI: http://example.com' ]- _6 ~0 M- m1 [% P  n
   */2 c, j. J. k; v. L8 T7 C% O& |

! B# Q. Z( |2 b5 ?   // Add plugin code here..." ~& y  t& {' d6 K7 J2 \! y
   ```
$ B3 `2 F- U- B  s3 b3 E* h- U7 S# ]+ e
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。# t$ J! S2 z& {1 y( s, [
0 ]$ ~8 H3 c7 z8 i9 }4 B; Q
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:0 k: V; z9 I9 Q
4 S$ O: }" {; r6 H
   ```
) k$ h( a# D8 d, a% M   add_action('init', 'create_custom_post_type');
8 c7 H& i( Q& A6 s   function create_custom_post_type() {( V5 t  F+ W2 E# F; k
      $labels = array(
4 _! Z! d, Y9 V; a& w. t, j0 F7 e          'name' => 'Site Wide Notices',& f9 z* s% ]9 u3 C/ L( @
          'singular_name' => 'Site Wide Notice',
* [" u) t+ @! P+ e- \7 f          'add_new' => 'Add New',% w. B& H4 z, x7 X4 u' `* C
          'add_new_item' => 'Add New Site Wide Notice',, X& z7 P* O3 B3 n( H
          'edit_item' => 'Edit Site Wide Notice',
" O  C! F& A' @4 o          'new_item' => 'New Site Wide Notice',
; K9 [4 E3 V4 y% C4 _          'view_item' => 'View Site Wide Notice',1 b( X9 r8 P# t; _( e) @
          'search_items' => 'Search Site Wide Notices',: v8 g0 g, b$ j1 Q
          'not_found' => 'No site-wide notices found',
% G# S) h7 {2 n          'not_found_in_trash' => 'No site-wide notices found in trash'4 R+ ?7 N9 C7 C8 ?3 y5 Q
      );
7 o6 t6 f' n) W9 j+ C; q. b" V
! ?( w6 O: W1 x$ p' L1 ]) U! R, N      $args = array(( N. m! o* t; v4 V# Q
          'labels' => $labels,6 c/ j6 n) Z. }4 u0 [) w. a
          'public' => true,5 Y9 q* m) }8 B7 w) ?
          'has_archive' => true," T! t! o9 p/ n0 ^; S0 X, c
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),  ]0 Y2 z: P& S1 ]* q( T; m
          'taxonomies' => array('category', 'post_tag'),, \+ F9 D0 z0 M1 p. y. O
          'menu_icon' => 'dashicons-megaphone',
: s0 c7 r/ ~/ |          'menu_position' => 5,  a0 j0 G8 D3 h0 O* S6 w  B8 Q
          'rewrite' => array('slug' => 'site-wide-notices')( B* V" n/ s6 Q6 }7 g7 R
      );8 D: l8 _: o: m, K

0 H7 p& @1 f/ d! `      register_post_type('site-wide-notices', $args);
1 ^% S- u- s& q$ |# E( ^   }4 b- b3 {% H/ P1 j# m8 O1 ?1 z
   ```
" _+ ?& U0 p& s5 w2 L8 Q" _* ]# w' i% F- H+ Q; V& m- J5 Y
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
. d9 Z, X! r' _% L  `2 M
( b+ a4 ?0 N% S3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
- f! f' ]4 N7 ^9 k3 B$ o% X$ K. A; f+ h- e% t6 k
   ```
9 W6 j) g8 I/ W% i6 i" b( {   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
& E. \, \4 }+ C; M   function add_site_wide_notices_boxes() {
6 a- W+ u) _0 Z; z. T( U* O) r      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');7 O/ T/ R$ u4 S
   }" @! i2 m  N+ n- s0 N2 P/ @! I

: {5 r8 B" _2 O- Q   function notice_details_meta_box($post) {, D7 ]3 ?' L8 I4 s6 a( b( ~
      wp_nonce_field(basename(__FILE__), 'notices_nonce');
8 C, U; T  h2 `( t      $notice_title = get_post_meta($post->ID, 'notice_title', true);
4 S% l4 p, I& \0 j      $notice_content = get_post_meta($post->ID, 'notice_content', true);
% }9 \" `( R: C! r  p4 E7 m      ?>
3 u! S% f, u, p+ b      <p>
6 F, D+ p& a* u% A) l          <label for="notice-title">Notice Title</label><br>) k$ A6 b: }! c; \+ d% B+ |; r
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">  F6 L$ j" u% o- w6 k& T' l
      </p>
  C1 q1 [6 s, t, o0 m# U      <p>$ d% d& a0 A8 m! v# C3 R8 j% F) B
          <label for="notice-content">Notice Content</label><br>
% I' s8 E' c+ q  @5 _* T          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>$ W2 T/ H0 ^2 j+ H* h; W
      </p>
$ K% G% \! c7 C7 _: Y  L8 |      <?php
; ?9 y! [) W' b9 T   }
, l5 k8 a/ M  w0 s7 v, z6 `
) M5 W1 U9 w$ ]6 @& w   add_action('save_post', 'save_site_wide_notice_meta_box');: [* y; O3 s' b) h* e& m0 F
   function save_site_wide_notice_meta_box($post_id) {9 A' k( g" ^6 N! |
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))* i8 P5 w/ ?* k; `4 l; J& W( ~/ h
         return;" d7 g! j5 t" U+ l1 o- I" ^" @
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)4 g) J* S  a% r0 A
         return;2 M. A9 G) [! n# O! [) F
$ I5 |0 I' k* J( c4 C; F
      if (isset($_POST['notice_title'])) {0 j& {( H0 I7 o& A: J9 U
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
- |! b4 g& z. a, D' ]" y; H) ?      }
* ^) ^( m1 D. E      if (isset($_POST['notice_content'])) {3 r) D' |9 y( B6 |
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
6 B- O& Y- T$ S- H$ ]7 k      }8 U6 P* B+ H. U0 T, t) p$ M
   }% j3 O9 L$ F5 {; H+ N! {6 a0 f
   ```
$ t7 \& u6 ^) d7 D% B; {5 M" Q8 |0 Z3 }
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
) z& C* R& U. C$ G- c% M( A/ R: P; M% ?  L+ A! ^0 d' Y
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
) `& s, v0 w* |5 U, e; I) M0 x' e. k; A( k; q3 q
   ```4 F: ]7 N% |$ s+ J. |& G: a
   $args = array(: Y# @4 K- C' P- ]- w: L0 v
      'post_type' => 'site-wide-notices',; l. B& U0 m% Q* Q( g8 Q
      'posts_per_page' => 3,' ]& I+ C- o$ E
      'order' => 'DESC',: I- r9 x. ?" A& y6 v1 O' n
      'orderby' => 'date'" s) J- o9 u9 f3 J( w& ~7 V8 X
   );
' O4 @; [4 K: q   $query = new WP_Query($args);
! P7 Z$ x" x& y7 U! n4 U   if ($query->have_posts()) :
5 x6 y' m% `, o6 z  G      while ($query->have_posts()) : $query->the_post(); ?>
9 q' W4 B2 C! m          <div class="notice">
9 s! s7 {/ D: i              <h3><?php the_title(); ?></h3>
* a  A5 S6 g2 ~3 i0 F" {              <div class="notice-content"><?php the_content(); ?></div>
9 K' q6 X* A# l7 A          </div>8 h# s+ b* l, |" X' Q) b$ x! r
      <?php endwhile;
8 C1 I' I6 k1 z( G& S      wp_reset_postdata();
: \. V6 ^9 h  i3 f5 z. l   endif;
, D0 s5 [3 c+ u9 B; s) |9 Q   ```3 T4 p% P. r% f/ |5 x6 ]
1 t2 r0 B9 N6 [
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-3 01:20 , Processed in 0.086991 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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