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

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

[复制链接]

340

主题

529

回帖

3532

积分

管理员

积分
3532
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:7 z$ U- t0 P  a0 @6 q2 d

; `  _% _+ \( c" t' ^1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
$ u. @5 Q# f2 l4 I
4 r' z! j& M% O0 E# U2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。2 T& l; ^5 b2 E, d8 z; d* Q

$ E2 `6 K" M# U3 x3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。" @+ C8 J/ F1 l. d, X
$ q9 e8 p; y) s& ~
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。+ @2 Q: W+ \6 O5 q* r  s
1 t8 H9 W7 H6 H8 h
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

340

主题

529

回帖

3532

积分

管理员

积分
3532
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?0 t+ I: s& U$ P! {2 F& h- X
/ e8 K  o8 z7 j  V
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
: o; ^3 s$ u' m; D$ Q- e+ T
) |3 @* q' H0 k1 q+ r" }' [! M( g2 Y1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
& O+ M; z9 K6 N. b1 D4 _' w% }1 j% w1 v$ x# o  t0 \
   ```
, e* U( E3 T# o+ a% x- W   add_menu_page(. l' P9 t% \% H
       '全站公告',
8 T% Y7 T" J* ~4 R3 e1 s       '全站公告',# X9 G2 g6 O; Y
       'manage_options', //需要的用户权限7 v; f( B  ~8 m
       'site-wide-notice', //后台页面的 slug. K: g2 r7 z8 f+ S" ?. X( F5 q
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
9 q& v, ?" F* \% {       'dashicons-megaphone', //用于显示在菜单中的图标8 ^4 I: `9 w' Y+ L. q
       30 //菜单项的位置
2 W( @# t% m' ~* ]4 H+ ]   );
  ]  A4 g$ f4 ~5 }  K% r   ```
  W! D% Z1 q4 A  I1 m% T6 n  K" O6 Z" _7 i
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
* w4 P+ M/ w' o; d
' b, d6 O& o4 w. x2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
' u; e6 s' g& L6 _: M& ?8 B" W
   ```
( z5 C* Z2 y! s5 }% T2 j0 N   function render_site_wide_notice_page() {
; w! K8 o" P+ x2 \9 A- n: i3 j      // 渲染后台页面内容' S0 C. X& M+ m- w3 i+ j
      echo '<div class="wrap">
$ T4 n, c8 U5 y8 |$ X; o/ z          <h2>全站公告</h2>9 G$ X  U9 m# d) P* {
          <form method="post" action="">
& G  y7 `* w8 E9 E+ O              <label for="title">公告标题:</label>
6 k1 M1 J: i0 R2 U7 ?/ P* }              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>& b  K/ I3 f; B. B% ^3 S" H0 N
              <label for="content">公告内容:</label>
2 q1 i9 h3 r9 J0 F; v' a% o              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>  y8 }% {" [) U
              <input type="submit" name="submit" value="保存设置">3 ^: K" w) X+ }5 G8 N- B
          </form>" S) \  v& A! F$ q# k6 V
      </div>';
8 D8 ]6 u. F& i/ g5 w# T+ Y* h0 ?1 }
      // 处理表单数据8 p, _7 Z; q6 D: T% {' k, m  `
      if (isset($_POST['submit'])) {
5 a6 Q8 Z- m' S+ r          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));* L+ l, o  \/ q" g# n; g9 X, t
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
: F3 t/ s7 Q, _+ ^9 x7 S4 d0 s      }% V2 Y' |, y# B, @7 S. G
   }6 E& y" x" p: a. y# f
   ```* |' H) v" H3 F0 _9 ]. [

" ~1 R) z8 X6 h8 g5 z4 E3 P, [9 L   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。- c, M' S" X4 T( J3 l7 q8 n, P
6 y+ H) l+ X% B+ ]
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:  o3 h& F" v8 s: J% a

7 G. V/ X5 p% P5 z: @2 B   ```; K, r" t+ S& z& G
   <?php
3 ~& f, b+ f0 x/ _% \; f# t2 z& d   $site_wide_notice_title = get_option('site_wide_notice_title');
% q; D# k3 H& ~0 x, k   $site_wide_notice_content = get_option('site_wide_notice_content');- E) |8 n6 n$ r
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {8 M1 p! N# W, x8 {) u
       echo '<div class="site-wide-notice">';
' N- y- G( N* G* Q$ e, m& v       if (!empty($site_wide_notice_title)) {0 s. {$ q/ V) E' @
           echo '<h3>'.$site_wide_notice_title.'</h3>';
5 o5 E( h0 W6 V       }
. o+ H2 L" o. l" o7 k+ [5 j* k       if (!empty($site_wide_notice_content)) {: N& h) B, N) P  a. }0 l7 `
           echo '<p>'.$site_wide_notice_content.'</p>';
! Z! G/ W& s# |9 ~0 c! r9 [, o       }
. {: u5 _" \" m8 Q+ o4 M       echo '</div>';; c& b. D( _' K
   }
4 ?3 @2 }0 k- [) Q   ?>- @7 x2 A+ I3 }3 F6 ?  I
   ```
* M% \" w6 t2 Y6 s( E4 _, h. h8 a! x( D& @4 V3 m
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
, O! p6 K& x6 C+ v
9 x9 I6 }$ p% N" L5 ]请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

340

主题

529

回帖

3532

积分

管理员

积分
3532
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
$ Q1 H1 C) c. v. p( o9 o7 b3 S
4 c; S7 b5 T; u; p% E& X) G您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
9 F! k& _5 L1 z8 e* L' ]/ N: S$ {: K3 q2 F: x1 P
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:- R3 R) a) u7 B  m" O
- L2 M# s' \1 F, Y: u
```5 b8 x+ D, g+ p9 [7 a3 K
function create_custom_post_type() {) j3 b6 r: [' m. x6 j
    $args = array(1 }8 Y) Q0 q0 G( n7 b
        'labels' => array(
# k. _- u8 F' z" X) M9 D5 E            'name' => '公告',4 n8 q, G0 H. c5 _- |8 e
            'singular_name' => '公告'  ~3 ]' z& C6 r3 D* f+ o: f
        ),. w) }0 z  o6 I5 `* @
        'public' => true,
