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

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

[复制链接]

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
  f$ b( e, I# L- v; t4 N. ?9 m/ H/ ~# j# d% y- E6 N
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。2 a( r, V  @: G- x& F/ R5 E0 c8 F

8 n( c# a: |- B+ i# p% s2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。+ k1 ]6 W: M( j

7 _4 ^  G6 ~! B3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。; U6 w  M$ x6 Q7 B
# @2 q* f* x6 e) @' u: e
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
1 `* S$ _( m) |  c- h  e  O7 ?  [! u2 g4 V" o9 L& q
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?- B. N* G$ ~* r/ W. B
  y& d, I6 V5 G5 a" R) ]
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
$ i7 U2 |/ N! ^0 a* [  O/ O( ?
# k! S( Y* \, H5 o& Z! }1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
; e6 t0 {* g& p# E6 L" W, j$ L; W! U3 O/ ^3 V
   ```; t( B/ k0 t9 P4 Q- c/ r. ^1 T4 z3 v
   add_menu_page(( X: m2 Z0 g& |! z  O' _  r( c' }
       '全站公告',
# U/ ]5 I2 h2 V5 T( r  I! M       '全站公告'," t' g. B: B' ?: ]* B
       'manage_options', //需要的用户权限% z( g" E  r; h# l* O. o+ m6 I
       'site-wide-notice', //后台页面的 slug0 R) s& \# G3 J! o7 p" V
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数" U+ G. ?  s& b) @0 }/ @' Z
       'dashicons-megaphone', //用于显示在菜单中的图标6 [  W/ _3 P& k6 Q/ [
       30 //菜单项的位置. @: B! A6 D0 h% U. v
   );
7 {! W& u5 M9 E* x- [   ```2 L; R5 b0 o8 V, I# W* r
' f, `2 W/ v# m5 ]
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。5 n- ~8 C/ @) e8 |3 T5 T

  q8 x& G3 B& D$ _  Q2 k& e& U, y. u2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
7 }% `. @* ]  r) S
5 K9 S; \0 r- I: b; C1 f% ]$ o& D6 x! M' i7 v   ```
3 j* S& m9 Z3 s$ i4 k& s   function render_site_wide_notice_page() {. s5 {& j9 `# X, D1 H0 Z
      // 渲染后台页面内容  E3 e- g& T4 k( q$ k9 S+ _
      echo '<div class="wrap">6 }* _5 v* R0 ^  F& I- p; @
          <h2>全站公告</h2>% D( W) U* f* ~5 t; ?
          <form method="post" action="">
1 j9 @' t* e" d4 i/ g              <label for="title">公告标题:</label>
. U" J6 |5 W  [8 x: H0 v) |              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
& G0 q/ [& u# q& k! G% }% s8 [  D              <label for="content">公告内容:</label>
& n6 K) U9 {" S+ C  O/ @              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
: E; u  e$ Y8 y! G              <input type="submit" name="submit" value="保存设置">' l# g2 ^7 D2 E9 v& S- {: y
          </form>  i" O* ^& C5 w6 }0 k, U
      </div>';
8 \; K: ~" M* I
( Z" A. s: k/ h0 [+ v      // 处理表单数据
8 }' c! f/ C- f      if (isset($_POST['submit'])) {* G( i, X) b* o3 L5 ~3 P% ]7 C8 s
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
6 T1 f* e+ N( `6 o. U+ U( w( _          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));4 C8 s9 ^  a9 m! m
      }
( m. t, G# `, y% e! O   }- A1 Q5 c9 N! G  U0 e. @4 l
   ```8 X& T6 Z4 L5 `- w/ |

5 D5 A1 ~6 T+ m5 @& N$ j   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
5 g$ y/ ^1 O0 }, y" N9 ?+ G: d2 b7 _4 @* j6 a
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
$ Z# f7 ?, U7 ~' s- u2 ^  h9 j: Q8 W- x! @4 G8 {) {+ i/ \: y
   ```2 e5 ]! F- z+ j, C5 ^
   <?php
: C* s$ w% h* x& k. @   $site_wide_notice_title = get_option('site_wide_notice_title');
+ l" Z1 q  Q2 t- j$ c   $site_wide_notice_content = get_option('site_wide_notice_content');
! y3 a% I' b# S1 F8 Z/ v% n* I. w   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
6 b. m$ k# A# ~3 z* |; u" x: R       echo '<div class="site-wide-notice">';( \! ]( b! X' T6 O& a# \
       if (!empty($site_wide_notice_title)) {+ ]' w9 u* S4 d( m$ \' m3 z
           echo '<h3>'.$site_wide_notice_title.'</h3>';0 s0 w( M) L; J4 ?
       }5 s0 \$ @8 o( f1 m0 a$ F$ _2 p4 _4 |  }
       if (!empty($site_wide_notice_content)) {
6 T1 e+ A* `) `           echo '<p>'.$site_wide_notice_content.'</p>';5 q7 `0 ^# y( K; d$ O0 F
       }
4 K2 ?- Q3 o! q6 D2 V# |2 E       echo '</div>';
# c: d- Z# s* `3 O4 K1 m, U/ C   }3 n6 @1 W+ m& t7 g) T
   ?>/ {  P3 g/ T5 D# a6 R
   ```' t* d7 Y: _4 H
* ^; _4 M- i* h$ t
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。# G) Q- y7 S  r
; V+ }  {5 a0 G, u8 q8 Z: P0 m6 f
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
+ x  r8 ~) n. N, [: H9 B0 B; s0 _; [" `/ H$ N
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
; Y, P0 g; v9 I% M' Y
. s7 F% p" c7 x1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:- p3 e  k& I6 E1 w( O
0 ^0 ?) I9 J3 r8 {9 O+ R) r6 z% f
```% w& n5 o# w3 M* p3 T! r% p
function create_custom_post_type() {1 b; e( O, P: N- z
    $args = array(( R! q9 }. ]2 Y' q* h
        'labels' => array(/ q1 x$ I- r) O6 T. m
            'name' => '公告',9 X: x4 L' m- K( _% f2 ^
            'singular_name' => '公告'$ N: w' T- M( A  ^
        ),
# D1 G& j& t! ^        'public' => true,5 G4 _: Y: Q, z3 V2 F+ Y$ D
        'has_archive' => true,
/ P$ Z& j* i9 T        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
" ?4 A6 z; Y  F) x  N. c        'taxonomies' => array('category', 'post_tag'),
! Z9 T5 Z- p4 t& g; E        'menu_icon' => 'dashicons-megaphone',
( g  r: Q9 {( s" s. y        'menu_position' => 5,$ S6 W! e) c4 h3 G1 j8 J: D8 @
        'rewrite' => array('slug' => 'site-wide-notices')7 m3 Y4 A. ~7 [( G4 n8 i
    );7 j$ ?3 v, I, u+ K0 x; ~
    register_post_type('site-wide-notices', $args);& M& p) C' J$ c8 D/ p
}
. c$ x0 E" I6 r% c" w& w* `add_action('init', 'create_custom_post_type');4 s4 B! r# i5 o
```  I% t$ m0 g' y( n3 u- f* F
" [) F+ p6 z1 O. ?6 N
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
  d$ ~: c& Y3 j7 Q! D( c" ]. U- k) \$ f6 V
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
' O4 ?# m6 V4 Q5 R& c3 @, y: j
- c$ ^4 s' a% _& g8 F3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:, b9 o! V. g% i9 J" Q

3 m4 s+ _) J* q, m8 r+ Q```
5 }5 I. T* e3 L" {) F1 [: D5 C$args = array(
; \. h1 z  S" r! M. v    'posts_per_page' => 3, // 显示的公告数量! m( i" s) ~' {3 M$ m; H3 W# c/ W
    'post_type' => 'site-wide-notices', // 公告文章类型
5 _3 r/ j' c4 i7 p" g- L. n    'post_status' => 'publish', // 公告状态
9 j: }; S) d, f4 h5 B* q! p/ }0 _1 ~" V    'order' => 'DESC' // 排序方式
! F0 n- f1 C# O! G: a! R);: Y" G4 F% i6 j2 C6 Y8 n
# m: d% z- s% w/ F" H4 M0 o
$notices = new WP_Query($args);- w, T  p: m) w2 B
if ($notices->have_posts()) :9 J, ^# {3 g( z, I
    while ($notices->have_posts()) : $notices->the_post(); ?>' `  z2 }  q* _& I8 J5 h2 }
        <div class="notice">& f( J/ C: ^: l2 g- Q1 v
            <h3><?php the_title(); ?></h3>
, F3 ~+ U8 S, \            <div class="notice-content"><?php the_content(); ?></div>& B7 v/ z% y' A6 O) Q
        </div>, h: ~1 T3 M8 u9 H  }8 C( c
    <?php endwhile;
: I& q% z; t4 e9 K3 c1 Felse :
* k: x- }# x, I. v    echo "暂无公告";% i0 Y; O4 m3 r( l
endif;
' U3 Z0 G# C5 w; ~wp_reset_query();! }2 |' i( U, O" i, v
```
$ Z" v& l! a1 w% M" k
( H8 T% a, E6 s8 p这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
" |' g$ `7 z  }- c- i% _' N  q7 s
7 }5 P0 z# M; j& `& s% D5 p: P# r9 u以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?4 u% ^/ I+ o( ^( E" h' e8 s0 |6 G

