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

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

[复制链接]

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
$ Q; u: _0 `6 P! P) u
. b3 Z) A' v8 z1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
' X. l% Z& G% D& b. }% r& u. ^$ `5 n0 @
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
. |- c- ~: d$ i" u+ c
) H1 Q3 @, P& Z3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。3 ^% {% J& l5 V2 g& }
# m; C5 ^% }! T
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
: W' X% o: W$ W, X
' a2 T) H/ Z( B& B0 v! z2 O0 C% ?- Q% e注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?0 e) |1 |7 H, `, p: e) X3 m; D

" C/ k% A( ^7 j/ C; ], Z/ I如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
% W0 R, j% w6 Y! z, @+ Q+ T  E: j+ o' I: W
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:$ A7 M5 U8 @+ b  l" N
/ }+ j) `% J9 i
   ```* m" ]; P2 S$ L7 p, i# I
   add_menu_page(# T6 B: ^$ q3 s9 G! R
       '全站公告',
/ w; E- J6 I; O1 z2 p. S# h0 N' A, H       '全站公告',$ g: G4 I5 n  L
       'manage_options', //需要的用户权限8 K( I: H! h# w9 S
       'site-wide-notice', //后台页面的 slug2 ?: c( ]& K2 u
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数5 p( a$ J' j% a$ J  R
       'dashicons-megaphone', //用于显示在菜单中的图标
# F* ^1 W) ~7 C       30 //菜单项的位置& E2 F' D9 R# P# a/ Z
   );% a* E0 X* _1 g( k
   ```& {, [8 K( L6 I* }( K- g3 Y, ^& r
, P& P5 h& a6 i/ \
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
  h6 ~  ~& d5 H! t* z, E0 z! l) J" g" X5 b
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
( s) G/ T9 F5 W, j: `' k" a! x
4 |6 m& a/ s8 K  r; l$ N0 U  S   ```
) K3 _2 R, g* F8 {. B5 F   function render_site_wide_notice_page() {& t; w% S9 n$ n& }
      // 渲染后台页面内容
  x- b  A- r9 n3 ?2 r  i4 ]      echo '<div class="wrap">
: }% p- t) n# ^9 {5 D; n          <h2>全站公告</h2>
7 ]" T7 ?9 d7 Y9 s0 B# [. K+ |7 n          <form method="post" action="">3 @* t8 j- }3 w# }+ r0 j( W, H
              <label for="title">公告标题:</label>
: Q! [& S  X* {* r' s/ Q' M7 K              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>6 S: }! t  Q/ ]8 @5 _8 Y$ g
              <label for="content">公告内容:</label>
/ N, ]! M( N. A9 \+ s: P' Y              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
8 s1 O: [% W, z. I              <input type="submit" name="submit" value="保存设置">1 P: j3 P0 b0 M" _5 x+ E' f1 V( M
          </form>+ V" B$ ^: c* z$ i: e5 Q
      </div>';0 j0 x" Y, m& W

0 C9 C' D3 [9 D2 j) r3 j      // 处理表单数据
: ]8 \4 N' U' ~( @6 Q      if (isset($_POST['submit'])) {6 L7 K0 ]+ \& D* M, z
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));' b3 f# o4 ?/ H/ B
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
+ G$ H( G: w% R      }
, Q6 z; T$ r* ~   }
  N" m5 h$ y2 V   ```
7 A3 A0 q$ T8 n+ E2 k1 y3 s
4 J6 V* c! \# c1 [& p  I   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。; p5 z% J1 J% P3 ^: K. t* F% [8 ~

3 I* }7 p7 O( G- l# W3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
* @; V0 E8 G8 ~
0 a: V( T0 K, n! x1 u$ s) E7 c   ```
* |3 c. ^4 R: k' i   <?php# d- D2 Q- r4 P: A8 a: v5 g8 F; l4 h
   $site_wide_notice_title = get_option('site_wide_notice_title');
9 }: M! G# i* a! J   $site_wide_notice_content = get_option('site_wide_notice_content');3 n; Q. \; |. D0 L
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {- ^9 ^/ e0 {" C$ m4 k
       echo '<div class="site-wide-notice">';
; s' P  P  [+ a5 L       if (!empty($site_wide_notice_title)) {
3 F( d$ Q8 \/ z' ?1 p2 o9 h5 Y           echo '<h3>'.$site_wide_notice_title.'</h3>';
2 t  D% x& z/ T( {+ F       }
  L0 H3 Z6 X* D) N/ m       if (!empty($site_wide_notice_content)) {
: h' ]% D4 N9 e7 M4 w8 k           echo '<p>'.$site_wide_notice_content.'</p>';
2 v7 q0 J1 t8 y$ E8 _2 f: ~       }
% V5 B: {& ?. g* V; Q7 v1 G       echo '</div>';6 R( B6 B7 ?* Q6 x
   }* w% Y7 ]2 y5 U( W- C6 m
   ?>
5 X0 z* @6 I7 ~4 W6 N6 C   ```2 I$ B9 A" t# Z" u% w" {

0 ^  S9 x& r9 b5 q8 ~   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
2 c7 a* e% s( e: h" a+ n; O4 ~8 s( y' P: X" C! s# Z* {. r, J
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?4 J: s  ]" T  O" J8 P+ J1 N/ D

# M, T! Z% h: E您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
! ?! F- M0 Z2 E/ x4 V/ N1 J+ M3 ~5 m! e' b% b* Z
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
0 \. q9 r/ ]) \9 R: o( x
4 e4 r6 L* N! h$ c0 u. n" N```
) D% `4 l# ~1 h+ ]) B1 I* T4 B" a  P$ u4 yfunction create_custom_post_type() {8 a1 I3 F' r0 u9 N9 \( |/ ~0 ^: S; _
    $args = array(' L- g) l$ \/ N! Z' H/ b5 C+ \8 J
        'labels' => array(" [' `; `$ W/ h
            'name' => '公告',
; X# C& D8 ^4 v8 w+ d/ Z            'singular_name' => '公告'! C1 @7 G( b! Q
        ),& V$ {: \: j7 A$ d  m
        'public' => true,
/ x. b6 F* J- D( J1 A" e) ?        'has_archive' => true,
7 P0 P: Z* O2 S! I        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),% {; ?' m" o, B  K0 m8 T  r
        'taxonomies' => array('category', 'post_tag'),
9 j/ k6 \6 N5 L        'menu_icon' => 'dashicons-megaphone',2 X6 o) y+ q5 E" h, m3 y9 ]
        'menu_position' => 5,
4 l. m4 W) f) Z/ C0 ]/ Z8 ]/ Y        'rewrite' => array('slug' => 'site-wide-notices')
! Q- Q! I, k: b1 ?, v- l    );9 k0 d+ D. [# G$ B
    register_post_type('site-wide-notices', $args);; a! m( C) s. J% w$ i1 v4 E: q
}# A0 L7 b% V; s" I/ w9 B/ U! J
add_action('init', 'create_custom_post_type');* T( D7 X6 D( \$ {
```
& q% B  H# J1 _  R* h  \, K; u+ s' d) A- m% o6 k# j0 g
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。% W3 F0 b! q; H1 X) p+ D+ ~+ u9 u

) Q5 \2 F% _4 [, K$ R2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。7 z7 f# p$ W( V- w; W! ^

- Z; s5 c9 }8 h5 m# o+ a3 |4 Y3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:3 v) X+ o4 g) n" c) v- a. u
) B! b# a" f6 b
```
+ a$ K7 q; N5 L* K6 ^$args = array(9 C. N5 V' g. H" R
    'posts_per_page' => 3, // 显示的公告数量
" W+ d- D, [& y* u0 b    'post_type' => 'site-wide-notices', // 公告文章类型
5 w! z% @  J, C! o6 a    'post_status' => 'publish', // 公告状态2 a, K& G$ h: M1 P5 [0 [
    'order' => 'DESC' // 排序方式% v- \" u3 V$ b# @$ f, u; m
);. u7 a, j% @) n1 L7 m
8 `9 d5 |! q; ~* G: i% w
$notices = new WP_Query($args);
$ i. g3 n2 O% Vif ($notices->have_posts()) :! i5 t! `5 Y+ C* x. L$ c2 g
    while ($notices->have_posts()) : $notices->the_post(); ?>. G, r# m6 t# z& B! c  x
        <div class="notice">
0 X1 l4 q. k+ _% S/ |" U            <h3><?php the_title(); ?></h3>* K& s& o" w% q7 q
            <div class="notice-content"><?php the_content(); ?></div>
) F. n1 D6 G4 z# k6 {1 |8 \$ v        </div>
$ ^$ A# \, ~' b& d  D    <?php endwhile;+ o7 r8 C1 \7 W
else :
: E. \& ^1 f/ q2 W4 K5 @" l9 J! K    echo "暂无公告";8 U" q1 H& J. T7 r, J. ^, z* P3 A% _
endif;
4 N8 i) X1 y. L1 @: Iwp_reset_query();) }% ], C9 [/ O4 n: D, _1 J
```
5 c  {$ K+ I6 |* t2 u0 f% |% }& m* c
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。! @  R/ _7 K% F7 P
# n0 [9 B+ s1 b; f5 [6 a& g5 z
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
0 u" X/ w5 L6 P9 `: C8 G$ k4 \0 y8 \  |* W# x
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
+ E1 t# W$ {7 n( Z( V1 ~
8 y" T' l7 d9 D# c7 ]以下是创建自定义插件的步骤:; G  d6 f) W/ l! N; k