3 W4 q! u# g* N" _/ O        'has_archive' => true,
6 V. g, v7 s0 \" l9 B        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
+ w7 ]* v: G+ S" G  Z$ v( t        'taxonomies' => array('category', 'post_tag'),
# c6 F$ t4 M- I- h4 Z/ a        'menu_icon' => 'dashicons-megaphone',# Q- {+ K1 N" N% i* I+ e2 N
        'menu_position' => 5,5 M, V. z- W  L2 \; O
        'rewrite' => array('slug' => 'site-wide-notices')
' I/ M! ]' C' h$ u7 C5 r    );
" Z% r; O! c0 P) E; b/ x6 K    register_post_type('site-wide-notices', $args);+ [4 V  n: y; H  D+ P
}" N! \8 ]5 q- h  ^
add_action('init', 'create_custom_post_type');- e- q! z- C7 L4 C; N) Y
```
  i0 `& L6 A% z% V7 D
3 I  e2 S' O" A" g* C/ u* V在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
& W: W) J" t2 ]8 _. B/ `' W+ |
  @, [( y  W4 ~' c5 q, P7 {2 d7 e2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。6 s( N! k: Q2 Q8 n& o5 W. u
( _  p8 Y7 W1 ]! u' @8 r8 v
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
% ~4 V9 Z" y5 Y0 a' c  q1 w2 e9 c1 a8 Y
```% D; }% ~, ~( h  \8 C8 H
$args = array(9 Q" q" j9 P5 M$ E. w$ g9 m
    'posts_per_page' => 3, // 显示的公告数量
0 U1 ?" n2 e: J" p- u  a8 l% |1 c    'post_type' => 'site-wide-notices', // 公告文章类型) ]$ B: Q0 y5 Z% Z
    'post_status' => 'publish', // 公告状态
8 \2 q& X% i# ?! w% t& X    'order' => 'DESC' // 排序方式
; s  D% l9 f4 }, Z+ t  t);; @% j& D$ K' `' k7 b% f

# ~& C, S- |# o- C# I* |4 }& W$notices = new WP_Query($args);6 _6 K3 B' L7 L' c
if ($notices->have_posts()) :
3 d$ J4 n, G: {  e# ~) b, ^    while ($notices->have_posts()) : $notices->the_post(); ?>3 u5 W& H; }  i& q9 X% Q
        <div class="notice">
  H# c. g/ Y5 n+ a# E# g% }            <h3><?php the_title(); ?></h3>- V% H, [0 Y  w
            <div class="notice-content"><?php the_content(); ?></div>
5 U, i9 q# Z2 k) M8 ]; c        </div>1 b- f3 ?9 B4 Y5 w7 P$ T; b3 X9 q
    <?php endwhile;
' i+ p9 M% H1 e+ aelse :1 p$ D; A5 _3 G' Z, ?9 X8 |& E6 O9 P
    echo "暂无公告";8 a% R/ l1 u6 J9 B* ~0 Q+ q
endif;% T' s- e* w7 R. H- _2 a2 G3 T# j
wp_reset_query();
: \5 f  P/ D, A- v4 x6 Y! |4 _```
3 r1 G# w+ e# r- q9 B- i! b9 w. E7 V- k" E' r! i' @
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。' ?6 m* s. M; x8 L4 L+ q

  e2 l& P  N6 s. v" v5 z以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

340

主题

529

回帖

3532

积分

管理员

积分
3532
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
: H6 }5 B7 g4 V  z4 W) @- ?3 z! y
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。; ], B6 [$ ?: p& D+ ?) t
4 ?4 X% N2 l' v3 @0 E3 ]$ O0 H
以下是创建自定义插件的步骤:
# @. M7 ~. y- B* n5 ~
0 I6 Q; f: Z# f8 ?6 y( \+ D7 k" c1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:& T! t$ r/ f2 n5 T& `1 @

/ h( T% {3 g* P+ n4 c   ```- w/ X2 x& g- n% X& g
   <?php
& z* Z* T3 a) P/ q# Z   /*
' P4 [+ o+ H3 E0 f0 j5 d) ^   Plugin Name: Site Wide Notices Plugin
% z" {' ^) D- }1 a   Description: Adds a new custom post type for site-wide notices.: q# R3 j4 G' J2 s
   Version: 1.07 N* H6 M- A9 [+ W9 a
   Author: Your Name. v0 V" D5 S, k) ^' i
   Author URI: http://example.com
, u. e! _9 ]7 c9 o( a4 @8 G+ c  W   */
& ^1 y+ m3 ^; Y- V
+ k$ A- \+ W: O6 }  K; p' P   // Add plugin code here...$ F6 K9 |0 |/ H8 x% }
   ```# E3 b3 B- L2 y0 Q: V# R7 H$ D5 |

) z9 v. s$ `# x; i$ w   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
6 Y' k/ A- `) G: z  K9 B. B
" f# J0 J  W0 c2 W2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
' L: n, f: P& M/ Q- t3 X* L1 a5 U1 ^" c. A$ o8 x
   ```: D, D9 A/ A$ T1 i5 t* ]! G" n
   add_action('init', 'create_custom_post_type');" o  j* U+ d# x
   function create_custom_post_type() {& `- V  F" G7 X& c' \% ^
      $labels = array(
! ^. y9 a3 {7 V9 K+ z7 Q          'name' => 'Site Wide Notices',
; n% Q$ Q- f' H) t9 R          'singular_name' => 'Site Wide Notice',
5 ~  a+ v, d: s+ Z" ?' ]          'add_new' => 'Add New',
! R" u$ e3 {& [9 m5 B          'add_new_item' => 'Add New Site Wide Notice',! O) y0 F6 A4 ~& {8 {
          'edit_item' => 'Edit Site Wide Notice',& ^" P# r8 e8 Y1 c2 i
          'new_item' => 'New Site Wide Notice',6 ^, t- {+ L! a; G0 W
          'view_item' => 'View Site Wide Notice',
. D5 E+ K2 \! c% Z% ^- v          'search_items' => 'Search Site Wide Notices',  W( r( f+ A" `$ Y
          'not_found' => 'No site-wide notices found',  ]$ T& _; e! H/ R$ S5 Y1 E
          'not_found_in_trash' => 'No site-wide notices found in trash'
1 t, G$ Z/ \9 q      );
3 v/ I4 |& X2 u: i. Y# v- ?' \: k8 b* k1 R8 p  }) i0 s2 l& |
      $args = array(3 `' O1 ]. v) L
          'labels' => $labels,
8 ?; u# n) j- x" ^& @          'public' => true,
3 Y+ _5 w5 J9 L/ O* i          'has_archive' => true,6 h- w% \& Q: H0 w& ]! [, A) x) e, x
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),* r5 j. ]7 F# r0 _+ b
          'taxonomies' => array('category', 'post_tag'),
) g( h) ^# h+ o4 d/ }9 n  I$ c          'menu_icon' => 'dashicons-megaphone',+ S3 N2 J8 S( Q. b/ [/ d" l
          'menu_position' => 5,  N7 M; y# M. @$ Z. U) l
          'rewrite' => array('slug' => 'site-wide-notices')+ ~+ A) I6 Y. g. }3 f7 D
      );
' c+ x( s$ e& {. g- g9 q% ~3 Z$ y* ^8 C4 U1 _6 ]
      register_post_type('site-wide-notices', $args);- |/ c) B3 k/ ]( p" f: m
   }% Q5 n  R' V" V* p
   ```% \8 C/ n+ I+ l
9 R' n& A, {3 H% J. b& ~3 G- U
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
9 ~7 o  F' d' Y$ \% g3 J/ z2 F4 A0 w
0 c7 C# T$ t7 ~. z" B7 \1 p7 g4 s2 g4 o3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
" N3 i/ [0 i/ K- r* ~* p8 S
4 k! e/ G* _0 P. G- O4 x   ```
1 L  V7 k1 H7 q  M   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');  y  r4 P; Q/ F# s
   function add_site_wide_notices_boxes() {& t, Q) ^- C1 f
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');2 f2 Z6 a' u% j% G* C
   }/ w: b2 d: U% H4 o
0 a$ F; i* L, [- p3 O
   function notice_details_meta_box($post) {
# l! D- i/ o& V6 C8 e      wp_nonce_field(basename(__FILE__), 'notices_nonce');
8 X% C! [5 n. `( N; I$ {0 \      $notice_title = get_post_meta($post->ID, 'notice_title', true);
/ ]: C# F) V9 ?7 N( d9 d. H* A$ X: N      $notice_content = get_post_meta($post->ID, 'notice_content', true);
  a* @/ Y, D* s      ?>
8 F( e( K0 w" V' c6 e' ]! A5 F      <p>
& D' U# K0 I5 B# o& z4 }0 l          <label for="notice-title">Notice Title</label><br>, K3 O8 i  k/ y' M3 X; ~# J
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">) r; P  F. _2 s' ]9 P0 P
      </p>
. f9 z- U' m. M. b      <p>
( c4 D1 ?' P% {' }0 ~2 `          <label for="notice-content">Notice Content</label><br>* R' m/ N0 U3 L
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
$ O) W  t1 w4 l7 ]; J6 u6 E      </p>; X/ _9 E8 ^2 a& _
      <?php
- h: z+ o( Y5 t' }" I   }
8 E8 A+ W# V8 n  i8 t  ]) B& a; z8 e6 i- {9 P4 U  x3 @
   add_action('save_post', 'save_site_wide_notice_meta_box');) d, _- p( u% v0 m
   function save_site_wide_notice_meta_box($post_id) {8 l9 f8 H* M3 V3 x  b
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
  }3 F# b/ n# X8 V) C- B; C( U         return;9 l! J# N( u) b6 P( M, N  i' }% r
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
2 u! p" Z; C; N( s: f) \         return;
1 g, j! b6 Z; B9 P. j7 E! D: ^) r( z( t
      if (isset($_POST['notice_title'])) {
6 ^8 W4 j0 c; _2 N  B/ i          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
5 X# V" {; E$ ^7 H      }
. E$ X# h9 F% Y) E& Y# [      if (isset($_POST['notice_content'])) {7 I/ G0 s9 m3 N
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
/ b, _) H4 y+ z* c      }
$ ^( H* t% Z. p   }
, `4 a" U( z  s) i   ```
/ M9 g5 c( {/ M' b/ s) k/ J
3 T$ y4 k" U8 u, `  h5 Z   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。( z  g7 O3 P$ l9 Y; V8 p+ z

3 X4 N7 h8 G# n  w; z4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
/ Q5 l4 h+ E0 i/ T$ j% P" Q. e
   ```
6 H8 @7 q3 }5 u   $args = array(
; j* w/ V; T6 `4 \/ J; T      'post_type' => 'site-wide-notices',
! ?' j' D' j: w/ a+ J9 y5 J      'posts_per_page' => 3,
4 {4 `( i4 ~) S      'order' => 'DESC',9 ]% e; |( p% Q# Q) Z" r/ F! }
      'orderby' => 'date'3 _; j1 |  N& @, `. q
   );
: q, U; e$ H' t8 s" l   $query = new WP_Query($args);
; u, O, Q" J! y% y1 A* K' n, Z9 ]   if ($query->have_posts()) :* p  p6 v6 g9 O; B. A, Q& S
      while ($query->have_posts()) : $query->the_post(); ?>4 F: l+ X- G: h8 y. ^
          <div class="notice">, z6 R. K# d5 p/ x: ]2 v
              <h3><?php the_title(); ?></h3>3 P" {: u' Q$ K5 ]8 f/ k% `
              <div class="notice-content"><?php the_content(); ?></div>' A  ^+ z+ W& `9 k; P, f
          </div>3 `- N, |' x9 R  f4 y
      <?php endwhile;
+ O( ]6 F+ q. a: j4 k9 `      wp_reset_postdata();
: _' Z: c7 {; Q9 R3 v& X   endif;
8 s$ A7 O4 D$ b) E9 D* x% a   ```
6 d: X. j% j2 |7 e1 h6 u7 }# D! _& x
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-20 03:22 , Processed in 0.027680 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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