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

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

[复制链接]

343

主题

556

回帖

3631

积分

管理员

积分
3631
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:8 W$ W) k6 L7 \9 z, g) W" z
2 Y- A0 ~0 E4 `, V! e3 ~+ F, m
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
$ @3 A: a+ J1 n+ h; d% G# s9 N
: ]0 E9 I6 }% {2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。1 G4 |/ P! v( U1 X- M/ W
- d. s. u% O* q; p
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。7 d+ S2 K& M6 _- S
5 `2 V+ r4 V2 O3 x, M
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
: q1 c- ^7 `- W# ^# N' w
0 J$ T$ t: o; L% k7 d注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

343

主题

556

回帖

3631

积分

管理员

积分
3631
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
5 ?  T2 }. c( R3 S) a+ p2 U- V4 F! w0 I1 t
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
" s# M* m5 o) h( V4 E) Q  i' ?# F5 I+ ^" T
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
9 C/ G% c* n- U  A. B) T4 M, d( @% Y$ U& ~
   ```9 t9 @( V0 _: F6 \: b
   add_menu_page(  U2 i. t+ A; _
       '全站公告',9 y: l! i4 U) W7 p) `% w
       '全站公告',& R  }: x3 `3 V9 J( x0 ~9 H
       'manage_options', //需要的用户权限
% F* W4 `5 t% I3 m5 B( g       'site-wide-notice', //后台页面的 slug
1 e% G2 c; P* I. A/ C# J       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
) U, I+ r, z( n# `       'dashicons-megaphone', //用于显示在菜单中的图标
% @5 {. X; a: b5 ]( b+ i3 Y9 |       30 //菜单项的位置
* J" P; n$ \& s+ H7 @+ O$ ~; Z   );
! U3 |1 @3 Q" }: G   ```3 r, M  n# k" X, D; L8 |

1 E! P1 ^) }3 l; ], W7 m5 B5 r# l+ E   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。7 S1 H2 l5 W% B  Y, {$ V/ G( Y

. u0 V: y9 y, r3 N" F2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:! \. f: `( p/ ^# G2 A! e

1 W7 L0 G9 Z: h6 K9 c4 _   ```$ k- a7 L7 n3 J0 x* X* y
   function render_site_wide_notice_page() {
5 i4 W6 X9 Q" D* J# K8 Y      // 渲染后台页面内容
/ r" }7 d2 a9 \- w      echo '<div class="wrap">) G& }5 R- _& t$ |3 h5 g
          <h2>全站公告</h2>
& A& d! g+ p3 k/ P: {$ ~& p5 X0 E) f          <form method="post" action="">" [% k1 o- n3 d2 u! B! I! z
              <label for="title">公告标题:</label>& j2 |; C( F7 X: a" Z
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>$ }9 Y- b* z) Z1 X( d9 R* t+ a% S
              <label for="content">公告内容:</label>
8 D* ~# t) h0 ^) }              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br># C2 R- p- K) D% W$ r5 S1 j
              <input type="submit" name="submit" value="保存设置">3 d& B; u  S/ c# u% r
          </form>7 N, J8 _9 B* }, ^) i2 Q; L4 I
      </div>';
7 W3 J" p- i" f5 u6 O' p# }+ ^4 x0 _9 z4 _6 O: S" |" k0 B
      // 处理表单数据
; }. T% ?* ]9 N: f, Y5 _. g$ `      if (isset($_POST['submit'])) {
  }& y9 y) w5 `( a" c! ^0 }" u          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
" R; Q1 j% C4 b  g  J" q          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
2 n* M3 U5 |5 I# Y$ v6 p( H: u      }
4 |. V1 S8 O, Q, q   }
3 l! X* X1 q* e2 y   ```
1 a6 r+ _4 n% U- Z2 V6 k3 u
' T6 J8 J3 o( m   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。5 o/ f1 \! M! i

, w. _0 w7 t: G3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:4 |; w9 O! Y6 N  L

, u  s$ J) H7 |8 o% \& O   ```
$ L$ P5 T- _) {   <?php3 J3 G8 {/ Z; P+ A( A: {
   $site_wide_notice_title = get_option('site_wide_notice_title');
) @* n3 E& M( l6 `& L# [; L" V   $site_wide_notice_content = get_option('site_wide_notice_content');
" @, u; d/ u* @   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
: k( p- b* y) E% `" t" J       echo '<div class="site-wide-notice">';
. }9 i& f/ x$ T8 B3 b       if (!empty($site_wide_notice_title)) {7 h2 e: Y' D% a2 C# K& F$ E, C
           echo '<h3>'.$site_wide_notice_title.'</h3>';
3 T) ^$ Z" ^7 }0 N       }
5 |+ v$ i( U; K3 n. ]       if (!empty($site_wide_notice_content)) {
9 r& G9 |# {/ @$ t/ V% t+ r           echo '<p>'.$site_wide_notice_content.'</p>';
- i9 p: U" J5 R$ ]6 M7 U       }
: ~, V  _+ u, C; E: {( _8 E* A       echo '</div>';! C/ z3 u9 l  u( U7 P* ~# K
   }! M" D! e) y) ?1 N+ p: E
   ?>6 {9 \3 Q( ?. V# _' F! W" j* x
   ```8 T% ]# o, V/ j/ R0 N/ O- P