2 l1 K) b4 k3 r- o7 `6 }6 d! N如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。5 v) P3 c/ _' R. c) C- u  D
4 K) G' v* U3 [
以下是创建自定义插件的步骤:7 [- D9 y. h4 O2 X. N- S) h0 h

- `  T7 F" {7 q  X. U& m0 e3 |1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:0 m1 w1 O2 y" A" v* I3 L* @
- h( e9 e  G6 W/ t7 H" n: R
   ```/ W3 S# i  o2 i: ?7 f
   <?php
: Q' W. h  D; c! q8 o3 R   /*: q7 _& k# l9 l7 h
   Plugin Name: Site Wide Notices Plugin
" [: b) k/ j4 s7 E  B   Description: Adds a new custom post type for site-wide notices.2 Y0 _8 m0 f' ]2 y
   Version: 1.0
! t5 w& G9 ?) c) C0 s( W5 z7 f   Author: Your Name
; T1 N! Y* `( z   Author URI: http://example.com  L; U) |8 i, \- F
   */# X; D! Z- \9 |4 v1 N8 H6 z
$ O7 _% p% z, h/ N$ u$ A
   // Add plugin code here...
  |- [- q; i- c: a   ```* G8 Y/ C" U4 Y/ X- n& z4 t4 L- q

6 j$ G2 h5 M3 p4 a0 @2 W4 |   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。/ P  x: s. n% z% g/ X

" ]" [4 @+ z% p2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
/ W% Z: }0 \% i- f$ Z
8 H6 I/ O( r& m( f+ @" o& q5 L   ```
) ?8 m: O, t9 t) \2 @   add_action('init', 'create_custom_post_type');" o$ U- q/ s; E" |
   function create_custom_post_type() {
- v8 M7 w! C0 ~& [' T' x      $labels = array(
; C( r2 F3 ~% l/ V: @1 C: r$ V          'name' => 'Site Wide Notices',
' F7 m2 E6 u8 o! o+ B( H          'singular_name' => 'Site Wide Notice',/ L+ W6 X8 a; K
          'add_new' => 'Add New',
- e" M" x/ z9 W0 I          'add_new_item' => 'Add New Site Wide Notice',
" ?* a& ~$ F  ]          'edit_item' => 'Edit Site Wide Notice',# b" X8 [% F0 d* y
          'new_item' => 'New Site Wide Notice',
. ^1 m: x( Z0 Y' M" {, M          'view_item' => 'View Site Wide Notice',; g1 S' ]8 Q5 ?/ x: A; ], o# ]0 }
          'search_items' => 'Search Site Wide Notices',5 w- Z& W) v- \9 v% d$ u; R& R% o
          'not_found' => 'No site-wide notices found',- i. @! B+ |$ Y5 L. S
          'not_found_in_trash' => 'No site-wide notices found in trash'6 W! M, p5 g/ P9 Y# M0 \# K1 u
      );
4 ~- C" f; G  x3 j0 h4 H
" x6 @# x# D+ L/ j' B8 J: R      $args = array(6 S$ [% O) X! Q
          'labels' => $labels,
1 g8 K5 f0 g0 f& e; C          'public' => true,5 t4 N8 G7 q/ b! M% P5 N' k5 m+ G0 A$ x) k
          'has_archive' => true,
. J3 f- B# S4 l0 A! p          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),: I5 U! l' p3 f+ n1 _: H+ T
          'taxonomies' => array('category', 'post_tag'),2 W6 y( I0 S& I; t6 l* c; k
          'menu_icon' => 'dashicons-megaphone',
$ O0 X; J0 q; p0 B2 f          'menu_position' => 5,1 s2 o0 a! \, M
          'rewrite' => array('slug' => 'site-wide-notices')
1 R6 a  I8 [" y% ~      );
% y: ]5 ]  Z/ S
3 }, T& \( `5 v7 k+ t/ v      register_post_type('site-wide-notices', $args);
# x6 F6 z8 V9 D; C   }
7 }3 T  s5 g0 f' Z; d) X- [  \& v   ```
- ?; j2 q+ |' S% ]* K) [* [" k' x1 E
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。# Z$ z8 {- z: ]  p8 J  Q4 D1 q

- ^! n, S( O# X: P) U1 P. F# `$ a3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:$ d: B1 E+ r# H

) Z5 \( e# e7 A8 s, F  z   ```% A/ J" S( M3 f
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
9 z5 V6 F) E! y) [- p* z6 e   function add_site_wide_notices_boxes() {. ^. u% G) M% A# |
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
9 m6 z0 {. X' y% T   }) Y$ q2 a2 a+ X, Q
/ \! Z% z, t' m5 Z6 e- b- `6 \) S5 Y
   function notice_details_meta_box($post) {
" ^; z, R; v$ p1 P4 x+ S! b      wp_nonce_field(basename(__FILE__), 'notices_nonce');
! s9 ^# f# W6 Q* y* G      $notice_title = get_post_meta($post->ID, 'notice_title', true);
5 T& ^* P  H7 J9 s8 p0 ~* J      $notice_content = get_post_meta($post->ID, 'notice_content', true);, v# f6 h. W5 M& c. X
      ?>: p; C& r, q+ i  \+ J# z
      <p>! y# A; f3 W3 H$ y% |8 ^! l* L
          <label for="notice-title">Notice Title</label><br>
2 M9 B  g6 {* q2 H; [( U( c          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">% s/ N4 S# \9 y. e; \
      </p>
1 q- B/ h2 J% q' R2 P/ W      <p>. g- B( D2 }& `# p
          <label for="notice-content">Notice Content</label><br>
& r, f0 N* q' R4 A0 o% a* G8 C$ _          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>8 ?4 i6 |1 ?4 B! K" t6 I
      </p>* u4 j" @+ m: i8 B: y0 N
      <?php
8 V4 p" s, |4 j; S   }
/ |; U( Y. t$ O- w
; P+ g+ [' z+ Y   add_action('save_post', 'save_site_wide_notice_meta_box');
9 Z* ?$ @7 m4 t5 h2 P2 [! n   function save_site_wide_notice_meta_box($post_id) {, \* ]% P: W- E1 B5 B
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))) l& U7 E8 L- o& t! i
         return;
6 Q; g1 C/ ^9 B- f7 W- u      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
3 ^: F; i, q# G1 j+ J5 q         return;/ n& M3 s! P  l4 o  O& G& Y# J2 K

5 L% ~' I% n8 D4 d/ V' L      if (isset($_POST['notice_title'])) {
% ]! x( N* H4 q% J9 S  Z- T* s          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));& q: p0 X' m. ], t7 A
      }% G! w  p) }8 |! v8 ]  F/ t) m6 h
      if (isset($_POST['notice_content'])) {: ]" m, s+ T9 J! y- h
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));% q; s7 ?6 @% J9 G
      }
