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

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

[复制链接]

347

主题

564

回帖

3679

积分

管理员

积分
3679
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:' e! e9 @) X2 B3 r; k- _5 ?+ h7 L
4 r& q' I; t+ J4 d+ `
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
) h7 h$ g- ?; M0 z; Q$ w% d9 O# r' [1 w; a
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
+ q. G5 r; s8 B$ @" J- a
* L+ \' L7 d/ m& F& L3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。+ D+ m: p6 t: Z3 y7 x  n
& e: Y+ j& e6 G1 R
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。4 _& u7 F7 v! @# b5 I) z! m4 B2 u
" @$ t' t  N2 Q8 Z1 A" O, @# i3 {8 M: i
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

564

回帖

3679

积分

管理员

积分
3679
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
. g0 S7 ?$ O! p& S" T6 o' |* z! F( ~8 P
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:( _) Y5 B5 y3 f0 L
# T% E$ M2 V# ^1 D. O& k2 @) D) \# d
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
9 g4 N1 W: p, Y$ k8 H+ \& P% f: ~0 w8 G! [9 g
   ```( g5 V$ ~2 D( x( h! z
   add_menu_page(
; Z) P9 N! l2 E* m& |1 v7 ]9 h       '全站公告'," U! [: s2 b3 M
       '全站公告',& k, x* M3 K- e: x
       'manage_options', //需要的用户权限1 K! L. m8 G/ |1 Q8 ]- F1 N
       'site-wide-notice', //后台页面的 slug! T2 b$ _! e/ g1 v
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数* Z5 G+ q0 M, \1 Q) ]& T
       'dashicons-megaphone', //用于显示在菜单中的图标
7 u3 d: ~5 x/ D" m) e) H  s       30 //菜单项的位置* A7 E( y/ B0 z# N, r& M3 y
   );
( h* B4 N' @! W) P0 {3 }" a   ```
8 W5 F! A4 }# @+ A9 @, a3 ^8 n2 G# l! G7 ?+ @' L- i  B
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。" v2 I* f6 v: b! v4 J

  Q  ~2 H9 _, _' c, X2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:$ y, {, }! ^. c- L
, B: {8 b0 I+ g; b+ @
   ```
6 `, M/ ^. H" u- n4 L& ?( X" w" g   function render_site_wide_notice_page() {" q, |# ^% p' `' V6 v6 {
      // 渲染后台页面内容3 c/ @4 X5 Q: c6 H  e/ @
      echo '<div class="wrap">, A$ k4 c- f; o9 m
          <h2>全站公告</h2>* a. S6 q/ V8 r4 Q: n& K7 Z5 d
          <form method="post" action="">  A% ?5 u# p* k1 N1 @
              <label for="title">公告标题:</label>$ J1 ]" Q8 F2 o. f8 n
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
: n. S0 q6 z9 K+ ?  a& Q5 r              <label for="content">公告内容:</label>6 q- l( t) y8 Z0 b& d/ B5 D7 M$ ]
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
0 j' I7 r" N2 B9 m              <input type="submit" name="submit" value="保存设置">. }" k9 U5 ]' j3 ~9 E# ]
          </form>. S2 E0 f% y" e& G$ K' v; S" C* j
      </div>';