5 M6 I9 c9 l- B4 |' {1 p; S7 y   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
& ~$ j8 W# d7 ?6 ]
( x: Y- D- A  a* Z1 i请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

343

主题

556

回帖

3631

积分

管理员

积分
3631
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
/ @6 Q# `- ^9 e; y4 i
5 z9 Q7 J2 A+ s% c+ X1 N/ W; q) X您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:% o; x" g( [' {
) Y4 A4 F6 k0 x# L" B
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
8 J) i- Y- I  a! u% K. i  l  P& z
; K  {  J" {8 w, x! d) E```
3 b' Y1 |/ D* [4 f( I' }* a  Ifunction create_custom_post_type() {
9 w1 c( s$ ^' t! H1 E% G    $args = array(
$ F6 S. w! V" U% W1 @1 [0 y        'labels' => array(9 \' p0 R2 V, @
            'name' => '公告',
! b5 P0 M* s5 J$ t            'singular_name' => '公告'3 h; m$ }* a, O1 ?, \' e
        ),
% F0 L8 D6 R" f        'public' => true,( N$ @  v/ m4 }- q) i5 C$ v& P
        'has_archive' => true,4 G5 g8 l" F( K5 |2 K( w' V. q8 s
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
! C& v0 `- Z6 ]& h        'taxonomies' => array('category', 'post_tag'),0 F8 A9 }# V9 H& J, _1 P
        'menu_icon' => 'dashicons-megaphone',* D& x+ S( E5 R' ?
        'menu_position' => 5,
+ A# p5 g) b+ {        'rewrite' => array('slug' => 'site-wide-notices')" C6 ?5 {& }8 t. m4 a( I
    );$ ]' K/ w5 k& @0 Y! K6 X
    register_post_type('site-wide-notices', $args);
" C( {  d0 E- w- ~+ i7 M- N}( H+ n, y* [$ q; i5 S- i
add_action('init', 'create_custom_post_type');4 B( T6 X3 d8 _
```9 T: w$ F& ?$ g+ F! \
1 S% T4 H- y3 }. N7 Z; W) g3 m
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。: j% z8 B; h0 e2 k3 e
6 v9 L: s/ G5 |0 |; U0 {' n$ m6 ]
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
* ]  q7 \& H' a- E9 I; c
' o4 G  J& o. w7 E3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
, o1 ^! w. I$ U* y, R5 E* `2 ]( j: @6 {' {# y' [
```# g  o7 s0 A: O! e4 w1 c
$args = array(
0 I) ~7 |" s" t" r3 F" W) J2 u9 O    'posts_per_page' => 3, // 显示的公告数量) E$ J+ B/ V0 F/ ]. a" @, K& \
    'post_type' => 'site-wide-notices', // 公告文章类型
' l4 _! G: ]0 a/ S7 @* S6 D; @    'post_status' => 'publish', // 公告状态
5 I& G5 a* p1 @' _3 h7 i    'order' => 'DESC' // 排序方式2 Y0 ^$ t% E$ y  Z! Y4 L
);- z+ C* D7 f3 D% f1 H3 V
- \7 X: P& D1 G% Q% }+ e. F3 w
$notices = new WP_Query($args);9 S2 a/ z. r& f9 w: N# \
if ($notices->have_posts()) :, e6 R2 e7 k2 J/ G+ c
    while ($notices->have_posts()) : $notices->the_post(); ?>
$ v& x% c" e/ `9 V" Y, n        <div class="notice">; ]; b% g2 D  ~
            <h3><?php the_title(); ?></h3>$ D9 x7 R, [  `& Q
            <div class="notice-content"><?php the_content(); ?></div>
7 U  e) R: g, S& i2 T        </div>
/ B4 n. C% v6 S  r8 l    <?php endwhile;
7 d9 d) g& T. z6 p) Nelse :' t3 h' ?  T! g& n( `* }' I
    echo "暂无公告";. F5 a7 P$ d/ D% n! g# D/ U