9 h9 F+ K9 o" a% X9 K. ?   }& C3 a9 {6 P9 j& B- i; D
   ```9 }. @  O9 t- u) n  L/ e
: O( Q% l8 L( n9 v! a# q7 ?) o% U
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
* r* Y) @& h* r  `: @
1 p$ J7 Y& ?# F+ e  x  [4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
- |) G3 p' y: }( Q; H! `+ b% a
4 n1 h, N$ z/ `" |0 m* j   ```  n/ O% v; y8 v& p( P" c" X  z, o0 M
   $args = array(
" S! E+ ^; l: o      'post_type' => 'site-wide-notices',) U) e' i+ u) V3 Y; s
      'posts_per_page' => 3,  [8 j" v: R) P' f; Z0 X6 G0 {
      'order' => 'DESC',
& i& Q! d& h$ H! \7 n2 t1 C3 `$ |      'orderby' => 'date'7 M) g8 [3 q6 j1 W2 D0 ?- z
   );5 `# |% S+ J( i! A+ D' ~* m
   $query = new WP_Query($args);4 I: f  ^; H+ Y% ?4 F9 q
   if ($query->have_posts()) :' v) B# A" ?. `1 b; v: B
      while ($query->have_posts()) : $query->the_post(); ?># A7 S$ j. L) l' Z2 F; L1 y
          <div class="notice">
% H# }/ ]2 o$ s              <h3><?php the_title(); ?></h3>
) W# }1 f3 `9 Z# u0 P9 L0 S              <div class="notice-content"><?php the_content(); ?></div>
: p9 N3 A$ O. P" P/ \" X2 J$ f9 D5 X- ?          </div>8 N/ p4 w% ?' t: T7 l! y
      <?php endwhile;  }* X, F2 H7 E+ v7 X+ i. r+ J
      wp_reset_postdata();
9 O3 N2 t: k/ I0 J   endif;* J8 t( ~# F$ c
   ```
5 j. [, r) i* c( z% x
3 Y8 H1 G& H1 [   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-12 00:37 , Processed in 0.014910 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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