; j' P' D$ D. V& e8 k. a# t$ t1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:* o8 E& f4 m: Q) S% g5 P' h* }7 L, g, p

) n: [4 m# r$ G1 `* p   ```! a; o; Y. K2 R! G& C  U
   <?php' p+ W( ?: w) ]
   /*8 [# t, x: C0 |4 c% f3 S3 @* Y
   Plugin Name: Site Wide Notices Plugin3 t& N7 {* a  L4 n3 u/ @
   Description: Adds a new custom post type for site-wide notices.
" {7 U8 s$ o' S! v   Version: 1.03 U+ e, G6 [+ c8 c% a
   Author: Your Name
6 l1 J: x0 R+ @; Q+ R1 w3 R   Author URI: http://example.com4 w7 {, B( s0 S) @% X
   */# J% F  Y4 ]% R$ r

) D1 n5 A+ t* k' @; o7 r   // Add plugin code here...5 b" `/ K+ b! t* g. g
   ```+ b2 _2 v" U; X' L) R

7 b, ^* q: f1 h" ~, N  x   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。3 k2 H! c" C1 F1 C
9 i4 \+ l2 y- y! [( X$ M
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:/ w  D; `. G- m+ X

" d8 ?, y0 ]( ~* ~   ```7 P$ h0 k% T2 r1 p
   add_action('init', 'create_custom_post_type');