endif;
2 O' U& Q# O7 t& S* ~wp_reset_query();, J/ G6 m% @( {, {8 P. {' c
```2 ~6 R1 Z+ H6 `- g; }# C& _1 [
' x, t8 j; Q) Q+ q
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
$ {) O# Q6 d3 E' q
- H% g8 R+ m# y2 v( `. Y5 R以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

343

主题

556

回帖

3631

积分

管理员

积分
3631
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
/ V8 S) }1 F" X& ]4 P9 K" o
; x* z  s$ z2 F2 R( c如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。$ M* R* T* [0 z# |5 O$ N5 `# U0 r7 t

7 u$ ]2 |5 s3 G" T8 f% ^0 Q5 f以下是创建自定义插件的步骤:3 A+ V; \1 u) U. Q& n# {; Q
& ]/ e% U! d2 o4 U
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
4 r* B+ |/ Q; Y; N: R
: B- Z( r" \4 |. u   ```+ \9 v% e, l! o$ T
   <?php& @  {  E& W1 M) x  _; l
   /*0 B/ @3 P$ Q& w6 t# U" u4 J
   Plugin Name: Site Wide Notices Plugin. y# `1 j& w- q0 z6 K0 S$ k5 j
   Description: Adds a new custom post type for site-wide notices.
( h# O& y. |$ f! C( c' ?   Version: 1.0+ _! Q1 h  K( z* V
   Author: Your Name
! u" M, g! c4 I6 s( l   Author URI: http://example.com
, {  }2 b* p7 _   */
  `/ T) ?5 g# y4 [3 Z1 V( b& T/ ^  a7 V
   // Add plugin code here...( J& q  F# D  Q: ?, S$ \4 J2 K
   ```, ~0 {3 V" R5 l  J, h

2 c$ Y, A- @; @9 l; S; H: f( w   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
; _$ I/ t7 O4 p9 d$ @+ }" q& q; D
! D, ~; c8 O4 U2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
6 ?" T9 s8 |1 A( `  D3 j" m" w# F: O* ?+ Q+ c# k
   ```
  M  A1 E+ P1 }* E. L: i# r. h   add_action('init', 'create_custom_post_type');, {- n; y: T1 B1 c1 g
   function create_custom_post_type() {
: L& l6 S( d. b& G( R2 C' x$ E      $labels = array(
3 |8 X4 S3 J3 m/ ], v          'name' => 'Site Wide Notices',9 V& R! H% p& e) w# e: q
          'singular_name' => 'Site Wide Notice',5 m4 Y, g( m; r+ T  c
          'add_new' => 'Add New',+ n9 D# L* r  ]3 y; x' C% q
          'add_new_item' => 'Add New Site Wide Notice',1 f5 _. u, V8 y' ]9 [$ d
          'edit_item' => 'Edit Site Wide Notice',
6 M- i! x4 A5 I7 s. I, G          'new_item' => 'New Site Wide Notice',
0 ?1 e# [9 ?& j9 [) Y4 _          'view_item' => 'View Site Wide Notice',
: ^1 k8 z; {: r          'search_items' => 'Search Site Wide Notices',
" q, t: b8 }( W6 Z& n# e7 B" P' H          'not_found' => 'No site-wide notices found',
/ d& t  ~) L- D8 q2 o          'not_found_in_trash' => 'No site-wide notices found in trash'
7 z8 b8 V6 {9 O6 D. z      );) S# w/ t0 M) `2 @: ]0 M

& w/ z$ g- K$ ]. e      $args = array(: G3 v4 o: c" y) m
          'labels' => $labels,+ L" v4 U" j9 E& G: \+ b3 j
          'public' => true,) Y& l; e2 w& H: s$ w# j. L1 Q5 x
          'has_archive' => true,
4 T4 o9 F. z& ~9 u8 J+ |          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
% ], y8 t5 R6 Y4 O- K+ L          'taxonomies' => array('category', 'post_tag'),4 R1 u& B7 X3 S2 O/ T
          'menu_icon' => 'dashicons-megaphone',0 a; W: q, a! e$ f
          'menu_position' => 5,, A, v2 T& k9 l4 `
          'rewrite' => array('slug' => 'site-wide-notices')* H+ I" O' X. D/ u) c
      );- r5 a( _/ Q! |6 V' ?9 R2 ~+ B9 W

1 n5 a" ?- R: y- h2 t# T2 g* _      register_post_type('site-wide-notices', $args);
. N6 e) z- C* E( v2 I   }  P6 D0 K2 h$ k( L. D1 ?* M5 {0 P" }
   ```! f9 P1 S, a- B3 T/ V2 c2 B

