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

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

[复制链接]

332

主题

513

回帖

3368

积分

管理员

积分
3368
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
& O8 s8 ^5 j5 ~. z: Y5 P& F# q: n3 N) i1 w/ Z
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。: u& }: G# N6 H! h$ W5 J* Q

3 \* I. R" D6 P, q1 e2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。/ A: s" \, `2 H2 x, z& H" O' f. f

/ h# {# J, A% Y; S# ]* Z3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
% ~! [7 t) Y& l  i% |
' U- D+ w: d* ^( X4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。: P+ `1 B7 `7 E5 m
7 f  t6 C( `/ s( \' t4 b) D, a
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

332

主题

513

回帖

3368

积分

管理员

积分
3368
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
$ \  Z  f2 x4 Q" c
0 H9 s* u& e% S# a/ t1 ?如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
: Y- o$ ]$ T1 F6 n/ F
5 \4 ^" w0 ]. C5 [4 b. c; D1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
/ d" G3 @0 J: W3 |1 j% y8 l: i6 O$ q4 \$ e+ r# D  x
   ```$ {* l! P0 d, N+ \+ x# o
   add_menu_page(" Y" w0 L- H' m: \- I5 u! H
       '全站公告',
+ j. e# n! v0 I6 \" h       '全站公告',
/ g# f2 l1 G4 e       'manage_options', //需要的用户权限9 a, Q3 B% G( ^0 |6 ]) U
       'site-wide-notice', //后台页面的 slug# ^5 c+ }# B2 l/ ^4 m) I2 k# e
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数! d( `4 m: G: g9 {
       'dashicons-megaphone', //用于显示在菜单中的图标  X6 X: S3 D0 ]8 n/ J: H
       30 //菜单项的位置
8 |9 i# b! |, U/ ?- i" i   );
+ S4 _8 C. s4 M8 A0 P   ```
- x; v: l8 E' l4 B$ q; x+ U' |3 l/ V
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
% N! t) C7 T8 D! D0 g: D! e& s# M* o$ C! i9 R
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:7 j, u4 o# G8 g& h' S( O3 p
2 u6 ^( i3 E" _
   ```
/ e% K6 I( X7 M6 c% r   function render_site_wide_notice_page() {
; @& n9 a1 h- P, P      // 渲染后台页面内容" K* z& H$ v: o" J; |6 q
      echo '<div class="wrap"># `* r  d9 g# I5 c
          <h2>全站公告</h2>! f* I, u5 v* J0 l: U, q3 c
          <form method="post" action="">
8 `3 i! ]3 i$ X              <label for="title">公告标题:</label>4 x: T. L! W+ B0 g7 d$ ^
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
8 h9 T" X. X4 E( q3 c              <label for="content">公告内容:</label>
+ g+ M1 i: {& v. ~$ Q( T2 d              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
: P3 s) R! Q3 L              <input type="submit" name="submit" value="保存设置">5 p1 J" T# z1 b  H! F
          </form>
0 b9 N4 m1 K9 Y- F3 a+ t2 x      </div>';/ E- O+ f$ e) J0 C* B+ I! Z! [
9 c( n- m+ P& H
      // 处理表单数据& K0 r' v) Q  ?; r. t. R  J
      if (isset($_POST['submit'])) {
1 t$ o/ g' e& h+ a* s- j+ Z: P4 ?* `          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));# K9 L4 [5 {" m+ d9 `* }
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));: C1 m3 r1 z7 ?9 O+ L! \( W8 t  I
      }4 j, J6 C+ h$ T/ P, t4 z: D
   }1 [0 Y! U1 M& a7 M' Q- V. A
   ```
. Z: I1 m5 a# ^. I8 K. N' a4 S# a$ F& Z+ B; u
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。1 u3 r  j, Y, V8 S

- u( |' m1 |5 k/ q/ m0 p  F3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
2 r0 Y# n& j. t7 j; Q+ q
. U  j0 J4 X- ]0 k8 J   ```
( w' \5 C9 H5 E   <?php0 G( Z9 M4 X- f5 P' w4 ~. |+ i
   $site_wide_notice_title = get_option('site_wide_notice_title');" ~7 ^3 j' g: a. z& a: D& T7 D
   $site_wide_notice_content = get_option('site_wide_notice_content');: U- x3 F  ^: z7 H6 Q& o
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {7 y8 h+ Q+ B3 X# J9 V' b
       echo '<div class="site-wide-notice">';
0 M0 O7 t1 U; ~8 k" S       if (!empty($site_wide_notice_title)) {7 ]7 i/ B( a1 F0 i& U; e# g  G
           echo '<h3>'.$site_wide_notice_title.'</h3>';  u/ j# W" M! Z6 w/ g, a
       }% c7 i9 L8 a# n( G% X$ z
       if (!empty($site_wide_notice_content)) {3 z$ S0 u# Y- F  N3 M8 F
           echo '<p>'.$site_wide_notice_content.'</p>';) \3 D( a1 ?+ ?( A* \  N; R2 r
       }
! t: a+ C! n* l. {& O9 y5 g       echo '</div>';
/ r9 s9 ~9 _) o# {% {7 [' n   }
( R6 x/ D$ x; z0 y; l) Z   ?>: i% q7 i2 q9 C) {( B6 w0 L( w; B7 k
   ```
& ^, U4 `  G  H: A9 T
0 c8 X1 L4 p2 T5 G1 J, y$ e& B   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
+ u) k: ^; n) ]& U
) q" w, Q$ D7 @1 K+ N4 _7 A5 T请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

332

主题

513

回帖

3368

积分

管理员

积分
3368
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
4 n" p5 W7 k( P# O" q1 ^- Q/ X1 O& H) @. z; `
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
3 j9 L* F/ L$ N: B3 M6 I+ B5 ]( r/ ]5 w- ^) {6 H
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:( O$ ?8 l; d5 O
3 r) f' ~5 @& c4 {2 c
```
( `" {; u; v5 K/ ffunction create_custom_post_type() {
- W# E! F  L1 W    $args = array(
+ F: N7 x- q3 p1 q9 l+ {        'labels' => array(7 P1 S1 M0 I# v$ X( {  j5 \. X
            'name' => '公告',$ W( M' D7 H* w( h% i' c4 e8 m
            'singular_name' => '公告'
: q1 S) t$ U* |% C; c, z9 @' h        ),
% v; W2 w. C" ]+ [: u  N: S6 @        'public' => true,0 r2 v- r4 b( h# _7 k" k
        'has_archive' => true,2 h3 w% e8 g9 M* `, g: n
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),* u- v0 z7 _" h! G& M4 G
        'taxonomies' => array('category', 'post_tag'),
