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

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

[复制链接]

332

主题

513

回帖

3376

积分

管理员

积分
3376
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
( F  _; f) L, `- D. o* j
5 k& U$ R2 B, \7 t9 u$ r1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
1 y1 x0 S( M0 Z' N3 l
2 C6 X: [5 L" b/ }  T6 u2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。+ s+ h" h2 m; |) d+ j
. ^$ B( Z; U; R" g
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
8 }* U3 Q' B$ I, g5 @. |7 P+ R$ c2 V, i
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。; S+ e0 E# M; m8 A8 f* `9 y3 Z

1 M% E$ a3 [1 a, [3 r) L注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

332

主题

513

回帖

3376

积分

管理员

积分
3376
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
0 S+ O5 p3 Q1 g" F2 _1 }; J2 ^5 W3 y9 P& Q  R6 U
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
- P0 x+ [8 J  Y; q0 ?6 _3 Q- E+ p& C' V' w0 [. l+ H! H7 ]
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
/ \' ]) p' s4 O2 G% [0 y3 |# {3 F6 r# x& I
   ```
& B! V  o& x+ w% [; M4 ?   add_menu_page(
- q6 |; a4 Z7 N" T       '全站公告',
: G! i% v9 m$ J" D* F       '全站公告',
* G& x3 D9 `: y6 W1 n       'manage_options', //需要的用户权限
; n/ Z) s, m! H, Y, V1 v- Q       'site-wide-notice', //后台页面的 slug
2 ^; L& `3 M  ^, `3 ?4 L       'render_site_wide_notice_page', //用于渲染后台页面内容的函数( e$ E6 e! t) `9 m& c# o
       'dashicons-megaphone', //用于显示在菜单中的图标; X, [2 R' S1 D$ h2 r
       30 //菜单项的位置% `- J/ Z; J; R- j6 e
   );$ T! W# ?& d7 u5 e* X1 z
   ```
4 {4 Q: c, D/ |; k* |
3 I" y& ^$ C+ Z, N  B% w/ R   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
8 F) j- G! x6 B- ~* W
* m% w" a2 k  D7 W+ \2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
4 {4 ~( s: J& T" R
$ C6 a. w9 G! [& E   ```( t% P5 k# a- |. z4 @- Q! I' f
   function render_site_wide_notice_page() {
7 y" O% o" ^% E* c      // 渲染后台页面内容
5 ^( x' u8 V, q      echo '<div class="wrap">3 L0 ?+ x* v9 ]4 K/ q0 I
          <h2>全站公告</h2>
  C1 o: O* h/ l( q          <form method="post" action="">
* F4 j( J. d4 W- b/ J5 j  _              <label for="title">公告标题:</label>
: w$ O# ^! _6 E% h; b( ?: [1 {6 n              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
4 N# d$ c& Y% \; ^& Q              <label for="content">公告内容:</label>9 Z' f1 Q* B# e' d/ \2 V1 L) b! x0 T
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>3 C  m) o9 E: l& `: N
              <input type="submit" name="submit" value="保存设置">! l& M0 `$ X/ u8 n
          </form>8 c& Y, H7 G/ ~# D3 g
      </div>';
) `7 C% S7 l# p7 |
/ y5 n/ {9 _# v  x/ `9 n) ]      // 处理表单数据+ k- k! P: V/ S" \8 W
      if (isset($_POST['submit'])) {
. Z3 t5 \, b$ i$ ^) f+ t          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));; {- A. O/ q  x( m: h
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
0 w) G* |" u1 e' I      }5 [& h9 Y" m3 L9 u8 r8 e
   }
/ o/ {. o3 M: G+ J' [   ```
1 H0 }- a- B* ?' G. H/ @* a. e& U2 Q: s! e5 w0 \+ E
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。1 X" C+ p# k+ d" V  \
" e" F2 r2 a( H: K, r* j
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:6 C$ m, h* j; K$ X, \5 y- @
2 M% W- x2 M2 z5 e) o' ?# U
   ```7 w  j3 p4 [. }" H- \7 M
   <?php
7 q2 o6 q8 J3 p' S* O" k   $site_wide_notice_title = get_option('site_wide_notice_title');; w7 I3 d' j8 J
   $site_wide_notice_content = get_option('site_wide_notice_content');: \& \( S" c  C  {7 Q
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
9 \! }. Z$ K$ ]+ W       echo '<div class="site-wide-notice">';
' K9 O% n2 c+ V' s* E( ^       if (!empty($site_wide_notice_title)) {
% f' B0 b- g1 T' ]           echo '<h3>'.$site_wide_notice_title.'</h3>';
2 S* S% x) T% m% v/ Q' p7 H       }
- ]$ Y: w+ l- m       if (!empty($site_wide_notice_content)) {
1 ^" H- {" _; X! k0 T' ~9 i  y* b           echo '<p>'.$site_wide_notice_content.'</p>';4 I1 d! d, O. H; g# o, s. r" I
       }
) x! y  ?6 S' B9 U! I4 i0 i( d       echo '</div>';
) k" V6 O3 y: p( F7 W+ a: n5 y  ~   }! e* d9 r: X2 H+ b( F$ _: e. o
   ?>8 V" d. Q5 t$ I) u% D7 h
   ```