# I9 D3 E! m9 }# @5 Z   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。& A2 e$ e( `" @6 k' m& M' G( B
; z6 H  G! Q% z
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
3 ^5 J7 m; V; T2 F- j& w* l& T
0 b& [( q' F: S& P' J   ```! g* r4 v' O8 f4 j
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');6 h: J( C. @) I: X
   function add_site_wide_notices_boxes() {
- p, W4 q$ v$ c0 \      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
5 F5 k2 x' Y7 i) P   }( U+ o$ [2 r2 W  K# `* Q

! I6 ]/ L, T. \5 C0 u   function notice_details_meta_box($post) {
8 Z$ ^# a* r, d  r/ C$ P      wp_nonce_field(basename(__FILE__), 'notices_nonce');; D9 G+ k& Q5 g4 {8 p: L
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
7 \' \4 c2 P5 ?- G, S  h! |3 w      $notice_content = get_post_meta($post->ID, 'notice_content', true);
( [0 ^$ p; n$ n- W6 G      ?>
, V5 y2 V# J5 Z+ z      <p>
9 U2 z* m  y. c0 I          <label for="notice-title">Notice Title</label><br>% I2 W; [1 g, P4 w
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
# s! K; h8 t7 X! f0 J      </p>
. X( S3 Z  v4 W6 [- }      <p>
! B4 G  s& M$ @* T% P5 g( O+ S          <label for="notice-content">Notice Content</label><br>( D( F0 b3 T" z* V
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
0 p* U2 k" f) T      </p>
! H9 W+ G  V9 {. c4 x! S      <?php
. R8 E7 d3 E$ r" t   }$ G3 J; d2 }7 x' W: T/ ?9 p
" J" M0 p& o1 w. K- N# l* ~1 F* q
   add_action('save_post', 'save_site_wide_notice_meta_box');
) g0 K+ S; b# G( j3 W" {   function save_site_wide_notice_meta_box($post_id) {- _: U7 E5 p! i* j/ t3 _6 Z
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))6 z9 x6 ~8 Z7 E+ f) I  q& k7 ^
         return;4 L$ [( i# X. H3 e
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)* C  E4 q7 J4 C9 v, h) v
         return;7 y1 g! D6 z* e$ z: O! q. A% P

, y2 _6 Q9 \/ z      if (isset($_POST['notice_title'])) {+ A3 N9 y8 L/ t, \
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));6 C- n- M& I4 i. E
      }6 Q9 n+ M" Y2 j, @) E2 H! N) A" w
      if (isset($_POST['notice_content'])) {
: o, j" \! V( V4 Q2 |2 O          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
4 `$ D; t4 g+ L" t+ W$ X      }* O) C9 {* ?5 f
   }7 u" H5 d3 F8 j3 Z2 Q2 {4 S3 L
   ```" }! @& i9 ]4 X, c% {

, ~7 ]! F' u3 y' b; F( N   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
  m0 X" u3 T! x# i! P8 S1 L2 P& R6 i# y
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
: z0 N8 K0 L$ f; D' r8 ~2 C
, x- }% |3 |' C# h* I  t   ```9 H8 S* {7 p+ {/ f5 b
   $args = array(; n" z4 G! \9 I6 t
      'post_type' => 'site-wide-notices',
7 {0 ~+ u$ z$ o9 A* n      'posts_per_page' => 3,
  ^( ^: g! I3 `: q/ n! ]' g      'order' => 'DESC',
7 Q& g9 _( h/ h/ q1 W0 z      'orderby' => 'date'
: S/ B+ _7 y* R3 N% p   );" h& c( O! j8 L9 O1 s! u  [
   $query = new WP_Query($args);% n2 p# V4 a% `  }. l
   if ($query->have_posts()) :
* G$ l% R# A! U      while ($query->have_posts()) : $query->the_post(); ?>
  t1 T% W4 j. }  @5 F' u" |6 X6 l: @4 n          <div class="notice">
$ R6 h/ A* a; M. |" J              <h3><?php the_title(); ?></h3>
8 f5 r8 E) c) s. }8 w# v              <div class="notice-content"><?php the_content(); ?></div>
. [: S3 \0 [. W! j; T4 k" c          </div>8 }+ m' X  O( [7 E- q; M# }
      <?php endwhile;
9 w1 V( Q7 ~( q& g& ^. @# B7 v      wp_reset_postdata();% u  |) X( P0 S+ R7 k/ Z
   endif;2 Q; c' l* f% v% @" _. w2 M, L
   ```- Y# i9 L- F/ n7 a& {/ z* |5 [
1 X/ I/ \! Y" i5 P
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-1 21:07 , Processed in 0.018135 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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