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

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

[复制链接]

347

主题

565

回帖

3685

积分

管理员

积分
3685
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:! N4 k2 }6 l1 B! K
% V( s( d/ ?: D' N3 F( u8 }
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
  j5 h2 ], |# o# O9 q! U7 ^" ~8 R' H1 F% {# S3 m& C  L
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。' h& n! g; K2 V) ]
. c. j1 Q& R7 p0 @6 K
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
9 o& k/ n! [0 L' ?6 m
# t  E. ?6 K. Y% \! N9 m4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。8 o% U5 H  k$ z8 T3 r6 o

( E1 Y& p5 Y7 E# I9 A/ `注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

565

回帖

3685

积分

管理员

积分
3685
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
2 i9 ?- b' D0 w7 z$ G5 L: ^# v: i* q* J) A* s
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:- c9 a1 Q: p' F& T: `9 z
& X/ y: ^' n! ?; a6 ?
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
) N# Y" l6 l: L7 \
* z+ ^0 @! S5 h# T$ `4 C5 ]: ~: L   ```
: L  s+ _8 O9 S. S  P! W' n% x   add_menu_page(
1 e9 C, }+ F$ k0 W" q       '全站公告',
% n% ?5 i+ y/ U( Y4 A       '全站公告',7 w3 H$ Z2 S2 H- C5 N
       'manage_options', //需要的用户权限' K# U8 I, ]1 C% C" r8 a$ R. |
       'site-wide-notice', //后台页面的 slug2 G2 Q5 F( g& n+ \; J
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数, b9 l5 L5 e4 n5 h  D
       'dashicons-megaphone', //用于显示在菜单中的图标
) v6 F; w/ j- f2 A  r: A       30 //菜单项的位置, S6 L% k0 E; x0 O) ^
   );
$ A) Z  w3 h' V  c  ?   ```% p" D5 {2 G4 \, \/ a6 |) s
' n4 T7 W9 L5 Q5 V* Y6 J
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
7 A, V9 ~+ A) S+ z8 b# v; P; d+ c
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:% m& ^2 o% E4 e3 J

8 M% u. {$ l' f; C   ```
! A" ~# |* O. p   function render_site_wide_notice_page() {
7 c  r) t- }2 ]3 \5 B      // 渲染后台页面内容4 [! n- O1 @" v. Y% m  D
      echo '<div class="wrap">4 K6 c' a1 q/ [8 {
          <h2>全站公告</h2>' c. f) r0 p' ~0 P
          <form method="post" action="">
( b$ T6 r  m7 V/ Q) j  ~              <label for="title">公告标题:</label>
9 P5 Z5 l" m7 g* f+ {  Z' c              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
" x; F& z3 m+ H              <label for="content">公告内容:</label>0 j2 \8 `5 T+ O8 _
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>0 ?5 d& F; J  M! ^
              <input type="submit" name="submit" value="保存设置">
. q3 l4 Q, N# o          </form>
- ~! f) }; {* D* a      </div>';7 y, E9 I0 b. U1 z$ R& T/ K' _

6 Q1 _7 @6 H; j: ]! r* S  [' D" Y/ q      // 处理表单数据
* ^8 P8 \- z$ T; r      if (isset($_POST['submit'])) {
! _0 w. n7 f$ m          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));% S* ~# e; l3 ~+ V" o# i! p
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));( A% i! B6 b! s
      }