' ?$ X/ r& d! I. e5 C4 A9 c0 @5 B   function create_custom_post_type() {0 F/ }/ _; ^6 i( W" b
      $labels = array(
9 c4 i( w6 H9 ^/ C* A4 Z, x          'name' => 'Site Wide Notices',
: r1 o$ ]; G; ]( {' c& {, X          'singular_name' => 'Site Wide Notice',! s4 V/ V1 G9 Z
          'add_new' => 'Add New',9 D) O) @: U) u+ u6 k0 Q$ |$ W! u0 @
          'add_new_item' => 'Add New Site Wide Notice',
, Y* g# P* z/ _4 Y, m8 _% h" H          'edit_item' => 'Edit Site Wide Notice',. J, U3 a$ p+ L) M- a& S
          'new_item' => 'New Site Wide Notice',
7 Y2 [' \( u3 m! O  h1 C          'view_item' => 'View Site Wide Notice',3 w- `+ l' y) R8 ^; r* g
          'search_items' => 'Search Site Wide Notices',
* R0 j2 T, u$ @# p( C          'not_found' => 'No site-wide notices found',
! h% G0 D9 r( Q& ~5 |          'not_found_in_trash' => 'No site-wide notices found in trash'( m' p  y: f6 X; d1 L8 L
      );8 o$ {( Z5 L6 E; b4 w7 u+ j* W( p

- [9 r) z9 \% `! g& U0 e$ P      $args = array(
/ M, a* @* I- z0 U/ ?$ X" j+ x          'labels' => $labels,9 P4 ]& ?+ g6 o) X2 C( N
          'public' => true,  s+ [- J  B/ e4 K- d! h5 f0 D
          'has_archive' => true,! W, e/ J6 M: \6 Z$ h- @+ y
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
* y% T" I' i* d7 u% K+ n$ }          'taxonomies' => array('category', 'post_tag'),5 ]6 q0 P1 [' c& s  A
          'menu_icon' => 'dashicons-megaphone',
1 ~, G9 d6 a1 b          'menu_position' => 5,! g! R( B! S5 j& e
          'rewrite' => array('slug' => 'site-wide-notices')
  Q: W$ @5 A+ F      );
; f- Z* z  F2 W  z5 G9 x/ b% t& z) c, f& M0 [, d, U# F
      register_post_type('site-wide-notices', $args);
, Q7 _* A$ g, J) {) G/ j% x/ {   }$ m" B! f$ o0 D2 k
   ```
3 [: a/ N' Q1 i$ n
# t& w  G; E* y0 M2 W   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
- f2 Y8 ~( ?* n7 j2 i2 E, @- ~' L/ G
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
, ^! a0 D! H8 d2 s0 q7 C$ b/ R1 }6 X' V6 \5 i
   ```$ W8 |/ Y1 \" x
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');) h9 \" `' n2 m' M6 p" B
   function add_site_wide_notices_boxes() {
8 m! b; u0 W& I" Q' ~      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
+ V3 Z3 K8 i1 Z/ w7 `6 B) @& |  K+ L   }) K7 y$ P/ y& D) h' d8 i0 D
5 Q1 W$ `8 Z+ i" L" s. Y
   function notice_details_meta_box($post) {7 a1 S1 Y5 t3 H0 ?  |9 U: t
      wp_nonce_field(basename(__FILE__), 'notices_nonce');& y3 b; {3 ?# m: K8 r
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
- D6 d( o- n/ r& w      $notice_content = get_post_meta($post->ID, 'notice_content', true);& n! [, L$ c& v; e' C- y
      ?>
" w  U* v/ h) T& T5 e  G  ]6 p6 j      <p>, e. R4 R" F$ a; q+ V
          <label for="notice-title">Notice Title</label><br>+ a2 z5 Z5 C' e! O
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
. g0 ^6 J1 K7 M' J$ S      </p>! P! a1 W. i; |$ Q' F2 e4 Z
      <p>3 H# Z! W5 D2 ^0 O! m/ S1 N
          <label for="notice-content">Notice Content</label><br>
" F& M8 T4 u: _, `; d          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
- z$ E) n2 D! Q2 h      </p>
: J1 w8 J# O  J      <?php/ ~7 V, ]! g1 O; g9 }; g9 [
   }
& e+ p1 U7 d+ k5 C* I0 ?
4 |5 q1 q2 y& N' N8 H   add_action('save_post', 'save_site_wide_notice_meta_box');
+ [2 ?' d/ b6 X: {2 T. D   function save_site_wide_notice_meta_box($post_id) {% ^5 w7 N/ _' H# A. S
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__))); a# E7 F- V9 E/ G# V% j
         return;3 J/ y8 I8 c/ e. }4 ^" E
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
( @4 u+ t  T0 h/ z! U         return;
3 ^: p7 @  A3 w! f
0 o, m. _! ^8 J6 F( k      if (isset($_POST['notice_title'])) {
1 d& d0 \; l2 r          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
5 B2 f1 f3 M$ }- Y5 x      }+ N3 S- o9 `% r1 h
      if (isset($_POST['notice_content'])) {
: ?, c+ h8 \  ]! n          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));* E! T  }5 \8 H$ q: x  t  [
      }
$ R4 K2 R$ `& ?1 b% H   }
! y3 d0 Q5 p2 @/ r" p2 R   ```7 m5 s0 I/ k5 Q0 A5 n7 j

6 ]% u: s( e% R# Z, x6 ]   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。1 V1 b! c$ e5 m, |7 E
0 l# h& Q2 _- I4 H. \  R: j% g
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:6 ?! [2 r3 j6 G  S( F7 w  l# q

/ x, }1 x9 l1 m. ]   ```. N/ `( C7 D" A, S2 \
   $args = array(; ^. Q" U+ S) F2 ]2 K
      'post_type' => 'site-wide-notices',3 i/ u% @; l) E: x
      'posts_per_page' => 3,4 F! D8 E% h! y, M0 [$ n$ Z
      'order' => 'DESC',
# J9 O5 N2 h5 a" }' P      'orderby' => 'date'
3 ?( v& J+ N3 B1 |( @! B2 P, s" c   );- S% b3 n* }; e- t
   $query = new WP_Query($args);) l' o8 ?- I% S+ {5 E8 |. a
   if ($query->have_posts()) :) g) h3 L: I9 D
      while ($query->have_posts()) : $query->the_post(); ?>
% W" ~% a$ R# F6 o1 f4 L5 i          <div class="notice">5 h; P4 N5 O7 K8 O
              <h3><?php the_title(); ?></h3>: r( L% _! o) h& E; |
              <div class="notice-content"><?php the_content(); ?></div>* l" j  y% c1 L6 r3 l" [. U
          </div>1 Y( u  j% s2 W3 |
      <?php endwhile;
6 j+ i* k( B- h1 m& `* Z      wp_reset_postdata();
  I7 G% w8 |) Y5 u2 h   endif;8 ?% |+ ?; b6 C- Y& N
   ```+ E. x6 G( |* k; F6 Y7 K* y

0 O. \& {. h* u5 [4 p# t   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-11 12:06 , Processed in 0.015143 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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