! p' T' y( R8 ^% P- I  o  U- A
. `4 e; [/ i# ]' _      // 处理表单数据
  b/ Q" D, h6 B      if (isset($_POST['submit'])) {3 R% b5 M2 g" q5 G: s
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));8 {0 j( [7 }- i$ t6 B4 N
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
- o" t8 Q) F: q5 q! Z( E3 q      }" A4 R. ~, R) h3 D% S
   }
/ w* d; M& l+ Q3 b8 @. W% S9 p   ```; i% P/ `7 \/ E: }1 D7 s9 r# d

1 ?0 T  t  E; l- r' x# Y   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
- q. D1 ~8 R, H8 }$ C( v# R  o0 C/ |0 v7 b9 E0 }
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
; J. {" C' H3 C+ r1 v7 }$ m5 V3 w0 r7 L$ [) Z
   ```0 B5 y$ z2 Y- z' R3 ]
   <?php
, C- O5 I4 }+ t- G* z  w: {- U   $site_wide_notice_title = get_option('site_wide_notice_title');$ {' i  R9 U% _+ a! q2 a' N4 c( m
   $site_wide_notice_content = get_option('site_wide_notice_content');$ F8 j& ?( q6 w& c
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
$ _# [# p* R/ A; \       echo '<div class="site-wide-notice">';) ~- U2 ^6 A( l" ~& l: o% [
       if (!empty($site_wide_notice_title)) {
0 a* R2 X4 m$ R9 a2 v1 H% b           echo '<h3>'.$site_wide_notice_title.'</h3>';  ~& t8 V& U9 A+ Z! k, r" W0 ^
       }
$ U5 p- w) o6 ~/ v5 X       if (!empty($site_wide_notice_content)) {
( S7 O  u4 N9 D7 K: d5 e           echo '<p>'.$site_wide_notice_content.'</p>';; f. v, E) u# [2 a4 L  f, |
       }
- n) A8 \! N, ]" w* D       echo '</div>';
* A3 u7 m: V( a5 n& p   }
) x- b! t% ?/ ^   ?>' i' V1 L( X+ Q9 ^' q
   ```  Y* [& Q9 g8 n& H+ O9 I

( k* n8 \: k' l$ E   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。1 ~4 \1 s+ ~& ^+ g

$ W$ J) C. ^# T/ J& A请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

347

主题

564

回帖

3679

积分

管理员

积分
3679
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
4 E+ R* Q+ j8 i) m' J& a/ Z+ q, C5 C$ w4 x6 A  W2 r4 h
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:4 ^  u/ Z5 O4 Z

. m# ]( N" e! j$ R; o1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
4 d" z# D  m+ ?* g+ U2 N4 m/ B8 ^6 ?1 T
```
  S9 ?% H4 U3 E' e. u( S2 v7 o3 {function create_custom_post_type() {$ q2 T# \7 k" V0 s$ M/ c" a, x
    $args = array(+ F9 a3 f! f4 z8 n) f7 E9 e: M' t9 W3 K7 ]
        'labels' => array(0 n! }& m, H1 H9 O9 A0 _
            'name' => '公告',
  b/ o" ~0 t3 m" O* d            'singular_name' => '公告'
- T* {7 H: P0 s+ S7 B& ]' S4 Y        ),
: r6 _. D/ d6 K) E5 s3 m) l        'public' => true,+ j. w# q" `& Z9 P5 `
        'has_archive' => true,
  a6 F' t) J+ ^% O6 ?        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),4 P/ a5 |- H# i& J2 V
        'taxonomies' => array('category', 'post_tag'),
' Q  A( F" K! I        'menu_icon' => 'dashicons-megaphone',
$ p, M; d5 y: b        'menu_position' => 5,
8 m  ~( L7 Y/ e        'rewrite' => array('slug' => 'site-wide-notices')% X0 }4 C  S* L5 M& h
    );
& `+ I- Q! p3 O8 A) [5 i1 n    register_post_type('site-wide-notices', $args);4 h& Y1 z. O+ T0 Q9 m4 t7 _
}: P. s. q& a, `( x2 |
add_action('init', 'create_custom_post_type');
7 E3 b$ `/ {( V5 a1 Q```0 H# m, }( ^1 z1 B# N

: \, N; d" _$ ^; U( N6 W8 ]* J0 v在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。7 J/ e* a5 p7 W3 g

# a" u* d0 x. ]* a! v1 r2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
$ h" Q) D  F" n! U8 U6 @6 x3 p( o; T6 W5 u' B$ T. p% A
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
# Q# O' _, l. C
" b) q, V; Z7 C0 T```
1 W" F( i8 e% j: n9 J! L! s$args = array(/ }4 [: B3 i+ u2 F+ k: K$ M4 p
    'posts_per_page' => 3, // 显示的公告数量# g, |- A  L7 Y/ n0 Z# B" }* Z
    'post_type' => 'site-wide-notices', // 公告文章类型) T* I0 M( N3 m6 w/ i
    'post_status' => 'publish', // 公告状态; O8 h' Q5 y3 T% I9 H) e( n
    'order' => 'DESC' // 排序方式
3 @1 \& v3 ~& ^$ d! ]; {);
: v. Q$ X$ r5 E: T+ A" R# A  B" A" k  F
$notices = new WP_Query($args);! g) K, Z$ W" s' Z3 u3 y- K
if ($notices->have_posts()) :
1 p9 g/ t2 R* C  v    while ($notices->have_posts()) : $notices->the_post(); ?>
5 ?& h: b& x! G& [        <div class="notice">
6 f3 y# `! |8 t' D, K. Z/ Q& g4 p            <h3><?php the_title(); ?></h3>; [* b$ R2 X- U4 v% g; m, m; J
            <div class="notice-content"><?php the_content(); ?></div>
1 i' M3 J. N# @9 x        </div>, t7 _2 c3 {; ?3 l
    <?php endwhile;
4 @8 o. \0 U* w0 Z3 `  r+ Belse :% T' U" r/ W- ~7 y/ L) P
    echo "暂无公告";" v: ~8 K0 M# Q# k# t" {
endif;: V) S5 U5 I6 I
wp_reset_query();
! M5 X* M9 f, M5 |) r```
1 m# S1 K/ K. {3 u3 @+ r$ l, j7 R4 Z/ f+ ]
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。; ]/ B1 O; j" q* J' b# k. d
# S- b1 q: J% D
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

