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

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

[复制链接]

335

主题

519

回帖

3409

积分

管理员

积分
3409
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
* s. n8 Q7 _0 v& m, a9 Z& L) w+ D8 I3 \' Y! J
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。: i1 O9 ]/ a% g5 J
! |3 s3 `8 O  Q/ L. e  X
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
% Z. h, k3 O2 c3 l2 t# b* o/ F0 t; t- _: ~0 j9 F
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。& A3 _5 |3 c9 V& |  p3 e' h

8 U6 L2 Y9 g) X/ a6 X4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。0 ^. G( b5 J; \; P2 ^* I

2 _; \8 Q. |& s8 ?5 c注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

335

主题

519

回帖

3409

积分

管理员

积分
3409
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?4 v" U/ O& h. S, D4 l8 f1 ~

$ y2 W: M/ L4 I2 Q9 h如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:7 Q5 W9 q. F  @0 r3 s& I6 @4 `
7 [# Z2 Z( Y( M& h7 x6 v- U
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
% d+ [; K' @, w1 t1 O5 I3 P/ j8 I8 q7 a9 I- `, _- H
   ```
& r" S6 X; A: y* J, R  i+ K   add_menu_page(
5 y+ \) f$ m7 n* C1 ~! E! U# p       '全站公告',
$ H& y  \+ d# g- {9 d       '全站公告',
6 d' \' c7 V( L+ ^5 g       'manage_options', //需要的用户权限" |% g1 V' F3 i" W
       'site-wide-notice', //后台页面的 slug
2 h% A( F" z+ N       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
" x* k3 G- |. C) V       'dashicons-megaphone', //用于显示在菜单中的图标  m1 f' _- j! z6 A3 }
       30 //菜单项的位置
5 Q# a. L# ~$ D1 O6 s+ m   );+ i0 c5 f  t8 J0 O; H5 ?
   ```
8 q& f9 @& w. S8 I% O) V* m
# `+ P. v, A% R8 d: r8 z4 y; y   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。" I& N- J4 }: n# v9 t

7 W6 D) M& H# w# ?2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:6 N; Y+ l0 m8 y7 v8 W
5 m9 O  `5 T9 e; S9 l4 _
   ```
