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

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

[复制链接]

334

主题

519

回帖

3404

积分

管理员

积分
3404
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
2 s+ f, h8 B9 [+ ~- i! Y: O' f
& E3 \+ Z3 \9 E/ r8 R1 z/ Q1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
6 a# S6 A0 q, X- ]. b" W/ Y% y4 d! t- Z& N9 Z3 ~# E
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。" F0 g- r8 z/ Z+ N) T; t
0 c1 s1 P: f, }# g0 q
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
! [: n8 [, e- j- \+ t0 l5 E
: Y, K: i( @" ]- ^4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
/ B5 ^- {6 G& B* T2 r% P5 f# F3 D8 f% a$ ~/ u* U$ H
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

334

主题

519

回帖

3404

积分

管理员

积分
3404
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
" o7 p0 \$ g9 a/ [1 B2 Z" c+ ]* W% j( t% x: ?; W
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:, e1 T0 S4 d' x! z2 D
0 J( T/ ^4 e" k+ c
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:) H. ?" Y, E" q5 i9 _

9 {$ Y# g3 }# W; l  [* e   ```2 C* r0 T; K2 S
   add_menu_page(4 y+ }6 X2 f8 t: ^
       '全站公告',
+ U9 {" r- m( B( G7 N       '全站公告',
: }$ {& W% E- V/ V* \8 o       'manage_options', //需要的用户权限
1 D" m( O% p7 ]3 T  I       'site-wide-notice', //后台页面的 slug& j* [/ K) n4 X" x4 F- _6 ~' C; N
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数( t1 b6 F6 S  z! v" E. s. ?
       'dashicons-megaphone', //用于显示在菜单中的图标
$ w+ C4 z* h0 I" `& X) z. {' U       30 //菜单项的位置6 Y: W: _3 V. f( z1 T6 M
   );
; u* z* k% a+ M) M! `, I   ```: J+ D! x# i' y9 W

1 y$ l2 k/ l$ M$ O! b9 D   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。' m& z% T$ z7 k; T6 J6 d
' ^; D# p/ |  N8 `
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:7 {+ K1 G& e/ x

/ w7 q4 n- D6 Q* L2 R0 S+ ?   ```' P" _* M, [5 ~! n1 @- E, S
   function render_site_wide_notice_page() {
8 @' D& @5 m6 {      // 渲染后台页面内容
! F; l2 ~2 P) C7 z      echo '<div class="wrap">8 a8 E4 Y9 s& Z: _5 ^5 t6 G8 X
          <h2>全站公告</h2>
! D9 d/ f8 R0 B3 p5 Y! G          <form method="post" action="">; U8 U/ o- s6 e# w* U$ i7 u
              <label for="title">公告标题:</label>) f! y& O' i6 c8 C) ^
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>% a) q1 D( U2 g+ a; `8 [
              <label for="content">公告内容:</label>' [$ `; W1 C- A: r6 m
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
/ N1 Y+ W' P' j              <input type="submit" name="submit" value="保存设置">6 @( D7 @( g. R4 N
          </form>
: H/ L( X, h' \6 {9 \      </div>';
2 v7 `6 u1 n0 E9 [4 [
, B8 w# X# X  D      // 处理表单数据7 G# E" i& e/ u, p- H
      if (isset($_POST['submit'])) {+ P: }$ t+ I6 q9 D
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));3 ?! ^: |* l2 C
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));( W" e" ~: n4 B7 V3 c8 g- T" R
      }
& Y3 S+ P: x* o2 _   }* c9 H5 F. M  z7 I6 ?, j
   ```
& k  a% }" t' ^
5 H# e% Z, n+ Y5 e2 N1 Q: e# M   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。+ Y# g$ |' e9 A1 u5 _- G
8 n: Y7 q+ {  `5 |9 E$ G1 u- S
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
9 y- P! W" p$ V7 [2 f: e  |! v6 M3 V& p
( H, n' d5 s  Q5 Q4 \   ```
' n1 Q% [7 ?' f2 g0 m* X' U   <?php
! C( d3 m/ n. F) H6 V+ y4 P   $site_wide_notice_title = get_option('site_wide_notice_title');" ^& t$ _5 d& M$ N% |
   $site_wide_notice_content = get_option('site_wide_notice_content');
8 w$ h9 e* l' Q+ p, P4 M   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {% ]& ]0 a: [' q1 [
       echo '<div class="site-wide-notice">';* n8 k2 ~$ y$ r6 g# u" k9 k
       if (!empty($site_wide_notice_title)) {8 ~3 {5 Y) J; O! Y% a8 m
           echo '<h3>'.$site_wide_notice_title.'</h3>';
3 }. Z  u% a# W# b( B/ Q       }) D+ \- {5 ^" `0 B; n0 h
       if (!empty($site_wide_notice_content)) {+ Z5 n: |4 `# ]/ w5 r: L$ O9 E
           echo '<p>'.$site_wide_notice_content.'</p>';
  s8 f" g. j+ C! e; C  q       }8 d( [( d8 [. ?7 @& C
       echo '</div>';
6 ^1 q: x1 u& m3 C5 x/ W" x   }: l: u, Q9 _8 b+ a% V( T
   ?>( T* y7 Q; f& H. `7 R3 A
   ```
" \8 q* @: [& T) `# S
  [9 z$ h/ b! l" i# J; u6 k   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
1 V8 i  r4 s! e9 @
1 d; L# G4 ?2 ?+ J' _请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

334

主题

519

回帖

3404

积分

管理员

积分
3404
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
, y0 l* n* S  y/ ?6 m% S8 y* `% x- P2 ^( m1 H, @/ ~; {" r' R
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:& u+ j! G- r4 A* ]/ ^2 R+ K; b4 d' ?0 e" B

* j6 S: b- g5 g8 M" X' ?, w) m1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
9 ^5 d5 G- P& o# N0 s* Q4 w6 ?0 U+ u5 @, J" z9 [" J% v$ }
```& i7 m$ ]* b4 v3 S* E
function create_custom_post_type() {
7 {. @  K# T  Q' H9 A$ L4 }    $args = array(
  U, t9 ~/ v& j6 n$ C7 ]        'labels' => array(
) E8 t) h) \* {* x- S. ?, ]" W            'name' => '公告',+ ^& J' v( F$ ~3 o3 b
            'singular_name' => '公告'
6 \1 ^; l( _# }7 e/ {0 L* B& y        ),
9 a2 T' R& ?$ g: O        'public' => true,! t+ F- F: u& y; |. V; g) y: ^
        'has_archive' => true,6 Z2 Q, [2 r! ^! B5 C7 o7 w# m
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),! ]6 K6 S7 s, ]& r5 ?6 a% l* U3 T
        'taxonomies' => array('category', 'post_tag'),, E9 o9 f: B& L  \, a5 j: j  F
        'menu_icon' => 'dashicons-megaphone',
5 R2 S, f/ f; H        'menu_position' => 5,
8 _2 d5 E0 |2 L$ F: ?        'rewrite' => array('slug' => 'site-wide-notices')5 v; V; t! P" i. _4 m
    );
$ t; g( n  Z- \9 g+ o3 ^    register_post_type('site-wide-notices', $args);0 `# }: n3 \, b# @1 Q# H* ]% v2 p
}7 ~& h4 t" r, d5 ]9 B
add_action('init', 'create_custom_post_type');
2 V1 i# p+ G4 ]' \1 k% H& A2 y```2 y% X7 J8 I" R3 j+ h5 F
6 F( d* U  j! U( D' X
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。8 k& j2 y  E4 N% S

3 a* m- ?; F* w7 g9 ~) z2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。# {( _& @5 g1 o7 J8 d) L- t- v; [1 G- x( w

8 N8 ^& [0 q1 T: ]+ F$ d3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:0 {3 f- G! M: I. ^2 D$ G% s
! g9 Y1 ^2 a. n- C4 |; U& ]8 p: r
```& F5 \' Y  a+ T8 G# }
$args = array(
2 u3 c* G$ |) h7 ]- T9 ?7 t    'posts_per_page' => 3, // 显示的公告数量
' I  M% Z% B6 }+ z' Q( }    'post_type' => 'site-wide-notices', // 公告文章类型* r4 s$ _! s! p& E4 P3 ~  \
    'post_status' => 'publish', // 公告状态/ ]8 p# u0 s# ?5 Q4 n7 j5 b/ k
    'order' => 'DESC' // 排序方式  J  {6 L, f6 W1 g: Y! d9 t
);
0 E& r( g% Z7 I9 }
9 U  [, x3 ?) k* V+ h$notices = new WP_Query($args);% t3 F8 _6 k$ _4 b5 n; Y' _
if ($notices->have_posts()) :
" Y9 }- k  C& E5 G' b- g5 [4 s& Q    while ($notices->have_posts()) : $notices->the_post(); ?>
# f) [" ]$ |5 y/ A( k$ t7 a        <div class="notice">+ Y1 |! Y! |8 `; f! M
            <h3><?php the_title(); ?></h3>& v0 T) ~% ^: {
            <div class="notice-content"><?php the_content(); ?></div>* X" l# k, q$ J2 W
        </div>
9 x8 E; b/ o) F+ O8 s+ m& t7 Q    <?php endwhile;# W. t- W' p% Y) B( s3 L
else :
1 m' S6 o8 k. ^5 Y2 Q" }- n    echo "暂无公告";, u8 H, `7 K* J; I) s* Z0 i
endif;  O) g2 q6 q1 c! ~4 ], [
wp_reset_query();
7 n( o/ |; n4 ~; M```3 w  T9 G( A. z( Z+ K& r
5 }' ^/ G: H8 n
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。+ o3 y. r: C1 E/ Y/ W, `
) W9 e2 T0 w$ k, K/ {' d0 M
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

334

主题

519

回帖

3404

积分

管理员

积分
3404
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
$ I' x: K/ z8 K, n( Z0 }- [$ K- P8 ^  T( T# v. R. M- Q! D$ N$ k  S
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。) T+ [& c2 ?. E& a& L0 M! N

0 C* d! ?: t2 I: V5 r( B以下是创建自定义插件的步骤:
; L0 c/ r) _% k/ q
; }' Q  g, ~7 r1 y1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
: H& I6 e* G4 w8 e
; ?# z+ K+ }+ l. N1 r   ```" {9 J$ O* N! O1 F  S# c4 v+ f
   <?php
8 |& {+ m3 Q! c$ s, z3 k) _& I) H9 a   /*5 s! U2 {/ R1 w+ [
   Plugin Name: Site Wide Notices Plugin
9 X) g( t1 N! L( L" G# I   Description: Adds a new custom post type for site-wide notices.
; Y* C+ ~/ w; T% Q   Version: 1.0
; t+ O: p- d1 a# S   Author: Your Name5 Y2 u1 q) A# i$ d7 M, r
   Author URI: http://example.com$ O, w/ |3 ~2 b$ q' t
   */* u) I4 O( C" r0 r' }8 |
+ g+ C: {0 i: R, b! o; D% u" m
   // Add plugin code here...( x: w, Z7 }2 W: S7 ^
   ```5 \; `8 i) Z+ ]  `/ m6 c. W

' T% x1 |( V9 [+ \   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。8 N" \0 k" N4 J3 v

4 P0 {1 C- a; H: v2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:- d: [2 a1 C7 T% X% F2 G

* W( W& X& ^# ]: r6 n' o   ```
! Z' T' c) }1 h3 t8 [   add_action('init', 'create_custom_post_type');: N9 E  V: w4 Q/ I$ g. }
   function create_custom_post_type() {. v# F+ ^) e& Q6 F: @
      $labels = array(6 ]! X& G' t! |( n. n- N2 Y8 K
          'name' => 'Site Wide Notices',* L) @# j1 W6 i2 Z  y+ y/ u7 |+ y2 Q( o
          'singular_name' => 'Site Wide Notice',
- |1 B; i4 c% |, j          'add_new' => 'Add New',
7 a* p6 }8 m/ q( K. B          'add_new_item' => 'Add New Site Wide Notice',
. _; H( Q4 V4 P9 Z1 \+ M          'edit_item' => 'Edit Site Wide Notice',
6 N, B8 @& @4 u( ~          'new_item' => 'New Site Wide Notice',8 K1 q$ I1 g8 v
          'view_item' => 'View Site Wide Notice',+ ]8 ^3 s- R; y' b
          'search_items' => 'Search Site Wide Notices',6 p, n9 _! {# J, K- F
          'not_found' => 'No site-wide notices found',
( o7 ]* U) ]) s3 [& S          'not_found_in_trash' => 'No site-wide notices found in trash'
$ q  g4 e- U, [& H. U      );- G, P* E5 b2 G. p

6 U( \/ \, u. ~) d      $args = array(
' E& t+ _: ]! s5 `; s/ P$ z          'labels' => $labels,
! `- G* y+ k8 f" e          'public' => true,
' e1 |! a/ W! `+ O0 V          'has_archive' => true,
; ?2 i# m6 t" j' K: r/ Z/ k& `          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
- i; [2 R) x' q          'taxonomies' => array('category', 'post_tag'),
( Z  A' K$ G2 s2 ?* @; r' r( I          'menu_icon' => 'dashicons-megaphone',  R2 G' J) q0 w% _4 B8 n& [$ ~, a0 a( {
          'menu_position' => 5,- I# K/ ~9 @- G; S
          'rewrite' => array('slug' => 'site-wide-notices')' m2 k3 Z3 \5 e( A: S' R
      );7 Z* P4 B% t# F6 N1 z  m6 Q$ C! ]

! w' d3 L; J' u/ [3 W      register_post_type('site-wide-notices', $args);$ t$ K4 A* D: r7 U+ v3 E( r
   }
* ~4 E1 T/ \' k+ T/ N   ```1 l* }' t! v1 C6 B/ z+ C" @, w, L
5 p2 v3 h6 _: y) \
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。- T# u. Y4 a( p0 m, @% Z

) q# d# d+ D$ U/ N" h3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:! J2 O: M. l' c- c/ [5 Y  @( U9 @

4 P$ B6 w8 [5 [" B8 j/ q- ^   ```
, S$ j, }7 K2 a   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
' ~7 s* r2 B! X* u2 S   function add_site_wide_notices_boxes() {
0 W" s7 |/ Z1 K, u      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
8 a3 Q* j6 N3 ?: u   }: @7 p  d' M/ U1 ^- t
" I% J7 v: ]2 `7 e
   function notice_details_meta_box($post) {
4 W" f1 O/ F8 t1 X& @2 f1 G# q      wp_nonce_field(basename(__FILE__), 'notices_nonce');
; s( o8 G* \1 }4 }: y( L8 n      $notice_title = get_post_meta($post->ID, 'notice_title', true);) E) J6 A5 `2 B$ ~" V
      $notice_content = get_post_meta($post->ID, 'notice_content', true);  l9 _4 }2 K6 |6 ]3 s( ~/ C: R* k' n
      ?>( a" g8 q; @" K7 B- e2 V9 [
      <p>6 v0 C3 e4 V$ y" v9 E
          <label for="notice-title">Notice Title</label><br>
& y7 f% M% k# a7 g$ ]% T0 @! p5 ?          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">9 c! y7 r. f1 r7 |, U! L5 b. \
      </p>2 M# J. l' N: ?8 j: x
      <p>* i2 M" I& @7 l
          <label for="notice-content">Notice Content</label><br>6 F. Q* J9 N6 h8 t7 d
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>/ N  m+ d( r* N( s  Y1 D3 D& f0 F
      </p>
0 N5 l% `( O/ t2 B6 a) W9 {* r      <?php1 `! }9 j/ ~$ }1 V& u2 w! h, T
   }7 R0 [  c) y  e" D8 d, F" T
7 V2 D) \* `3 C1 g# t5 F
   add_action('save_post', 'save_site_wide_notice_meta_box');0 F+ \0 B% Q9 f% ?
   function save_site_wide_notice_meta_box($post_id) {7 S  v$ t3 L. W: }0 |$ {9 q, e
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))- ~- w6 J+ `# S. E- p. D7 P1 c
         return;7 A) w/ N) i! o; i% U
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
" ?" I. h8 y3 Q         return;9 r; U3 X& H+ R
) m8 ?5 I4 S8 Y5 r7 D
      if (isset($_POST['notice_title'])) {
7 G# E2 s( D8 {/ X1 T          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
* R/ k9 K& X! T! B/ n4 M! o      }' Y& ^6 e7 P  Y  N1 ~
      if (isset($_POST['notice_content'])) {
8 d& H/ H; e* @7 b          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
' s# b: \. [8 u" Y7 B: g* g2 y      }
9 }7 f0 r4 O! x5 u6 j   }  H, E) O6 T/ Z- s1 P! ?
   ```
3 Y! n+ D6 P* ~/ r) A6 K) Q6 \/ s' l
  R( x9 J' O# N5 q8 T! m8 a   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。- P+ q7 K2 [+ x$ D5 K4 I

& e- f. p6 ^7 A( q6 }" R4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
* d% w, v! h5 i. b0 v7 [* {- C  t7 A0 G% `/ H) O
   ```9 v# c/ A3 x2 `/ M
   $args = array(
: _8 S9 L# E5 J9 ?! o( o      'post_type' => 'site-wide-notices',# m% l' J4 }7 f6 X' |5 f! G8 B
      'posts_per_page' => 3,
* g8 R7 o* J3 @) s, ^      'order' => 'DESC',
; z9 S3 V9 K5 H9 H      'orderby' => 'date'6 s8 ~$ U5 Q# ]
   );# v( d$ V& V0 ^% K+ ?$ r
   $query = new WP_Query($args);# K) s0 N' ]( p& h" _
   if ($query->have_posts()) :
/ B6 \0 W, C! F- i* `" u" Y- S      while ($query->have_posts()) : $query->the_post(); ?>
6 F  R- ?- V8 \7 J, `+ {6 d          <div class="notice">
# ~$ ?* d4 B, Q2 s4 Y              <h3><?php the_title(); ?></h3>$ O# ]+ a  m5 m
              <div class="notice-content"><?php the_content(); ?></div>
! E8 `, e5 x. \, W* X6 h          </div>: |/ _6 X4 H4 w& L+ v
      <?php endwhile;: e; `- x% X& l! p$ U
      wp_reset_postdata();& {, t% k1 L0 l! o! C' q' u, P
   endif;
( _: S8 j2 c" `" s8 P   ```8 F5 y# u  X# ]  e- i8 d3 @% F
4 d7 p. k4 T2 @4 y& u  b3 j
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-6 22:18 , Processed in 0.067861 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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