564

回帖

3679

积分

管理员

积分
3679
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
; ~; q  C' ]5 B' _! i3 n5 f+ L& Y
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
5 j/ s% B/ d5 i  Y
1 |& U% n. m" j  A) L; S, ]2 j& w1 c以下是创建自定义插件的步骤:1 {/ M' _, l# [; {# O' d
3 L# H- y! R. ]3 I  @( D- v
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:8 {, Q6 W9 w! q* Z: G

& R$ M/ t! `+ l' g5 S3 X. L   ```
7 ]+ O0 r' Z& w4 p6 X5 p/ Q   <?php5 B/ V* t0 ]7 \
   /*
  _7 a' h4 j0 c0 Y* e+ r9 w   Plugin Name: Site Wide Notices Plugin
( T# I* i0 K) j2 Q. f: _   Description: Adds a new custom post type for site-wide notices.
' m6 Z6 ~. k$ m4 `6 b; v   Version: 1.0
& b2 m$ q9 q( x! T' n9 _; b   Author: Your Name
) ^. V9 M: w4 q8 g9 `/ z   Author URI: http://example.com8 F! K7 b& ~! o7 C6 Q" Z
   */, ]  \: ~- L; {! K  G

+ C3 G) P* E) z; ?   // Add plugin code here...
6 P! ]9 b/ s8 Q, f$ P   ```
6 V  E8 |  W: ]7 y+ X$ l4 C- |8 y, a
) |8 D0 ~# v# O   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
: y! }) m! |5 g
6 v9 P4 P: K% ~* b0 t( T. J2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:# e1 j  h# E: H% x# D
/ V7 D0 w/ {1 ~
   ```
& j0 n/ {" u: G9 z& F7 F; K6 u. m   add_action('init', 'create_custom_post_type');
, \/ \  B1 o" R% I3 y. H- I6 f   function create_custom_post_type() {
7 y* G+ t4 c0 K      $labels = array(
* \# U, Q" _; T$ L# Q5 w2 h) _+ L          'name' => 'Site Wide Notices'," C: V8 A! T: Z2 H6 ]
          'singular_name' => 'Site Wide Notice',
, |# I. e7 Y+ {* d          'add_new' => 'Add New',7 F+ U+ y1 j4 N5 H! O. w3 ]3 a
          'add_new_item' => 'Add New Site Wide Notice',% t. b1 T. ]# _
          'edit_item' => 'Edit Site Wide Notice',+ L2 W0 l) }9 r( b- G
          'new_item' => 'New Site Wide Notice',
# [% i. f0 O+ h9 B' _          'view_item' => 'View Site Wide Notice',
% m  L+ A6 r. b" d" K          'search_items' => 'Search Site Wide Notices',* I0 V1 W+ c& K+ X" f- }4 }
          'not_found' => 'No site-wide notices found',
* `6 P8 q  B5 J# o          'not_found_in_trash' => 'No site-wide notices found in trash'4 N. i, i3 k& G8 ?6 {2 T. E
      );2 Q+ ?) g1 v; p0 S3 r( Q; N- F
3 A$ R8 ^/ o& c( `
      $args = array(
" C7 j4 w( F( F" p          'labels' => $labels,
6 p* Z1 v. _' o9 {: ~          'public' => true,
% B# q9 j: o, j3 K          'has_archive' => true,
4 [+ v! m7 H% A+ J          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),1 b, M4 ^: l2 G  p: L: a( Z
          'taxonomies' => array('category', 'post_tag'),
( K& z9 u  Q/ O2 y8 b          'menu_icon' => 'dashicons-megaphone',
2 ~3 }4 T3 L' {  M9 o# c: e          'menu_position' => 5,
# ?4 G$ \4 \% @; m5 c          'rewrite' => array('slug' => 'site-wide-notices')
0 H7 J7 d9 A, S. i% t/ o      );; Y' a( S' r2 H  \% l/ V

- [0 P- s5 x4 P      register_post_type('site-wide-notices', $args);, _- g! c; X' f6 I4 O- }0 c% F9 V, Z* G
   }; z. K' m2 ?/ h, ?! v/ Z
   ```7 }1 D  S4 J. C- K& u9 t
+ X% ^) s- d+ ^/ V
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
$ A5 J; X* z: [# h6 `
5 i( L, Z9 K) j& u( ?3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:9 \! L$ }( e# L, }8 e4 P( S

$ f' B7 Q. @# D   ```
: F, ]$ i4 [: d   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
7 Q# c7 F/ Q9 n- S5 ~6 [; I   function add_site_wide_notices_boxes() {
' L8 r5 O$ _/ _) F% [& `: a& V      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');2 y2 P0 [" |& x9 N* a. S
   }
4 b1 x& S& ?5 R* W- @. C
8 P: I. B9 s- c" x4 h5 x. P   function notice_details_meta_box($post) {, k6 A0 H0 o4 m) Y2 q% e. ~
      wp_nonce_field(basename(__FILE__), 'notices_nonce');6 `9 ^" v% E0 T$ w
      $notice_title = get_post_meta($post->ID, 'notice_title', true);- j1 c; s% @4 G' s& L
      $notice_content = get_post_meta($post->ID, 'notice_content', true);+ o; q4 Q3 h* y; S. ~4 ?
      ?>
9 k9 {% ]' A8 ~      <p>
1 t9 h1 }3 ~, j, u          <label for="notice-title">Notice Title</label><br># A$ q) [; k% S* F
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">2 m  \  ?( x) M5 m$ T; a! e# {
      </p>
1 n( o  d/ E9 U/ P2 @3 d7 a      <p>
" t$ D  I/ |5 m+ J2 Y' H          <label for="notice-content">Notice Content</label><br>
+ \- c7 L( w( p          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>! V: Z$ }8 U2 }% F
      </p>$ d! y! S7 j" f% D) u/ g; d/ p
      <?php: H; J$ H/ d9 v$ p. v1 E3 ]
   }2 _2 T  _# Y' ~: z: v3 O; {

4 z7 s2 @# X% F   add_action('save_post', 'save_site_wide_notice_meta_box');
3 z0 }5 H% [; B  D   function save_site_wide_notice_meta_box($post_id) {$ x4 K' a# |; s9 H! n
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))- K; ~' c& }3 g7 |& K' K
         return;
, @/ `, V! x( E+ E      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)2 \- M( ^  p, r0 O
         return;
! u$ s% D) m- i  Y, Z2 H+ V
& {- x9 O' x5 q% W      if (isset($_POST['notice_title'])) {+ Y% N8 m5 N- b4 x8 I6 Z4 {
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
5 r  b  i; b+ p6 f; _      }+ Z$ P; u, f" H
      if (isset($_POST['notice_content'])) {
" A9 [3 Q) [5 ~" j9 E1 s2 {' ^          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
+ \+ i  W/ ?9 b( s) C- E      }
5 {0 u- T+ U7 Q7 I   }+ v3 X( n' B4 R7 O$ R  q
   ```
5 F+ T1 D; O" K6 @: g- X, K+ H! C  r0 o$ Q; n$ r2 Z$ Z; o
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。0 t5 E3 ]0 W$ z' ]' M

6 S3 z6 I" ?. x! }. D6 n4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
0 a: y  c( i/ n3 j$ R1 |, Z
, x4 ^! X" K) E& b$ N& I4 X   ```
8 g. W' H1 {6 b8 z   $args = array(9 f, e0 c7 A- I4 k9 y9 l* `) F
      'post_type' => 'site-wide-notices',
) v" U! ~) b% W( ~8 H6 L      'posts_per_page' => 3,
* e3 ]  w8 r5 a4 d3 f      'order' => 'DESC',* ], U! o8 |  `6 Q
      'orderby' => 'date'
: l- ~% g7 m! r: f; A8 X  a" A3 ?# ]   );
4 [: e& u- F8 H- \   $query = new WP_Query($args);
, E( {0 d) ]! J7 R+ l5 j   if ($query->have_posts()) :
, x* C0 D$ Q+ @; Y* r. \2 `4 d      while ($query->have_posts()) : $query->the_post(); ?>1 G# w' `( s  k  ^
          <div class="notice">9 t% ?# T$ F6 B! m7 c
              <h3><?php the_title(); ?></h3>
/ w1 M. q# }. B# a8 V! \0 z$ Z  t              <div class="notice-content"><?php the_content(); ?></div>& f9 U% j. E9 u7 x
          </div>4 v7 b1 \0 X  H6 @# t2 Y8 n8 b
      <?php endwhile;
4 @# Q2 L  k, P2 }" w      wp_reset_postdata();
! J; E9 Z$ B& Q) b! b   endif;$ i6 f5 [5 a9 Q0 V8 I: H: B
   ```
1 P" m+ v" q+ b5 p7 q& A: S* @8 @2 z7 G5 X8 l. }
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-10 05:17 , Processed in 0.013427 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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