7 H- n7 M& E3 f+ r
$ \5 m8 M5 N% C# _4 v, r) e5 R   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
, A8 \2 ~" t3 y% \/ }0 [- d
" v6 T' }2 L0 `) Z6 W请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

332

主题

513

回帖

3376

积分

管理员

积分
3376
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
0 f/ T' P; e3 Y$ J
' B1 e- M/ w1 W3 [/ \" V; _) R您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:* H% O6 J! x' c( }

( l8 _: Z2 j) g4 J/ [1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:5 L: m. n( ?0 F3 B* f) D, h

/ f% w8 L2 z) {: z. k1 k8 L```& z$ }' c6 h  L$ ?0 o" S
function create_custom_post_type() {% _3 n% P% N4 e) P( u! B
    $args = array(! ~0 z9 E  C5 e% T% G
        'labels' => array(
( x2 _" s$ U# m" Z) ^# e* X; |5 q            'name' => '公告',
" y( y. i# j7 _5 ]* Y            'singular_name' => '公告'% d, b' i$ M2 `* w: ?% G" [! H3 H
        ),
+ [( J: c- R& M% g, Q- X; J1 `        'public' => true,
) m3 x- ^5 i7 C) B        'has_archive' => true,0 I/ J5 z5 ^( I6 c4 L0 C, Q
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions')," u! |, H! ~1 Q. {" N' S) k
        'taxonomies' => array('category', 'post_tag'),3 x6 M  r8 d2 o& P  R; g
        'menu_icon' => 'dashicons-megaphone',
" R2 n2 }9 {5 a/ R" N        'menu_position' => 5,3 l1 ~  S. B8 Y8 g) h# e! t
        'rewrite' => array('slug' => 'site-wide-notices')0 ]6 {. o* R3 W( f
    );
3 n% Y, L: V1 }* T    register_post_type('site-wide-notices', $args);2 T+ F; Q) e; l) t
}1 T& |; ?5 J4 Z6 p
add_action('init', 'create_custom_post_type');
5 E  a: Q+ ^  \. b```
# j9 a- Y) }/ ?' _, h. y1 B5 |) |. n- k* [3 J
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。; w- ~2 N. ?5 H2 \1 \. i
1 S6 l; {# Z  b% E' w
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。# U) S7 j- N& S: I1 t4 ~; Z
) ^6 V" M; ?1 ^' C" m& I( y' _
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
  J% q5 |, O9 o! ]) P; [" K+ K
7 @7 l8 T5 O; d1 R% x0 A1 N```
5 Y6 F! {. f2 ?+ `4 ?3 D$args = array(
0 H; E; Z( Q! `1 J    'posts_per_page' => 3, // 显示的公告数量
. N5 @/ y7 @0 u+ K$ w# @0 S  K$ c0 [    'post_type' => 'site-wide-notices', // 公告文章类型
( a2 T4 U' ?9 I1 p) Y9 T    'post_status' => 'publish', // 公告状态
# q9 o& P  x, o5 E    'order' => 'DESC' // 排序方式
/ Q: A7 @, A6 t5 `2 y# r+ ]0 S);
7 N2 ?' @+ s6 N9 ]' M+ s
6 s( v: w& S9 B% T9 c' `$notices = new WP_Query($args);
7 b: b1 u4 a* u" Hif ($notices->have_posts()) :
: K0 U/ r; b0 @. Q! S    while ($notices->have_posts()) : $notices->the_post(); ?>, Q1 P: d0 O5 H( q0 Z
        <div class="notice">" _& U: Y6 a* ~$ Q
            <h3><?php the_title(); ?></h3>
* q0 w9 G+ Q, O6 t            <div class="notice-content"><?php the_content(); ?></div>
3 \4 g- m; y5 p+ K8 \: V        </div>
3 X; h/ D4 t$ u$ m    <?php endwhile;$ c! {0 R4 I, Z$ {
else :
) n  `4 S" z1 a- u+ N5 O8 E% F$ }    echo "暂无公告";! K$ V2 ~. R( l+ H
endif;2 t% S. T  m4 h4 s
wp_reset_query();
$ s5 k2 @! ~- M- @, L: [```$ S: z6 J5 Y) v& J2 u4 ~# \5 C

* t8 j2 |5 o% v" s* {9 v9 r这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。. {1 Y+ l5 T# b5 _

! Y2 A0 k4 Q( G- ]9 O% R% d8 {1 o以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

332

主题

513

回帖

3376

积分

管理员

积分
3376
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
" a* O3 q# \8 _" p* d+ I! T) T6 o9 i7 m. Q* }) v5 v8 P
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。9 L$ m' M1 F5 p% o

. R3 s' j% M$ u以下是创建自定义插件的步骤:
) X6 {; K- v2 }! p' L" @
( X. {8 o, _3 {" a1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:! R" n' \( N5 y* T, ~7 f: Q
0 ~& _4 C" J" `! s
   ```; L; b! u1 r$ I+ X$ M; l
   <?php, E# o' Y7 ]0 I
   /*
9 L4 K, _, |( j0 p! v5 F! |   Plugin Name: Site Wide Notices Plugin. z- k+ s) A9 f  E# k, {* w
   Description: Adds a new custom post type for site-wide notices.
/ Y; s1 e, I& m  d4 W' p( X) S   Version: 1.0* ]3 a1 M6 Z) @) W( L9 t$ n! k
   Author: Your Name
2 N2 p/ ~/ I3 Y0 `3 k5 X6 b   Author URI: http://example.com3 \. h2 f  E) R/ g
   */
% {7 v3 f8 t  x, w  A  Q5 ?$ b% L! O2 @. ]
   // Add plugin code here...7 A* C5 M1 Q. o4 v
   ```0 r% V, m) ~( B( m* X7 ?
; E6 a0 W" E8 D7 `+ N* Y' O
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。5 S& U# K7 [3 Q% l/ P  H

/ h8 q# T. ^' s1 N9 d2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
3 {$ ^9 T- k) n- s4 L+ I/ i/ F8 W) g& S7 y  H
   ```
* s  M2 \' i+ R( p; b   add_action('init', 'create_custom_post_type');( T/ M8 k8 H0 {& g% F" T5 ]
   function create_custom_post_type() {
: g# b. g2 }& @      $labels = array(6 B  m1 F  s, Y, H% C
          'name' => 'Site Wide Notices',& W) G3 E  ~- {7 n4 |3 ?
          'singular_name' => 'Site Wide Notice',1 C' ?& m( w* H$ L. ?* h
          'add_new' => 'Add New',
: ~8 K( x! T% `! i( O          'add_new_item' => 'Add New Site Wide Notice',
2 a7 ^8 P/ U( G. ]8 p0 M5 C3 c          'edit_item' => 'Edit Site Wide Notice',, k0 j/ L6 |& }% p8 L1 h/ A' ^
          'new_item' => 'New Site Wide Notice',+ ]% R: t- d1 x3 M4 ~- A
          'view_item' => 'View Site Wide Notice',) |5 w1 D3 U  u
          'search_items' => 'Search Site Wide Notices',
! r; |3 L( S+ C' \' Q" n+ v4 M          'not_found' => 'No site-wide notices found',
2 W; z# {' ~4 F. |          'not_found_in_trash' => 'No site-wide notices found in trash': g/ {$ ^0 o! }3 R
      );
# w2 Q  [& G9 l# m' o( W
2 z9 J. ], T2 J9 A+ M( z" l  j6 \      $args = array(
5 H8 ?- b3 ]4 X9 y! Y          'labels' => $labels,* T8 l% _/ \- h, ?' ^( V
          'public' => true,0 p/ G- l) ~0 ^( H' ~# B
          'has_archive' => true,0 N. z1 \+ `: O% v; F6 `# A8 y
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
% |1 B9 J1 ~6 k5 t8 {  b) o          'taxonomies' => array('category', 'post_tag'),! ^. U  S  A& _$ X; h, g
          'menu_icon' => 'dashicons-megaphone',5 O- ~8 B! L* [. ], Q
          'menu_position' => 5,
  |- ]! A" T; A- `4 r          'rewrite' => array('slug' => 'site-wide-notices')' E+ f5 F; S9 b7 q* D2 {
      );% s, M: q4 q: `. C
. j$ v$ S7 q. ~- [; d- s
      register_post_type('site-wide-notices', $args);% p+ D, y9 f1 a+ k: F
   }
1 G( d1 d" V+ T% b4 v1 N   ```
' G/ V. x5 B# z, j; v4 q
4 T& t+ k8 M0 b4 s* ]   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。( H5 P9 {- f6 s2 t/ v/ ?; ^  f

4 j* P( D4 F- k9 Y9 {; Q# D$ |3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:4 K0 N' N) H  H* n4 n+ h3 S

6 Y8 m  V: B4 }2 A( w7 ?+ f/ J   ```
5 M% r. l8 Y7 _4 `" v& L   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');+ L9 u! Z; G+ Y0 S, m
   function add_site_wide_notices_boxes() {1 S: f/ ~8 I6 j) I3 ]' z7 K* ^
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
% b, `4 b* D" P0 i# V" S   }
; I' X% t, k0 f3 u. @, m0 ]5 H- G1 V# o/ z& `* ^$ [
   function notice_details_meta_box($post) {
6 g, G6 I; e! h% \) l      wp_nonce_field(basename(__FILE__), 'notices_nonce');4 d% ?. p5 a/ @: `0 `: M0 [
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
" ^- r. N2 I) T5 ^! ~+ k      $notice_content = get_post_meta($post->ID, 'notice_content', true);
0 B$ S' ]6 ^( R/ m      ?>
5 a" z1 u4 X) }2 ?      <p>3 Y1 D( F2 ?7 Q8 n, @* N  J
          <label for="notice-title">Notice Title</label><br>8 L  B" g: ]: m( i3 V& w
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
& D6 O3 z8 d( J  x9 k      </p>3 x! S1 @/ j4 w) M. r+ x
      <p>; [' A8 |" u# m4 _, o6 C- C
          <label for="notice-content">Notice Content</label><br>
  n" l, h& R" r: Q4 u9 }          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
  ?; c& e& Y2 @- t3 }! K      </p>
) j/ A. V$ _4 ^$ V9 q5 X8 W      <?php, F4 N% b" [3 S* v4 \  l
   }7 w; M6 `, R3 t2 h
3 D7 J: V9 p! \- F, D
   add_action('save_post', 'save_site_wide_notice_meta_box');
7 h9 f2 q. z) ?+ ]8 W4 x; R   function save_site_wide_notice_meta_box($post_id) {
) ?: `: z* o7 F( b* _- I) _9 E      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
0 n, F* |9 S) {) d/ O6 z- O         return;
6 F3 @. y! j; C9 j) k; ?! F      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
5 r, ^& h6 R% Z* z- k# \. `) i         return;6 z+ l5 V! u5 V6 ]
) f( R" E- m7 M. D
      if (isset($_POST['notice_title'])) {
6 Y4 X* h, P4 y0 \6 L. O          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
5 V' t: z( y: A% X9 Q      }
8 M; Q$ ^7 }: I  J) o  S" S      if (isset($_POST['notice_content'])) {
# M- i) C# k' N          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
4 V' E8 B5 |/ G      }
, T: P9 l1 L- w! k% s. p) Q* Q2 @; \   }) ^' R9 ?& w+ C3 C) w, s+ I+ i6 r
   ```
% `8 T4 N# o6 j- H0 N# `
: g2 h; _; [: Z" L, P   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。- M1 `2 T- H3 m2 c* w& _) ?

' }# D# O; I: I+ u4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:3 a& ]  ?& N5 V* F8 X
5 ^% X! F' ?( K
   ```
7 m9 ]4 E' D* T; }9 e1 Y7 ~, m   $args = array(2 I. s4 c4 `) v8 i$ H1 [
      'post_type' => 'site-wide-notices',, u- I! E$ N. b4 X0 \. [/ V! G" A
      'posts_per_page' => 3,' B, s+ w+ ]$ t2 x1 R
      'order' => 'DESC',
- E0 o3 ?: n. ~# a3 T- ~      'orderby' => 'date'
% u7 J  o9 h7 ^$ e) p   );
0 V( P& M$ W3 q  N) T   $query = new WP_Query($args);
3 B7 z# {% i. b; X   if ($query->have_posts()) :8 |6 o4 c$ k( A! R0 |
      while ($query->have_posts()) : $query->the_post(); ?>! N4 J* s3 C. x" b. C2 v- Q
          <div class="notice">- r$ P+ t4 n2 z& ?8 j$ H2 N
              <h3><?php the_title(); ?></h3>
) c2 u; ~# F" W. O1 o( b              <div class="notice-content"><?php the_content(); ?></div>0 P; g1 z! p5 C( |2 b, c
          </div>2 N2 C( W0 W7 b9 z
      <?php endwhile;
) j' o8 Y9 S  n4 T+ a, f: R, R4 |      wp_reset_postdata();  \( {/ G8 S/ w& |
   endif;
0 S5 K6 {% t+ O8 h1 o- L2 t   ```
" Q& k% M: s( N  Q  W* W' n
" z, ~/ |' @; t+ M1 R& g   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-26 10:44 , Processed in 0.080448 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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