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

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

[复制链接]

333

主题

515

回帖

3385

积分

管理员

积分
3385
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
/ u6 k$ P- ~- q' I' e$ i0 S" K- K" Y6 E9 V9 R& n
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
9 s/ q* B6 Z' m2 J5 V
) I: m$ }& M4 N' }/ g# t2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
2 F. K5 E! X1 P% P% j6 W$ }& B: i. y4 [4 F1 _( p. q' O
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
2 ?% b! k: Y( ^8 g& l" G- l8 T- k9 q  C0 h
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
# o" c/ R# I" J+ S4 \( h3 z: |  i, L8 m
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

333

主题

515

回帖

3385

积分

管理员

积分
3385
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
# r( B$ o) h5 u( O+ A* l
5 g2 _  ~6 D$ U如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
% v6 Z2 d2 _; u" h5 Z& E9 C% \+ t9 B2 p  w- d4 i
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:; K* @. C, t7 m2 L6 j5 ^+ x
( Y6 F4 B8 j2 ]4 E% b2 p- D
   ```
) _* _/ F5 I: V, Y# q   add_menu_page(
, E: n* i- ~. T9 o; ]1 G2 z" Q       '全站公告',- z- _3 y" @& }  j, L0 Z, e
       '全站公告',
+ k! z4 s/ s4 x# ^+ W8 [       'manage_options', //需要的用户权限
: I7 m! w: D+ \       'site-wide-notice', //后台页面的 slug" P% p  n: c/ D2 l5 Z" a' b! }
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
  U, v3 y5 k+ B! M( \. D' K/ v       'dashicons-megaphone', //用于显示在菜单中的图标/ O5 H- _% C6 `4 M2 w
       30 //菜单项的位置6 G; m  Z8 E; t# J
   );) b* N0 }9 u$ v: v
   ```6 u. E0 w/ g! B
6 u! A3 F8 x8 Z5 N+ F
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。0 v$ f2 T7 }  _% r

& r& ~) G/ }, S3 ]  ?: Z# D2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:) d. l6 a! C1 Z& @8 }+ b# P4 p) ~
1 @- m5 i4 T: C) [7 _
   ```4 U- d6 O6 H/ J. g, o( z( y9 q8 [( x
   function render_site_wide_notice_page() {
8 \: [! P) X( b* n) k      // 渲染后台页面内容
4 F% |  I8 O2 J0 _2 S6 k& C      echo '<div class="wrap">8 r" ^. r( u# F& f
          <h2>全站公告</h2>
  J1 L) v; m) W$ W2 a  N          <form method="post" action="">
/ N' A* Y% ]" i! O/ O/ v- a              <label for="title">公告标题:</label>$ S( t% s  z3 n/ K9 q
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>% b/ {4 T1 {5 T# q/ _! o
              <label for="content">公告内容:</label>5 L$ j6 h( d# a+ K6 W6 A! i% G* r
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>4 U; L: |& m5 ?. n! o" [9 h+ h2 ~3 s
              <input type="submit" name="submit" value="保存设置">
1 ^+ l  Q& `: P. X& o7 ~          </form>
, b: s# f/ x8 j& G# h* Z6 S7 m& T      </div>';6 c, g* Z" v8 z0 l
; N' ]8 B9 S1 \/ S6 k1 D) B' V
      // 处理表单数据6 A0 R1 y$ y7 o5 `- B
      if (isset($_POST['submit'])) {
  I6 E' X' ]4 z) ~4 o+ R          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));, f  R" }3 S; s3 }  v  W7 j
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));  w) `- {7 {* `) n
      }
0 {/ M7 G, t# v3 Z3 H$ e$ }, S- P   }
- T6 L- [+ P8 a, u   ```7 ?2 D; b. o$ P2 J" N% p+ D* |
: W$ i6 F5 j) `; X/ Y6 k2 l( t: T
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
" k+ E* J/ S' U! f( K: g
9 D" C& ?8 t( E6 L2 m' ?3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:& P1 t3 S6 T$ y, V( P

! `# t( m4 x" u, k; f- X   ```
. `7 O1 S6 n' d   <?php+ D, p$ g1 X/ E# I( x2 W: D
   $site_wide_notice_title = get_option('site_wide_notice_title');  r, }+ i+ P. z5 g) ]7 `; h- ?
   $site_wide_notice_content = get_option('site_wide_notice_content');
- B4 u) ~$ e' b- d   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
; I2 o$ F  x5 t. c4 M9 }       echo '<div class="site-wide-notice">';5 U2 f6 m% O4 {# S+ m- j
       if (!empty($site_wide_notice_title)) {
: F) G7 j" _7 m% h           echo '<h3>'.$site_wide_notice_title.'</h3>';( w" O" |# N' `( [
       }7 {5 M0 i. B; c" Q6 R* E
       if (!empty($site_wide_notice_content)) {1 ]5 ]) S+ \" R; @5 O/ {
           echo '<p>'.$site_wide_notice_content.'</p>';/ y7 n& R- V4 f9 N. d7 O
       }6 ]& b2 n. q- A) m5 I: f( W+ C
       echo '</div>';% d9 I  c" ?# L3 R, r
   }