/ F$ l; Q1 N/ s0 F        'menu_icon' => 'dashicons-megaphone',
% ^$ e+ v4 J; w+ g" o% W0 O7 [6 M3 N        'menu_position' => 5,
: f& F* Q6 t& {        'rewrite' => array('slug' => 'site-wide-notices')6 p: G2 G( Y0 d5 @2 o3 _
    );* w% I  Q, u' q8 H
    register_post_type('site-wide-notices', $args);1 G( Q2 |) s6 V1 b1 K$ V3 n
}$ b7 V/ A/ x1 b
add_action('init', 'create_custom_post_type');
  ^# g0 C$ F6 Z# L" I5 V, Q) K```
. P0 @# o! D2 F$ v# f- J! F% m$ q" S
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
1 C& Q4 }/ {) d1 M' w0 U6 _( h1 @5 |9 F7 W
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
7 U2 b# n0 Z9 y; m
; ^" v) k% F7 _9 V2 u" e3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
8 O% R6 f% K5 k7 q) o  R; Y$ u( l# ~8 b; X! ?0 G
```
/ q4 j* a+ W% Y) k$args = array(% P: M* @% K; f  K
    'posts_per_page' => 3, // 显示的公告数量( j- c9 H7 G: k# V
    'post_type' => 'site-wide-notices', // 公告文章类型3 t4 N: c; e% R, F+ i( q
    'post_status' => 'publish', // 公告状态. A5 |/ ]! u- B- o
    'order' => 'DESC' // 排序方式; h, O0 s# [4 F$ c' }
);! d9 X# k* p& ]8 p' t( ^  p, m
- v+ A) R7 w5 E- c; w! m9 p
$notices = new WP_Query($args);
, H, O- u+ U0 K) q2 c6 Pif ($notices->have_posts()) :
- p, Z  U3 L: ?& N. a    while ($notices->have_posts()) : $notices->the_post(); ?>
- P/ U* Z2 J! U$ z( Y        <div class="notice">
7 t% D" b' v$ D8 C1 M% V* J5 R' v            <h3><?php the_title(); ?></h3>
% H; b8 d- h- U. ~4 k" d) ^; f% k$ A            <div class="notice-content"><?php the_content(); ?></div>; t- z2 L" {9 A# K) q6 m, V9 e
        </div>1 O& H  e) M: I; R+ B
    <?php endwhile;
: l" m6 G% u3 x) e, A+ T; Jelse :
, m# Z: V( F! n& v    echo "暂无公告";
9 w2 Y; V' |1 y7 u; Aendif;5 l; a+ O( z/ d! P
wp_reset_query();, h% q) @7 B0 {8 W7 |0 F- P4 `
```- f. h( V$ \$ Q8 j/ U+ B
% P, c4 |6 Y& I6 ?
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。5 S/ |; z$ P0 \7 z7 x9 V- ?
8 g" o3 ^' ?! d
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

332

主题

513

回帖

3368

积分

管理员

积分
3368
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
( h1 O6 Q3 B2 S* J+ C9 ?7 H; a' L# e6 Y& _# h
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。% y. ]- A3 o8 l" }0 \, S/ S" |5 H& Y

( M& }* [* @/ [6 h$ `以下是创建自定义插件的步骤:
% v- @1 ?; w+ M5 `1 b, G
2 e4 p) M  v4 ^1 z1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
# }6 C! g: y; w9 l& d4 P* W! K8 E$ b5 s) H" P
   ```
! i. k7 i  g1 a( u. y. J$ T   <?php
/ l3 N. [* J- ^$ v0 }4 U   /*' n: S' J5 u9 O( i, Y
   Plugin Name: Site Wide Notices Plugin5 t6 B; Z8 o2 H  d" G; U6 V
   Description: Adds a new custom post type for site-wide notices.0 _/ ~9 B4 a$ j: c# x8 Z1 R9 T- _
   Version: 1.0+ S" w! F6 ?" \. w
   Author: Your Name  B3 g$ q. y7 w. `1 z
   Author URI: http://example.com
& W  h7 E" R7 m- U* t4 W2 A( h   */
' Z1 Q* e1 ^+ u6 k; n  C2 S4 n: g& s3 W1 {# O
   // Add plugin code here...' a( h- {! p& m; a0 ?' Y9 F
   ```% @4 @; L- N% `" u1 j1 g' v6 |& ^

3 ^" v4 g+ f! O% T: R6 r   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。2 i: x2 m$ ?+ y+ S  F0 d' a

( ^" {: \. I$ ?! x  }9 L0 `  r2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
9 @( Z! e# x' t$ n, {) F
8 S& b0 b( N/ u' q: N: ], G   ```
6 ^7 h8 ?) z3 m. _5 g7 T   add_action('init', 'create_custom_post_type');
' F1 |) p, E  o" m  C( m, D   function create_custom_post_type() {' ^- G% s7 T9 t1 D, i+ b
      $labels = array(7 Y, ~' ~0 [- n
          'name' => 'Site Wide Notices',
5 h% o! u4 o2 x8 G& e$ o; ]          'singular_name' => 'Site Wide Notice',
- P# k7 _/ n! q: B          'add_new' => 'Add New',. Y& d7 f1 G+ Q" v! q* z
          'add_new_item' => 'Add New Site Wide Notice',
4 i# C2 p- r9 b. l          'edit_item' => 'Edit Site Wide Notice',% h1 |$ d+ z# `! ~6 B6 I
          'new_item' => 'New Site Wide Notice',: e( p+ L# F9 c+ B1 `
          'view_item' => 'View Site Wide Notice',% ^4 e" A" s1 o$ D
          'search_items' => 'Search Site Wide Notices',
; h. Q7 C3 S) F6 G9 h& T          'not_found' => 'No site-wide notices found',5 ~+ S3 v, G9 m3 X
          'not_found_in_trash' => 'No site-wide notices found in trash', }: D+ |) l1 h. {# F! D' g( Y
      );
" M' b% Q4 P- _; b" L
2 N4 x5 I6 b$ f* u# L# r9 N      $args = array(
2 l2 ]9 m7 Y5 ]  t3 r5 y9 m          'labels' => $labels,8 ^) R0 P- }& p9 G0 W
          'public' => true,