$ A5 n* T( [! ^- X3 K/ M4 J0 T& c9 N   }
. l  Z' ?  C5 i* x   ```
: ?) m/ N  Z3 N1 K2 b0 a( `, W! ~/ ~# E. J; z5 J
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
3 A# P9 F  C; }; a
+ D  A* Z- B6 ?7 G$ ~# U6 g3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
, y5 j5 t( d, ?. I
* M8 @# g) s* ?% _4 z3 K   ```- j! r/ f2 `+ ^# ^
   <?php
/ b+ [( D9 R8 l2 s4 E9 _1 F   $site_wide_notice_title = get_option('site_wide_notice_title');
4 T, t* k1 a& s5 I/ W   $site_wide_notice_content = get_option('site_wide_notice_content');
3 \' n: h9 Y8 n* c7 m# E/ U# U   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {3 z" v1 K3 p" x* K6 N+ s
       echo '<div class="site-wide-notice">';9 v( s# k# {* I* w& d6 A
       if (!empty($site_wide_notice_title)) {
0 \1 }3 k( u8 ]           echo '<h3>'.$site_wide_notice_title.'</h3>';% K. L1 M& H- k( y
       }3 N* j( N7 _' g' b: M$ @* Q; J
       if (!empty($site_wide_notice_content)) {' h/ E+ r+ e1 _& N+ J6 D
           echo '<p>'.$site_wide_notice_content.'</p>';! q8 T! J, ]- ^- g' m$ Z
       }% [8 t5 O6 A/ {3 P( u( U+ F
       echo '</div>';8 `7 o: {- c& u+ B9 z
   }
. @) ~* @' J8 k! L& D   ?>( Q' z; Y6 ], Q. Q4 D( s" n
   ```- g( t" U+ a4 H$ Q
1 }* g8 d' [6 l0 u3 f
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
3 K0 W, n4 Q- w6 n" l0 @0 i. @4 i5 T! i5 i
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

347

主题

565

回帖

3685

积分

管理员

积分
3685
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?7 _6 q8 X9 i  H0 @1 W( a

1 P) I8 W1 C. k7 T" H' Y您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
7 G; V3 O- C% p7 q
6 T. ^' l! g( \' W! m: f: }8 t1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:, o* y) r8 D) [. ~# Y- N9 t7 J6 S
. K, f8 t" n' ?( J% D
```. u/ `+ ?( _7 ~: J- p* w1 m. B3 v
function create_custom_post_type() {  Z* A3 Y( t% K" Q+ s5 X
    $args = array(
3 _! s* X# F- b- O/ l. T; u- E        'labels' => array(
1 E8 j8 @) ]2 ^/ B8 ~; t            'name' => '公告',
# U- m8 M9 S* Q# ^; z" p            'singular_name' => '公告'
' r* |% h0 W, x1 u        ),  H9 f4 y, r3 ]9 r
        'public' => true,* ?) N. t2 b) i
        'has_archive' => true,
8 B5 @+ V! g: [$ ]3 Q" Q        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
3 U2 \- n/ v: i) z        'taxonomies' => array('category', 'post_tag'),. h0 Q; J. Z4 I: F. v; f2 F8 O: C3 I4 R
        'menu_icon' => 'dashicons-megaphone',
3 I! E$ F2 U  U3 [( A) U7 _        'menu_position' => 5,
9 M4 ^! r1 {% o) j        'rewrite' => array('slug' => 'site-wide-notices')
) i9 Z) M2 b8 Y/ t4 I  {3 E    );
& W: D0 ~* d# H) E" l* h3 x* G    register_post_type('site-wide-notices', $args);: v) i! ]6 X, V9 t
}
3 r3 w" S# A0 Q6 `+ ?add_action('init', 'create_custom_post_type');8 r2 i2 X  \; j
```) X* @: X& `4 k* P( C, G7 C
$ v5 t. m) C! k/ Q0 r
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。( R4 z( {+ l& r6 x

" @! A/ x; ]6 ?; K" y2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
, V" f4 S# D: t
% T% C+ @$ Z7 v4 Q! b4 k3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
! W; t4 Y, @7 M- m  ?6 I. R  H1 [0 w6 @+ U$ n' W8 W. c$ S) g
```5 T5 v* M7 }/ R, Q9 U0 X
$args = array(
- H, U  h+ h: d* i    'posts_per_page' => 3, // 显示的公告数量+ {. V4 \% I! S' ^
    'post_type' => 'site-wide-notices', // 公告文章类型1 i1 A: @4 W. O; ^
    'post_status' => 'publish', // 公告状态
  X9 U% G; L  P) p$ m& T# H    'order' => 'DESC' // 排序方式
; |  g; @+ ?2 T$ P);/ v$ I! G, e8 B* o0 {

7 }* q/ n% H# }  ?: d7 N6 K% w$notices = new WP_Query($args);
1 p* a. O% e5 f, b. Z9 Rif ($notices->have_posts()) :
6 B' U* f, D! L7 N    while ($notices->have_posts()) : $notices->the_post(); ?>1 u% ?' e/ c: p9 M
        <div class="notice">
9 o6 V* U8 W9 U; c* Y            <h3><?php the_title(); ?></h3>
1 `: z8 t/ u/ s0 p            <div class="notice-content"><?php the_content(); ?></div>
8 ^4 I& o- H: o9 l; k! s) v2 b        </div>
  C" D2 L3 W4 C. c# k  R    <?php endwhile;
: O$ X! C% E, K; N& S5 welse :/ v2 l3 U$ q& u: s/ x* M+ n
    echo "暂无公告";
2 k- l5 B, C/ {$ u" q/ uendif;
, R3 p# T0 `  A& gwp_reset_query();1 |0 z3 e0 W3 m+ S2 b, N' l
```
8 b) I1 K3 G8 `5 m8 `7 D, o1 j) s( S& @2 z4 k
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。+ V+ Q1 `+ l$ h
& R! a/ y) m; z4 e& n5 g0 x
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

565

回帖

3685

积分

管理员

积分
3685
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?+ z" F+ e$ p8 \& H$ C
  [% S$ I* J& T) O
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。- o: l: i) t  ?* ]3 z
5 g* s3 Z1 |" s3 K. A  E3 C
以下是创建自定义插件的步骤:3 ^4 U9 v6 z, \* Y3 d8 M; _* A
+ p# {" U% D! E; S9 |
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
/ J: k4 c; R* D. N0 O
( E4 a+ K/ X  k3 u  F% w$ b   ```7 z4 R. c. d; ^/ f/ R' g
   <?php
7 M% q) K" I" T7 d$ Y) x. v   /*+ D# b- `9 e# [; Z/ l
   Plugin Name: Site Wide Notices Plugin
/ _8 I; O( T0 `$ s5 S   Description: Adds a new custom post type for site-wide notices.
4 S' @$ j3 K. |% h   Version: 1.04 m6 j8 Y, i4 j9 \5 B
   Author: Your Name
+ g  o& R) o( _6 }5 B   Author URI: http://example.com
& b1 z- {/ a1 H  k9 U   */
4 }" h& M* l8 b- D! ~1 r+ r5 S# A. F2 u) ?
   // Add plugin code here...* J  k! h1 V4 h
   ```
/ F( I2 `/ w) }' C, P" ^, u1 W" k+ y5 k, q
" |3 w% W# {; v9 j   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。; Q& m3 X! |) ~& ^
# X1 l4 q9 x" }4 g  R
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
! J6 y- }- R; c5 \. S% s" @& V* L
/ J$ t% i! l0 p0 G# N5 J   ```
. C) T1 l- f/ |7 s   add_action('init', 'create_custom_post_type');
' m7 r. ^) Q8 T' D1 Z   function create_custom_post_type() {  s3 C" Q! C4 J3 y1 L8 Y- V
      $labels = array(
0 e. u; b5 G" h$ \5 I          'name' => 'Site Wide Notices',
3 n7 f( S8 _! {. Q          'singular_name' => 'Site Wide Notice',
/ F# Y* s) k1 r1 F$ Q) B( N6 ]          'add_new' => 'Add New',! ~+ S+ i3 d% I5 i7 Y8 O
          'add_new_item' => 'Add New Site Wide Notice',& X# }9 R" a! [' C) x- R
          'edit_item' => 'Edit Site Wide Notice',
6 x+ X( }7 S1 c0 I- O          'new_item' => 'New Site Wide Notice',
; L8 L0 _# M0 c+ h          'view_item' => 'View Site Wide Notice',
. ]4 M! m# T6 ~" ?6 F          'search_items' => 'Search Site Wide Notices',' _  m3 W4 F- d% F8 A  v9 [
          'not_found' => 'No site-wide notices found',
1 O! T% n6 ~7 ~+ j# W2 ]          'not_found_in_trash' => 'No site-wide notices found in trash'
1 T6 _: _3 w. U) ]& j5 D      );
6 Q; R! i7 a6 p" [/ r
  w' [- d9 D1 ?$ s2 f      $args = array(
7 W$ d- ^; e- ?9 m$ Q+ D& A) ~3 P          'labels' => $labels,
% D! b; h6 U2 h2 I9 @: y  D. v          'public' => true,4 E, c. |: C  {, B' X- z* J1 J* z
          'has_archive' => true,3 B9 L  P* l$ k* O
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),# ~. @6 d" [1 Z# M( W4 m: Z
          'taxonomies' => array('category', 'post_tag'),) |2 ]4 e: X8 I: r: B
          'menu_icon' => 'dashicons-megaphone',9 L2 u% Y7 |3 t6 [% k7 M
          'menu_position' => 5,
) n; `! }& Y8 Y3 w4 l7 _9 \; _1 g, C          'rewrite' => array('slug' => 'site-wide-notices')1 d+ }9 k7 Y- b8 L9 a* O% a- f2 T
      );- y& s3 ?+ z; A* ?7 \

. C( w( w2 K6 o      register_post_type('site-wide-notices', $args);
: H' }+ I' ~! R: A. U; V' |- {' A# d% j$ w   }6 A) p1 x3 f2 e( L
   ```
5 R0 \+ s  k4 v6 L/ l/ l9 H9 L1 v
0 a1 G8 g# W8 c" W; ?   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
7 Z: U6 f5 u$ d9 `2 {) \2 ^$ ~: n7 `" C0 j9 M6 c8 V% p. a6 {
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
8 p' @- e9 L" @' `+ f6 H& y0 G  c: N
   ```* x+ ^" |3 V2 {
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
# a1 U. d$ }$ r+ B+ l   function add_site_wide_notices_boxes() {
: q! x, x; F) a1 `5 v9 h      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');) U: p1 \! x3 D( j/ O& k7 D
   }6 ~9 q3 ]( p" Q- L, @. t

% P. I: `# w* G# l. ^8 Z   function notice_details_meta_box($post) {
; J& ^2 r4 Q  y0 v% O5 J      wp_nonce_field(basename(__FILE__), 'notices_nonce');
% @2 ]$ a" ]4 G8 w6 |# s9 Z3 h      $notice_title = get_post_meta($post->ID, 'notice_title', true);
' ~: J# [* |9 |0 X5 ?# T; }      $notice_content = get_post_meta($post->ID, 'notice_content', true);
* z. H% X; S# ]9 [) X" f' E3 v      ?>2 \5 a/ _' N/ q2 C
      <p>/ r: q( `7 [6 r4 ^
          <label for="notice-title">Notice Title</label><br>
  ~* W, e: [( T) R. _4 H  t! A. S          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
1 S4 @6 S4 j* q      </p>
. R9 o! p9 P5 _2 ^      <p>
5 C4 m2 |; a$ a9 ^$ H9 O) T          <label for="notice-content">Notice Content</label><br>
" J, b  ~( Y+ X: V! D          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
4 \# v# a: [3 ^5 O; ~  P- @      </p>
. X& R6 g8 m& O      <?php9 e6 g* z5 X; ~6 `
   }