5 q. Z; B- A( w9 s* Q* M8 E  ~   ?>8 g+ G0 S2 {: I( K
   ```
4 l% M3 P; ~  u4 W" f  M+ _. Q1 ]1 i" V5 n; C. `4 o
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。* F4 @7 s; q: f& r. c, p9 P  [

% ?5 P7 C4 s5 r' y% N, w5 \请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

333

主题

515

回帖

3385

积分

管理员

积分
3385
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?7 a2 ^. B. r# E  k) z

, q- S8 O+ n( x- y  B' T8 ^您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:6 I( k; E! G9 Z- m) Z' f
2 _/ R! h$ ?3 a: A- r2 f+ B* ^
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
: j3 h9 Q+ E$ w1 g% K  I7 o; W
9 U# a1 q* a0 n! l% n# Q```0 @8 M$ c2 b7 j# I
function create_custom_post_type() {( E# {; y1 x; R  x# e* U. S. l* O( @2 [
    $args = array(
3 y, m: z! h, ?- o0 r/ o; j        'labels' => array(
$ K. ]9 A0 S4 q) ]6 F2 A1 J  V            'name' => '公告',  Q; K4 a0 Z; u  }! F
            'singular_name' => '公告'9 J% @2 K0 j, B; I- }1 A7 c
        ),* S3 Y  K  {5 @
        'public' => true,% n5 s/ x9 h. F1 O0 K2 k
        'has_archive' => true,  q# V0 V' v2 t/ ?# f3 L, V
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
1 @% N3 F/ @% \( w2 o! _! H        'taxonomies' => array('category', 'post_tag'),/ B; m( C% T2 b- M1 s' {: R. Y
        'menu_icon' => 'dashicons-megaphone',
- A, s- P- G, \. G- v        'menu_position' => 5,
# L, m( c" N: R+ I  \+ G        'rewrite' => array('slug' => 'site-wide-notices')
$ [+ B, F$ D, r/ W. ^' t    );
5 \- X5 m# G1 Q$ R  u; F    register_post_type('site-wide-notices', $args);' r9 w& ]7 g0 N5 f) m+ I
}
' w7 h0 S" O( Q0 \4 padd_action('init', 'create_custom_post_type');, Y8 f# J3 ?6 O8 X' j& I- |, ^0 H
```  c* ^* g* w( \1 L3 D
5 @: n, z3 {7 P  q
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。( v3 q( H) c' f" g% M- z

2 |. x8 y1 c3 G2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
' g: o+ _+ S1 N: D, D( v7 B% g5 D! ~4 ?+ X+ v* w8 W
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:+ q+ o3 K3 E, c6 }2 v: c  S

# y  K" v0 |3 {3 t. ^```
, f1 n% ~, {' j: C$args = array(
& A( }' X+ [! _0 |1 `8 p6 b- Q    'posts_per_page' => 3, // 显示的公告数量+ Q. b' r1 Y3 F: @4 \
    'post_type' => 'site-wide-notices', // 公告文章类型4 S, N! m* J0 f; }
    'post_status' => 'publish', // 公告状态
+ }" k, U; i4 A* `/ c/ P4 B/ L% k    'order' => 'DESC' // 排序方式' s0 e  T, c& [
);
: z3 `5 Z) D% c) ~  h  H8 x) A( t/ M1 D2 t& T9 @  @7 [
$notices = new WP_Query($args);6 R* a) m7 ^, [( |, ^4 H
if ($notices->have_posts()) :
- C9 g5 o3 X0 U    while ($notices->have_posts()) : $notices->the_post(); ?>; L9 L' c* j& h8 S6 r
        <div class="notice">
3 f1 c' O4 C" t            <h3><?php the_title(); ?></h3>
0 z1 ~* O2 z9 h- Y( J            <div class="notice-content"><?php the_content(); ?></div>7 N( e/ r, u4 D6 |! i& N
        </div>
3 v: V) ?9 X$ S; T    <?php endwhile;' Q" F2 ^3 M, M% P2 ?
else :4 s) V/ e1 j4 W; |8 Y# G
    echo "暂无公告";
! ~; z) p/ f: u; Gendif;, y5 u0 \2 O1 P( u9 u1 Q+ s8 w
wp_reset_query();
$ x% ]* o. X7 D3 d1 e4 Y```
  m  _% ~+ ^& ^3 G# N0 C, V& T: c0 C, s4 X* |! U
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。0 r. m8 k# n+ J" J+ y" X
4 v; h/ _, ]  d( T) \' x& c
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

333

主题

515

回帖

3385

积分

管理员

积分
3385
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
! N( F4 ?/ x1 [, O
  R' _0 r+ i* F  h如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。+ D- P: R, z: S, g
* [: l( h* a8 z- d
以下是创建自定义插件的步骤:
: }2 i+ A6 f) N* a/ Q7 n! k
) B3 z; X% y$ W) u: B1 v8 D1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:; `3 J5 m  G; Z) ^* h7 M
3 x* s8 C- {5 q, J
   ```' U5 s  j- z" f" B/ Z
   <?php
1 z) h" E9 d, V( u; l; W$ E. ]   /*
& Z' m1 ^' d& T# \, b   Plugin Name: Site Wide Notices Plugin0 y! E# Y6 k) [1 W
   Description: Adds a new custom post type for site-wide notices.$ I% L4 b! B6 D& n- p# b& X; d
   Version: 1.0# c8 D, G4 P, d. W+ Q( {. T
   Author: Your Name( W( p. \& y, I5 [3 H3 b
   Author URI: http://example.com, {$ `& z2 K& C  C1 a* v$ P/ M
   */" v) E, H1 j1 q, U

( H8 R& G2 z! A. t   // Add plugin code here...; W" m: p. u" y# l4 }7 d2 u) T
   ```4 o7 ^3 o# U! j/ t0 [- M
5 D0 D! L- S4 t& @
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。" \" k- b. q( B. N7 C2 {; B6 H; S- M

( [1 N+ e: y" R/ ]! a& D2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
$ r0 S. ]. o1 Q" _4 I
# ]/ W* `# H2 L, u$ w& |( y6 N   ```6 a* `' N9 ~  {* d* X# K) g
   add_action('init', 'create_custom_post_type');
% w; S) @  D" u! N/ f; E( r5 d   function create_custom_post_type() {
5 G' B: ]/ G0 e; E# n      $labels = array(4 X( z- ^' r" y$ z9 K! P8 D4 |% b
          'name' => 'Site Wide Notices',
+ {9 I% b3 ?( \5 X          'singular_name' => 'Site Wide Notice',
% z- {# A4 D; s2 @          'add_new' => 'Add New',7 y/ [( @1 m: n. t$ r5 `  Q! Z3 _
          'add_new_item' => 'Add New Site Wide Notice',
& \. p9 N0 h% ^6 F' Y  {          'edit_item' => 'Edit Site Wide Notice',7 M) l7 X. L3 c0 U7 T8 |3 R
          'new_item' => 'New Site Wide Notice',
$ p; k6 s" Q8 e; e8 m8 a+ H7 I( j! @/ R          'view_item' => 'View Site Wide Notice',2 ]" W" y" t& ~" M/ d
          'search_items' => 'Search Site Wide Notices',
+ ?5 c0 X4 _2 L3 _          'not_found' => 'No site-wide notices found',, R3 \1 }2 r2 M: f
          'not_found_in_trash' => 'No site-wide notices found in trash'# X+ r4 a0 U" Q: }4 `$ O
      );5 g- L6 X3 k; D& ^9 C# ^
- C$ z2 z) b7 n% X5 {9 ?8 v
      $args = array(8 @! a# T; u. @( X0 O7 C. P) L
          'labels' => $labels,
0 e- U/ Y1 r  j          'public' => true,9 I. E& \5 H0 k, i% K% H. \+ V
          'has_archive' => true,
( l; @- m) t) g  p! X          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),( _% G0 \! ]$ \, \% ~$ s6 R
          'taxonomies' => array('category', 'post_tag'),9 E0 n, p5 k; C! c; H. K
          'menu_icon' => 'dashicons-megaphone',
% |# v; q3 g; W. L4 E4 E: C          'menu_position' => 5,7 i3 y. U. X+ ~- j# L% _* X, n; @# h$ i
          'rewrite' => array('slug' => 'site-wide-notices')% p- P3 e0 b2 [& y3 K
      );1 g6 i3 C: Q1 T- P

# _5 A5 s; E; H      register_post_type('site-wide-notices', $args);
9 ]* e- a: m& [% X; H9 z( w4 g# l   }3 \# H0 |  O7 F0 O- `3 ^
   ```6 W6 S) `3 j( {8 i

6 g" |. c, Q/ l) ^5 s   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。  M9 r% k8 n/ R# o# G8 f4 v
. y8 C2 x" f; ?2 S
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
) \! \& y) K4 H9 [7 y4 ^- u$ |
% U) c4 j* ?( b+ }6 j2 u   ```7 P/ U% `- n" t  p9 F( j. X4 B  s
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');, t4 z$ U' V' Y2 h3 ]) D
   function add_site_wide_notices_boxes() {( W* h/ d3 K, ]7 A3 y1 y) I
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
) C: `1 U+ q% q- r6 R* E2 E   }; z  R. o. k- H
7 P  `3 f  u. f' i  \, l* ?
   function notice_details_meta_box($post) {
/ i" w) W6 D  e& `1 `7 r8 }7 M  j4 O      wp_nonce_field(basename(__FILE__), 'notices_nonce');0 s7 {( S: ^3 {+ D: s
      $notice_title = get_post_meta($post->ID, 'notice_title', true);6 x; B5 C+ c1 b; g; @$ E( r
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
9 V) F# ?! n% Z$ ]7 h      ?>
; X5 ~# [- a: v) |2 O4 U, P1 u- q      <p>
) p5 r  o. g/ ]$ s, e) I          <label for="notice-title">Notice Title</label><br>
, X# j8 ]6 J" B          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">+ P7 B, ^0 c% k: Z$ K) j
      </p>
& N  j/ p# t# J, [* r6 V1 k9 Q# `; y- E      <p>
0 ]( O6 h* W* m$ I          <label for="notice-content">Notice Content</label><br>( D* l2 B/ K- E& k
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
9 [3 g, c2 r$ `+ r* E6 h+ F      </p>0 h) b* x" M# r- m
      <?php
9 R7 A7 h( u4 {& V, f   }
9 S. I) x- b5 v' R$ g0 i
3 \* ]' Y$ |7 _2 M* p   add_action('save_post', 'save_site_wide_notice_meta_box');
/ U% j9 b/ o$ O! p   function save_site_wide_notice_meta_box($post_id) {
9 Q$ N; {9 Y/ G: Q0 R      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
/ L# T2 i  K$ c. k         return;
  k" x9 U6 M4 M' y9 w. @. h      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)" w  I& N6 C. O, t3 b2 R/ f) P
         return;) J5 G' `6 a. N/ E3 }
# R1 ]' W/ |6 ], o/ {+ `. `, Z
      if (isset($_POST['notice_title'])) {: R( n; _0 s" m. M8 X
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));9 ^" G( _& R7 X/ g0 w( Z
      }
9 I5 D5 Z1 s! ], W5 m      if (isset($_POST['notice_content'])) {
" b# x# g* M: [' W7 f; \5 C          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
) T) g3 w- H/ v. o      }; m0 G: _2 ]2 U! c9 G
   }3 W3 S6 I( c# s: t; L  \' g
   ```
! W. J3 @4 E1 v, |
) Z6 H/ ]# Y$ H- j4 A& T   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。9 H- T6 a* @6 K' _, V

3 D* R1 r$ i7 [: x( J% \5 F, [4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
5 o0 b) `! Q  q; @6 K9 i) j
+ K; L! W4 ~, t: ~   ```
; d& J& Z; |2 y6 j   $args = array(. O( @' f/ j& \; R
      'post_type' => 'site-wide-notices',
* d. h5 H1 [* u      'posts_per_page' => 3,
$ ~; A7 H2 t' n, [* {6 n1 Z      'order' => 'DESC',
6 ^+ ~  d' _7 {. t/ l  |' u5 `      'orderby' => 'date'
8 @. j  E& h! c5 s- O   );2 F: G* L; |7 H0 m$ W; k6 u
   $query = new WP_Query($args);' q  Z8 b2 f3 Z8 E" t' [; v
   if ($query->have_posts()) :
9 ^& r7 K  T- e# m0 B0 g      while ($query->have_posts()) : $query->the_post(); ?>" D" I  P, M$ E* l
          <div class="notice">; Y5 _- G4 v( ]3 s/ x6 o
              <h3><?php the_title(); ?></h3>
* b0 c; q8 [/ a" T7 o2 l  ^9 _              <div class="notice-content"><?php the_content(); ?></div>
4 v  M9 k9 p1 }* F8 t! e          </div># f7 a- Q6 R. H" D. u
      <?php endwhile;
6 u# `+ i" b$ \7 P9 X2 H% S      wp_reset_postdata();
% M" e4 H) B0 D' w2 e9 \   endif;
% m9 Y1 E3 Z) ?1 H+ z$ B   ```: l( Z2 @9 ]9 M$ t* Q4 a! \

' h! p; E1 t: _0 s' A, j2 b. \   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-28 00:27 , Processed in 0.078639 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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