% T8 X" I3 X* V          'has_archive' => true," E: }& P% b2 }+ w& q+ C; M# ?! N0 h
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),& M& p: S3 s+ X& z( P
          'taxonomies' => array('category', 'post_tag'),
$ ?9 O1 c- p( G% j3 G: e0 R5 D9 J9 O          'menu_icon' => 'dashicons-megaphone',
/ ~5 _* C4 N# ?3 s          'menu_position' => 5,( M3 ^' v% D/ k+ r" [
          'rewrite' => array('slug' => 'site-wide-notices')
# E1 e' i' e8 A      );' v. k  Z) C, L0 T( A, Q! q8 ^
; g+ J3 S1 \6 O  J% g
      register_post_type('site-wide-notices', $args);
( X  D8 c4 ?. h3 v0 @   }4 B8 }! H: J  o0 S: A) f5 b2 t+ y6 V
   ```' G7 f  [/ u. i
0 g- m1 G  v$ B0 m3 t0 L
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。* t5 M/ i- J" \' o" [
6 B7 O% t& F2 i: ~
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
2 B, A% f6 N. k, S( _# |% I  o) X& ^. R, N+ G9 R, ^& X. M
   ```( y6 K# ^: q" d2 Q) v; y
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');  }! ~2 ^4 n4 F& D8 J
   function add_site_wide_notices_boxes() {
, y5 `4 \1 [  R      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');+ o2 Q# ?4 q1 o1 j
   }
7 T$ q# F- o# `( O! i9 l' f. I7 b% t* M. Y; [( C
   function notice_details_meta_box($post) {# n" Q7 t3 C1 ^5 d
      wp_nonce_field(basename(__FILE__), 'notices_nonce');
( a: |6 t! e. s7 C% t/ }" C/ s; p      $notice_title = get_post_meta($post->ID, 'notice_title', true);
/ a$ V& D2 J/ S" a/ U2 y      $notice_content = get_post_meta($post->ID, 'notice_content', true);
( C# q: r( p8 W      ?>& Z) Y7 b  J7 M6 |! ~. R
      <p>
) k; l' C, G2 s4 f          <label for="notice-title">Notice Title</label><br>
4 t" k" }% L- S  E          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">6 e* b, T0 I: e" p! C1 f# S1 l
      </p># d% f( E4 n. W+ t6 K1 m
      <p>$ e# n# X2 N* B
          <label for="notice-content">Notice Content</label><br>( x5 S% d, S2 t- ^* d  I: `/ s1 W
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
3 x+ S6 [6 p+ K% `6 I3 ~! X      </p>
% [0 G1 N1 g0 N0 J      <?php4 |; J) o1 O1 _% w* [# X1 P
   }- \) {: v& e" f- B: e
( }6 `# y5 x# C: \* F5 R; I2 ]+ i
   add_action('save_post', 'save_site_wide_notice_meta_box');
( r7 Q! L6 h0 T- d- h   function save_site_wide_notice_meta_box($post_id) {( Q; z: F* C% w( W% L: Q" W8 v
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
. Z! p7 j$ p$ |( c" t         return;
! A7 n5 ^3 T& h; J1 Q/ s      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE), P, d" }0 O: O9 d: U2 ?
         return;  a/ u) h, x5 O9 d( Z! ^3 e
/ u# u( S7 D6 r- J& s0 {
      if (isset($_POST['notice_title'])) {, e; K' Q7 I5 g3 \# v
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));5 |' o! u. b! m% f0 `
      }
  A  h; d! ]2 X" y! ~- U      if (isset($_POST['notice_content'])) {, T9 y" ?" R! T6 A- Z0 |: F
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));$ @& S; q* U& |2 r, m
      }- ?- q1 R. B3 z
   }