/ B/ N; P6 E6 C6 \- l' G" Z- _% _# E) W5 R
   add_action('save_post', 'save_site_wide_notice_meta_box');* g0 D- `" Q& _4 b' ?) z- }! m# P
   function save_site_wide_notice_meta_box($post_id) {
' `8 t" ]  B! r1 Y' g* G      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))9 I  x7 j- ~4 K! {* K2 m( Q# ~
         return;
& ?# C3 C* _& ?6 S. V  [& q      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
& w& L3 h# ]( N  [2 m$ H' b, a/ s         return;
7 [$ ]. r! U9 f! C3 C
; D+ q( v6 s9 }$ p8 s( d# A      if (isset($_POST['notice_title'])) {, W9 b7 W( k+ I  q
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));7 q4 h3 {2 c- M/ g+ E: w
      }0 s9 I, X; l- K, k9 j( l
      if (isset($_POST['notice_content'])) {
( u( [1 B) I& }4 |9 m! e9 k          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));7 o. b% \6 L8 l7 l6 |1 {
      }2 x6 z' P2 o) `9 `
   }
2 Y1 F1 g- x# M6 w   ```% _' X6 d" Z( }% O7 I) [

  }' U9 O4 O! p! _7 b) l   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
  i  l5 e7 z' _! i, {1 V% D