* e' X& l# b# |$ w) X1 h   function render_site_wide_notice_page() {
. y1 c( `0 E6 E( j0 ?( ]2 K& _      // 渲染后台页面内容
$ K$ m- P' ^# Q! `      echo '<div class="wrap">
: `9 k, s, {" x; S" L          <h2>全站公告</h2>
" K7 U" Z9 E9 J- a& ^: {          <form method="post" action="">, {& v+ `7 U) q0 X6 p3 n2 p
              <label for="title">公告标题:</label>( v! R0 T5 y6 m$ D% }: n! N$ |
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
7 [4 [1 E& ~0 g. \; z7 {' L              <label for="content">公告内容:</label>
$ c3 ^; y- l6 @$ _8 W6 v: B' D" j              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>& A8 `1 [- o2 i
              <input type="submit" name="submit" value="保存设置">- i+ X, a8 Y! k# ^: e
          </form>
3 \0 z+ }$ Z4 s: B      </div>';
3 s. z( i9 v0 D6 r9 u3 J' M) \! \1 u. j( D: t# M/ j- H$ {
      // 处理表单数据7 u" ^, }5 Y: E4 G/ f, c4 p% }- c
      if (isset($_POST['submit'])) {- i0 U1 v$ _& }/ P7 a& [% p( L
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
' r5 w5 E( ~. ]# ?          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));' b* o. T+ X. s
      }: E/ `6 ]' e/ W
   }, Z: C, m: L! `- h$ x4 p
   ```7 j' Z" N3 e4 H9 X4 G8 o1 f3 C; e- J
' r5 e8 ]& ^# y
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。6 B8 `* R- H9 V/ x* L" N3 R3 J
0 r3 {  r2 K0 c  |
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
( W* ~+ _1 z9 O$ d  [9 W: d, Q6 j( y! c+ M# ?( ~1 C8 s8 T
   ```7 Z  W. w# s) g- g9 b1 Y+ e. u' M1 J
   <?php. L: h+ J' T3 D8 Y3 P% W2 ?; k
   $site_wide_notice_title = get_option('site_wide_notice_title');
$ |; p$ S; e/ d( {& [   $site_wide_notice_content = get_option('site_wide_notice_content');. |$ S6 U5 k: b/ d, v
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {, M% ]9 n) `0 D0 M% v7 {' _
       echo '<div class="site-wide-notice">';- a% }' z# w0 f+ [# ^+ s" \
       if (!empty($site_wide_notice_title)) {
* ?) m2 E, B) G% W' ]           echo '<h3>'.$site_wide_notice_title.'</h3>';# J: P* r& r% X
       }+ G; J% u- }% ~+ l* c
       if (!empty($site_wide_notice_content)) {
6 r' t9 }2 p4 a           echo '<p>'.$site_wide_notice_content.'</p>';
( w# T) O. f9 r. ~       }
7 _1 v0 ^. {" d: w; u/ f# @       echo '</div>';
: l( ?+ g& I# q4 m2 I/ m, [6 }. {- W   }' C! m, P: L: M2 `# S$ \* {# x1 S
   ?>' j, V7 {$ \/ g* Q; c3 b" F
   ```
! i% a9 @* a. D# R6 g% f6 F4 {5 Q) m: {. g) ?
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
6 T" v" O8 X! b! V7 K- m, h) @
; k8 }1 m3 z1 ~9 n3 A$ O8 n" i请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

335

主题

519

回帖

3409

积分

管理员

积分
3409
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?0 d9 B- p8 b9 P, I; x

$ ?2 V; z: v& B* p您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:+ o9 \4 [, ?' ^1 M1 ?

( z$ {6 K7 l  @. H, I* h0 _1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:# A8 ?! _" D; c4 G

" A4 v, m* v! q: ]) y3 w```! [4 [; f" V: ?$ J" W
function create_custom_post_type() {. B4 n( p0 y, T* ~: C0 e: H
    $args = array(
9 [+ `+ \1 H; v. X1 z0 `        'labels' => array(5 _7 k0 |+ O7 M; |, o) N; u$ Q, l; s3 m
            'name' => '公告',' T0 E$ k& \" L; [
            'singular_name' => '公告'& {/ P1 l3 K/ l
        ),2 J( Q; x9 V) s
        'public' => true,
$ K' Q" W2 U5 }) w/ A: X$ W( \        'has_archive' => true,
, g1 u- c7 y; ^1 F3 r2 R+ I        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
" ^( g, a7 F1 T$ b1 V6 I" e        'taxonomies' => array('category', 'post_tag'),
# O+ S6 n  {+ n) b, O        'menu_icon' => 'dashicons-megaphone',- q  {) x: ~! [/ \; o* H
        'menu_position' => 5,
5 R2 C4 Z; X1 |. n! E2 v3 _( a" `        'rewrite' => array('slug' => 'site-wide-notices')
+ n. o4 T6 D+ d5 W: _    );
- F4 o+ O. ~7 Y5 `/ R: Z. Z; E! u* P    register_post_type('site-wide-notices', $args);) N( H- ?6 J/ N$ d
}
% ?9 y& d: G- l" ?add_action('init', 'create_custom_post_type');
; U$ {/ s3 g) c```
5 \; L+ ]+ d$ h  ?/ y: G4 D& e) C% \1 E
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。2 P6 Q5 F2 F2 d/ f  K
* k0 D! ~6 X. v( i3 O6 h3 S- D
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
* O7 j; c/ [" H% i& f0 Q" P
9 g0 @5 F+ W( `! u( X3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
$ Z1 g5 s4 Y" z8 K' x! S! L: @
# C) H6 Q) W5 b```
# x# L0 A; |8 u# `) u- g0 l$args = array(( V$ |: |  z& A& Z
    'posts_per_page' => 3, // 显示的公告数量5 Z$ ]8 d7 P& O3 \
    'post_type' => 'site-wide-notices', // 公告文章类型
# j* k; N5 X! [: Z    'post_status' => 'publish', // 公告状态  x- P8 x1 V8 J+ ?
    'order' => 'DESC' // 排序方式
1 T) n' p* b. D/ l7 T9 E8 i);6 B4 y! i4 x, ]1 Z
/ P9 H$ A7 d. F1 [
$notices = new WP_Query($args);: U2 |; \! O' ~+ v# o2 m  y3 J' \
if ($notices->have_posts()) :
, f8 P" }- p8 O$ F" Q2 f, Z    while ($notices->have_posts()) : $notices->the_post(); ?>: e, Y- B! O' @
        <div class="notice">/ v- V3 A/ H' K' T
            <h3><?php the_title(); ?></h3>
3 d+ H! D/ w6 V8 x" z& v            <div class="notice-content"><?php the_content(); ?></div>* J' f. [+ k5 K+ R7 n$ Q
        </div>$ e5 N/ x1 x& q: M; ^
    <?php endwhile;4 C; \7 ~* n6 j- Q9 `
else :
# S  E8 ^/ a- a1 N. e    echo "暂无公告";
& R2 `2 x" |% O% Xendif;
: ]: y" M( C$ p/ K# Xwp_reset_query();
$ G/ O1 ^8 O/ D```* l* X9 R& A3 L7 Z! G& u

: K  V+ k' R" Y6 L, m5 y: O0 P这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。2 j; B- @" v( p/ ]* L+ l
0 ]/ j" d6 D2 N5 U! Y
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

335

主题

519

回帖

3409

积分

管理员

积分
3409
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?; B5 z. v! L5 Y1 h* m" C' R. j+ V

9 A% |/ r6 a) o! @2 L如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
; G. E+ A. s' Y2 E
* Z3 I# T% V; Y. a8 x( r+ ~以下是创建自定义插件的步骤:6 S& l, `; U! p3 i7 E

8 r0 @' A" g  s$ ^: e( k1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
# P; ]) w( c) I# h9 o( k! S. V) f( s/ D7 f/ W5 m
   ```
! B: w  y; N8 c! b   <?php( ~9 {7 o1 |: M$ w$ Q; H# B3 ^
   /*
* n9 `2 q, u8 l& u& I3 Q   Plugin Name: Site Wide Notices Plugin+ T2 E2 g$ w4 ~7 ~# ?6 D( K- x
   Description: Adds a new custom post type for site-wide notices./ {6 J$ {. t: s* Q* F) Z
   Version: 1.0
- @% y/ e$ \# u+ q0 D9 N   Author: Your Name
& v4 t: y! S) S; Z   Author URI: http://example.com/ E8 U! y' y& {+ @  }" M
   */
( }) Q: L2 w; L2 b1 _5 u
/ x% a- _' ^) C) @( a+ }   // Add plugin code here...; ^- A" t! }, s3 _  ~: W" K: _8 u; D
   ```; l0 w* E5 ^7 U% l7 O

! `: m$ P& f9 ]+ T+ @   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。8 `+ d5 {( x1 D8 f: S4 o

9 F  b/ u; B+ r/ `, g5 A, E' V2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
3 s, |, G6 Y' l6 n/ E% H8 d
: L) s; Y' @& X   ```& X) Q. e+ A) G% F& A
   add_action('init', 'create_custom_post_type');7 e# X! x' U( @7 \' s
   function create_custom_post_type() {
! U# D9 T7 y. y      $labels = array(/ f' Y# Q4 d, k" Q/ u6 a
          'name' => 'Site Wide Notices',
+ x; I  @& w+ v$ z6 Q# T+ k( D          'singular_name' => 'Site Wide Notice',' e  f8 v" k) o" h+ m
          'add_new' => 'Add New',
; J: ~3 `2 h! U( D1 _- G          'add_new_item' => 'Add New Site Wide Notice',
3 K# u* Y! U4 c$ H          'edit_item' => 'Edit Site Wide Notice',; v( r# r  {' m. t3 W$ }) t: P
          'new_item' => 'New Site Wide Notice',+ P  x7 _) O7 e3 z/ e4 r( h! e
          'view_item' => 'View Site Wide Notice',
, S9 u( }2 b! x3 V8 K' G          'search_items' => 'Search Site Wide Notices',: V. `' n' {' K. ]6 w) W) q( y0 R
          'not_found' => 'No site-wide notices found',; Q* A  I# k  J/ w& i" \! `  C1 E
          'not_found_in_trash' => 'No site-wide notices found in trash'
4 b" O1 J& s7 T" j) B- x      );  W. w+ d0 a5 U( ~

6 a, S9 L/ ~$ z' q+ ~      $args = array(
" b/ {, `3 h4 [1 Y9 ?- E          'labels' => $labels,
/ E6 F5 s  I: w0 s/ p* H/ _          'public' => true,6 r7 Y( f8 O5 I
          'has_archive' => true,7 r$ H& f9 h# k* X& }+ x0 s2 O& s
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
3 C* N) x, c0 O          'taxonomies' => array('category', 'post_tag'),: O/ V5 \7 ?$ H0 X3 w7 o5 \1 G
          'menu_icon' => 'dashicons-megaphone',! ]+ L% ~$ ?- E
          'menu_position' => 5,( v5 R; x: F, @( B, J: d
          'rewrite' => array('slug' => 'site-wide-notices')
" G6 D) P+ t. N" P1 K  ?1 s      );
5 t+ M2 C# k  L# l/ `  a/ P, M# T9 ^' g
      register_post_type('site-wide-notices', $args);
7 p2 H, U/ I' e0 E5 u   }9 X* Z/ u5 U6 \8 d
   ```
# h7 y8 P" b" E7 T- a  G  G: h) r' c$ }7 P/ t% ]- c, ?4 Z1 U
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
: w! F5 I; [9 N4 i) T) k% O% w7 k0 R; v% L! J
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
; s& S- e% s5 U  }+ g) Y( d
5 X" j& y6 ^7 B   ```
& l  o5 O# R1 d' f! p4 y$ G0 I  R$ q   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');6 h, ~7 N" S4 {% h8 x
   function add_site_wide_notices_boxes() {
2 n6 a& X2 \  E$ A3 S8 @      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
7 \" F" C9 D* K6 B4 s1 R3 Y) ^   }. p1 Q5 I* I! N+ B% ]- P
% V) @, X5 H0 e  N3 D" L
   function notice_details_meta_box($post) {4 ^4 c1 M7 V4 U; F' c9 t7 ?/ L3 T! A
      wp_nonce_field(basename(__FILE__), 'notices_nonce');5 k: l, E; G/ N' G
      $notice_title = get_post_meta($post->ID, 'notice_title', true);% v% z( Q" l  U- m. I+ n; j( E+ \/ @
      $notice_content = get_post_meta($post->ID, 'notice_content', true);% ^' _2 |. J, R. j' J
      ?>- L; _: U3 _% y/ \# t; \
      <p>
/ D6 g, M4 Y4 S- o4 I; _          <label for="notice-title">Notice Title</label><br>0 N5 k# i) A' R- E
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
7 \* H$ X9 ~/ @# |$ W: g( J      </p>
4 G9 N0 k+ |8 z, w$ F! h      <p>, f: J% c& j2 g/ v& w7 b0 l' j
          <label for="notice-content">Notice Content</label><br>2 _$ K1 y7 v8 w, j1 p, L
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>% l2 ^. X3 B  S
      </p>
! t+ y3 `9 U2 r3 E1 }      <?php9 S) G( M3 k5 m4 l4 w3 M
   }+ K% V4 g* `+ X( {

4 w7 J) [% L# i+ ?% e8 q   add_action('save_post', 'save_site_wide_notice_meta_box');3 G( J# ~) h1 z( G/ y0 ^! `) H
   function save_site_wide_notice_meta_box($post_id) {
" i& E5 v. C2 K' o, o; V" q      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__))): b" b% H  F& I* @
         return;
1 e/ Y. d) r# ~' Z# }7 L& _7 }4 d      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)2 O( U+ S  q0 s. U8 x& d% r$ K: M
         return;
5 e! E- l" i# L$ T0 F
" `; s0 n1 ?3 v- y2 M      if (isset($_POST['notice_title'])) {, c. Y; R" e3 @, ~" p2 [
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
1 F) w9 L% ^# k% q4 e5 O9 b      }
) n! w7 X9 c+ M* ?8 J      if (isset($_POST['notice_content'])) {
. _* j: Z: G( Q6 K; |7 [  ?          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
/ r+ h+ P8 Q4 \  \      }
0 S1 g' \9 ?4 z1 b$ h' }   }
. M1 Y7 [) U) }7 l" E   ```- \& \1 r9 x1 @9 Y! s8 X
. N( j* @$ V! \! u3 \
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。, _+ L/ y+ L# d" r: T/ }" z/ x
4 a2 N0 }& d9 O* i0 C7 o+ h
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:/ [$ I8 Q. d9 B

( S: ^! b: Y3 ?; {   ```
1 s9 l" U& F# a1 \' C   $args = array(' u* {0 |( V2 o  y$ k, O; T! [
      'post_type' => 'site-wide-notices',/ j2 G$ K$ U8 G1 `$ ?! P2 t
      'posts_per_page' => 3,
9 q+ a' E  n/ W9 {6 l      'order' => 'DESC',
% r# M7 R7 R, E' i      'orderby' => 'date'
  j* |* w# _. E0 g   );
; |# f% ^# p+ y. c/ O. U   $query = new WP_Query($args);
3 T/ U+ U7 V; ^' [$ I   if ($query->have_posts()) :9 F2 E) |& n5 |
      while ($query->have_posts()) : $query->the_post(); ?>
& P, `/ v4 A' v6 _/ \; j2 _, Y          <div class="notice">; A- U4 `: q! p  B& |5 V
              <h3><?php the_title(); ?></h3>
5 C+ a8 T. Q" c" }              <div class="notice-content"><?php the_content(); ?></div>
( J. s. x2 j: Q3 H, f" f          </div>9 X1 d1 Q* B& `9 u/ d. v, h- y
      <?php endwhile;- ^  M* k( k) y5 u. @6 g
      wp_reset_postdata();$ Z" Y3 J* r$ K3 ^0 t
   endif;
7 b' m6 T7 t8 ]0 f% M$ ]  A* m! u   ```
) r! h$ p" \/ N. O9 W* C
1 d' o# [- g9 V   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-7 15:24 , Processed in 0.084841 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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