* y/ T* O0 m, Q0 T   ```
4 z% T# u; a2 {. m
2 ?2 B+ X! G8 g% O9 l   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。( A7 S) p$ G; p* y1 h- ?

% ^' \4 w( o7 c( A! K! I7 W1 J4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:' M% @. \9 k' V3 m, O  c$ k( a+ l( e

# _- m6 |$ y$ J& B$ T   ```
9 L" U/ Q0 V' V4 W: a! R4 M   $args = array(% O0 v4 O3 a; G
      'post_type' => 'site-wide-notices',
% `2 i/ P9 i, u0 k      'posts_per_page' => 3,- g( R, B8 c. R! D
      'order' => 'DESC',/ U" _8 P; T; Z
      'orderby' => 'date'- z: Y+ d# D7 ^/ S
   );
  ?" }6 P* v+ T1 c8 p   $query = new WP_Query($args);3 |2 G; H: `% a8 a8 M
   if ($query->have_posts()) :7 ^7 x7 a5 r2 p& T) P3 `
      while ($query->have_posts()) : $query->the_post(); ?>
( s) H+ m; h2 H: X9 R; C3 N          <div class="notice">
. I3 j. S6 n2 F+ }  s) b% n% V              <h3><?php the_title(); ?></h3>
8 z) V. G, w! z0 I/ n: y+ ^              <div class="notice-content"><?php the_content(); ?></div>
3 ~; z5 f, O' v* I; y( i          </div>) S# _7 c" \3 B# o/ O, Z5 c
      <?php endwhile;
* z+ K: u* j# d; d, x9 ]( }& l      wp_reset_postdata();
0 |! M1 j# ^9 Z' }2 j   endif;: S3 C  T" F, X7 x, {
   ```
* P" \; ~/ Q, ~- _  G8 t& l# y% N# U7 v7 |. W5 P
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|通达产控投资 ( 粤ICP备2023021749号-1|粤公网安备 44030402006137号 )

GMT+8, 2025-11-23 13:22 , Processed in 0.082198 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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