# S- f' c6 a( d! E9 s4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
" h# \$ j* [4 s& H0 w6 w* d* n. C3 J  d
   ```1 N3 I' f6 D! f$ ]! ]- k1 M
   $args = array(: i0 y$ Y5 H& N( h4 U( z7 w" Z
      'post_type' => 'site-wide-notices',
2 ^& _8 X" Q, U7 h. l      'posts_per_page' => 3,8 v5 o! B0 p) D! q& G1 }! B  R' u
      'order' => 'DESC',' S* r. p7 m/ G" o9 h4 e
      'orderby' => 'date'. N: @0 W$ G2 H/ S* B% ?# f3 o  `
   );
5 K% h" r# O% n& w5 \. ~   $query = new WP_Query($args);
$ B: {. Z8 e1 b8 t' x2 c, f   if ($query->have_posts()) :
2 n7 R3 L( p$ B+ j" M4 K$ V      while ($query->have_posts()) : $query->the_post(); ?>
/ U- t& p  B: d' u3 u1 O          <div class="notice">
3 k- g0 }; f' Q& ^              <h3><?php the_title(); ?></h3>. R0 {: i6 y. \# j8 q9 z* n9 d& O
              <div class="notice-content"><?php the_content(); ?></div>1 |2 P! E' z& t) N' o3 k
          </div>6 l0 K7 Y* v; m: t
      <?php endwhile;9 I  H( Q- ~# i( z) f
      wp_reset_postdata();
1 y7 E* C, T6 {+ K4 M) D  q5 Q; R( e   endif;: J$ U4 {4 q+ Y$ d! _4 a; L+ c$ k7 a
   ```% v( m) Z0 g; A1 u$ T
  H$ N5 G9 e7 w5 y' X2 P# }1 g
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-17 18:27 , Processed in 0.013167 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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