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

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

[复制链接]

340

主题

529

回帖

3532

积分

管理员

积分
3532
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
; x; M5 @2 y, Y6 e7 N+ D2 w( H) [: O# A
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
3 g0 j/ G8 x" V
4 N/ c2 G) C3 V4 |' |& C2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。# l* I. W7 Z, S) m* @: v
+ l7 i3 e3 S2 @) z: O6 C( ^
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。/ Y$ J! y% u: ]+ R0 Z

3 W, Y  r+ {2 x; g4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
1 Y1 e8 W7 u. W  J# f
- E" ?( B) ^6 ~. e3 I注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

340

主题

529

回帖

3532

积分

管理员

积分
3532
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?% I& `/ s* J8 X# ~. M7 c5 K4 G( a; t

: W' ]; j2 f+ R1 g& I# C如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
0 S( I+ Q  j7 W' \* w0 ?3 H( M
4 _' h9 k" T6 Y7 }7 B% Y. A+ \1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
- x. |2 \& h" }' _
: L* R+ |% X; Z& J, M9 V: m7 ?. g   ```5 }# C# d8 i4 Q- d, Q# \8 H
   add_menu_page(
0 h* u2 t, o1 [" x7 u       '全站公告',
8 W" f5 Q& V7 D4 z% g- s       '全站公告',. n- z; f0 r" Y
       'manage_options', //需要的用户权限
1 J9 ]# u+ H  n2 A# \' O  c       'site-wide-notice', //后台页面的 slug% [9 R8 D) S' G4 O9 z7 }
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
9 t% R# r6 T/ t       'dashicons-megaphone', //用于显示在菜单中的图标7 \" M- u' M  a3 B
       30 //菜单项的位置7 Z: i$ F3 D4 ~  {
   );
# s5 y# d4 Q' Y2 {# U1 V   ```
- Y& s( w& ]1 ]0 Y; \* Z2 A) u$ s* n4 x3 Q; T; p5 i4 |3 u* ~
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。  t* g# W9 I7 {8 p* @" E  x
" ^9 F% F9 W/ h. |- K
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
! z' ~! ~4 ~6 t8 G& t) }
$ o- Z9 X8 q9 Q9 ]# V" X   ```8 O6 r! T2 i1 m/ g
   function render_site_wide_notice_page() {
0 f, s. `9 _+ G# M0 H      // 渲染后台页面内容0 r3 [' d) e, I
      echo '<div class="wrap">8 n3 p& ]. ]& U% k# D5 K7 f
          <h2>全站公告</h2>
% `+ d& E) F; T( G. s6 H          <form method="post" action="">
0 n# m& `& N$ ?9 G              <label for="title">公告标题:</label>/ i4 a* C' M4 T/ ^$ o/ G
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
5 O! X5 Z& `1 ~* J8 _1 {: j              <label for="content">公告内容:</label>
  a( s, V* j3 j, T( e              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
) `% U! r& J- V( M% U: ~              <input type="submit" name="submit" value="保存设置">! S& `- H% ?2 c. l$ M
          </form>
4 [2 }- K. H6 s      </div>';& R8 i9 I+ J) ^$ C/ V9 R: x) }
# A& k+ ]  [# E% C9 C7 S: l
      // 处理表单数据
7 b- Z' e' \, i' q$ E) l8 x2 ?      if (isset($_POST['submit'])) {
4 u8 v  a! H' h# M% ]3 o          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));9 {+ K  K& `# C. i& H
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));# H' O% q7 ]/ }' L% \$ q- [9 @: \7 X
      }! V# F; s, N. R7 A
   }' r" e) w  L6 B
   ```
* H1 v5 y7 n, y- V& v% B% Z, q/ i9 [
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。- A$ n  Z6 U2 G) p

: B7 ~4 m. ?2 @; i+ c7 |0 s7 |* m3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
5 ~/ g. o5 L; Z4 c( V
3 D3 ]" @2 Z# M5 B8 E4 |# Y   ```& ~3 `. H' S7 P; P' Z% r7 b
   <?php
* H5 |# r3 M1 l7 N/ a5 Q   $site_wide_notice_title = get_option('site_wide_notice_title');% ]2 {6 q9 U9 ^, |9 r/ I
   $site_wide_notice_content = get_option('site_wide_notice_content');# l' a. r) _$ a
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
$ @* i/ ^/ u1 S+ u+ |       echo '<div class="site-wide-notice">';
: H( j, Z3 N2 A( {       if (!empty($site_wide_notice_title)) {
8 u- _% U& A9 d8 }- ?" l7 v9 @. u& l           echo '<h3>'.$site_wide_notice_title.'</h3>';
) P1 }; p3 z- d6 m       }, j2 X4 ]' D' m2 x  N
       if (!empty($site_wide_notice_content)) {4 r2 `: ~/ M2 P' F$ d, f, |1 a+ y
           echo '<p>'.$site_wide_notice_content.'</p>';
+ O& f- {& Y, y$ K& j. N# p       }
; Q% E' l, D; k; `5 w& e       echo '</div>';
' ^& @% z0 w+ v% G3 N   }4 \' {: J0 E& }" `5 J
   ?>
( N. }; b# w( j/ b8 e+ s( x   ```
5 W' A& S' k! m6 B0 T# ^/ o/ O* |8 t) j7 [0 S
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。  K) L" z/ H# @$ s) D

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

使用道具 举报

340

主题

529

回帖

3532

积分

管理员

积分
3532
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
; I0 Z# O' D+ e) r1 c- m, v) L3 }, L
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
% G; e8 `. {$ J* G, p
( U. \" |1 d8 p2 J1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:$ `6 F+ X+ k) c# _- y
! ?7 b* A8 j/ e* b
```+ T8 A+ I' |' ?" y& ^. x
function create_custom_post_type() {
1 r9 S" z/ |) E4 f! U! @    $args = array(
2 F' [: J! G% _4 x8 A$ @        'labels' => array(
3 n- ^$ C% d  N+ E* A3 @            'name' => '公告',
5 j- ^$ O- z' q$ ^* T            'singular_name' => '公告'
/ s1 Z8 k, |. T3 b6 }& s% C        ),. U& d8 J- u1 U8 X3 ~6 p
        'public' => true,
& n2 x- C, X( d        'has_archive' => true,- M0 }2 ^4 T3 k- V
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
# R, q1 L# y/ w* G, B        'taxonomies' => array('category', 'post_tag'),, I2 c5 _% U5 s7 |5 _  P, @
        'menu_icon' => 'dashicons-megaphone',
% J+ n' V' D6 t        'menu_position' => 5,
9 G5 R* T+ L$ L; `; f& y! M        'rewrite' => array('slug' => 'site-wide-notices')' p: }: n# m' Y* y, }6 b% B0 c
    );: H  L, o- c0 f7 k- h
    register_post_type('site-wide-notices', $args);9 g5 c5 j  }1 a) z
}4 B; C. [! u) |% Z1 \6 \3 ]$ Y
add_action('init', 'create_custom_post_type');
9 r: Y) Y6 i' G* T: D```  j6 o: q4 D6 z% r

8 Z1 _- n! J# J3 _/ _" v" {  ?5 [在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。" M, ]: I! C3 G

( @' x+ I4 d* t1 g2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。7 z. {1 J# n0 j7 y

' A' j5 N9 t, K8 c! v3 o3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
* s) O5 ?" s- w' S3 R/ p8 Q# A( N! P5 Z' a
```
& Y! g3 ~; F4 p+ O) N6 v$args = array(8 m8 o7 S0 n+ x$ R+ r8 T
    'posts_per_page' => 3, // 显示的公告数量$ s! Q" p. ^. i) M6 f
    'post_type' => 'site-wide-notices', // 公告文章类型
" g  e" L7 D* s/ m3 f    'post_status' => 'publish', // 公告状态$ Z& Q$ L" S+ L& u6 X, o) k* k
    'order' => 'DESC' // 排序方式
; f5 E6 J% H5 ]2 I: x0 z6 f);! w& s. E3 j# P$ H2 j

& T" e" s3 l6 N' j3 r; E$notices = new WP_Query($args);& L% O/ T( `' x& a9 s" K6 J+ e
if ($notices->have_posts()) :
) l( g  i5 X8 {4 X    while ($notices->have_posts()) : $notices->the_post(); ?>- g3 c+ M$ m9 V" ~" ~$ C
        <div class="notice">
9 Z0 T1 O2 t; f, G4 W4 D            <h3><?php the_title(); ?></h3>
1 t4 \8 d& U8 ~5 o8 B! V2 m+ L            <div class="notice-content"><?php the_content(); ?></div>/ [' @0 D8 f. S- O# U1 t' l# t
        </div>
1 J- b$ H0 Y, f, O* Q/ m    <?php endwhile;
: _! F1 Y. v. {# x! `( Selse :' r% L* u- {' C1 T# I- X" q
    echo "暂无公告";
- L* s2 W( L3 eendif;9 Q/ S. L% F4 v1 W; R* L1 E1 y( b  c' `
wp_reset_query();
+ K) z+ ]0 @5 n# _```4 F, C) p3 z$ `% z7 {3 E8 W

) x4 Z/ e; Y% |1 O9 x* E' R3 f这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。' L# F8 H- \. Q+ O! V, G- I. Z( y; D7 Y

# V5 R5 g; y9 S  Q' v/ ~3 f* I以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

340

主题

529

回帖

3532

积分

管理员

积分
3532
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?) @  f5 U! j& ]
( n  J8 @1 W% e% ]
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
; r1 |$ o( |' h2 @! I* \6 l+ N1 {* T: x) y7 u- o1 E
以下是创建自定义插件的步骤:% t; T, i/ g7 }; x+ |
$ p9 m: z: q0 \: x
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:. a, |/ T& d& L3 |& O

0 g- D/ ^3 H3 L3 M   ```
+ p  x; r" I/ a6 H+ v# N   <?php
5 Y9 i1 n* j  w* B# G: [6 H   /*
8 ~; N" U! j+ q. E2 X   Plugin Name: Site Wide Notices Plugin' x; W, H: v) X  [+ ~4 b# t
   Description: Adds a new custom post type for site-wide notices.
- {9 D& E8 U8 o   Version: 1.0
6 x6 z$ K! _) R+ I* M; x/ U; H3 g   Author: Your Name9 Z- B' |1 L; [/ t( Z( V2 d8 }3 m8 S
   Author URI: http://example.com! h: G: v5 M( d
   */
! C2 b4 D8 @" f% Q2 c& b
' w5 o( ^$ O* ^0 N2 G   // Add plugin code here...: y7 }$ O0 [/ z
   ```
7 q, q7 F& |, E3 o8 N8 |% c8 T. V  Q! q- q( P( p
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
" W- Q* z! l" L6 I  `; ^& o$ H4 l  @4 S# t) g
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
+ O; }4 z1 [8 g) i  k+ V) Y; R3 ^$ T# l
   ```# X) b9 R2 L9 n- M9 t+ A: N$ |
   add_action('init', 'create_custom_post_type');. G/ a. e% @+ i% u
   function create_custom_post_type() {
4 S+ ~- C$ ?( R& m      $labels = array(
' q2 p# p! N  y6 x) i          'name' => 'Site Wide Notices',
4 x$ M! L! D$ H7 h2 J          'singular_name' => 'Site Wide Notice',
# d7 J0 f! x' p2 y& Z  J9 r1 S8 @          'add_new' => 'Add New',
* c8 i) E- G  ?1 @! k8 e6 }  ?          'add_new_item' => 'Add New Site Wide Notice',! d. _3 q! G/ O/ h# w0 _
          'edit_item' => 'Edit Site Wide Notice',
- ^1 s+ D4 ^6 g& l* x          'new_item' => 'New Site Wide Notice',
6 c2 w: B4 @; e$ s& B( z          'view_item' => 'View Site Wide Notice',- r- Z- t! t# a3 ?* v' X
          'search_items' => 'Search Site Wide Notices',0 |. E- l1 L& D, i
          'not_found' => 'No site-wide notices found',
  ^2 V0 `$ A" Z. }          'not_found_in_trash' => 'No site-wide notices found in trash'
5 S# d3 A) l/ x2 e      );/ U$ o8 E! a: R6 G- P* S7 w3 w! v

6 n4 Y! V: [6 E+ @! |. z      $args = array(
0 j/ q  ^4 r9 @8 o" `          'labels' => $labels,
3 z' A- }$ H6 @+ ^: o. J          'public' => true,
+ J5 S5 W5 T$ M4 c          'has_archive' => true,& y$ ?4 o) a* g" \7 Z) \
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),  ~: `2 d% b( ]7 }, ?
          'taxonomies' => array('category', 'post_tag'),  n; H3 C" A' T: O& N0 Y$ B% |+ w
          'menu_icon' => 'dashicons-megaphone',6 k& @5 F4 f& k6 \, L- I
          'menu_position' => 5,% E0 `0 O; i- v3 c- T
          'rewrite' => array('slug' => 'site-wide-notices')! H5 {/ S* S; K% `
      );
  t9 }- h# K4 Z/ N: J6 {
- v: D- L. g+ B" q) `      register_post_type('site-wide-notices', $args);
2 v& G6 ~1 o# l5 a& Q6 z   }
9 P% r) t* M1 g- e0 l/ Z   ```( z) R. E7 s7 I# D

3 \3 q$ s5 r- ^* G% z/ |# k8 T: {" e   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
7 s' Z; Z0 F8 T+ v- d" h, a
% N* B9 ~0 z' M- l* L) _3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:# p$ @( I, `" p

. t% z4 L: @/ k! ]   ```
- K; w. A4 @' M8 ?   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');+ e/ ^- e  g6 d! N
   function add_site_wide_notices_boxes() {
8 {( w' X+ y$ n" N      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');$ U6 R& J! \0 d1 m' ^
   }4 ~) ], ^' c0 H7 x2 {" V1 j

2 h* R1 ^  i5 i7 p. k9 u! z   function notice_details_meta_box($post) {
: }! V  H' Y8 d; N      wp_nonce_field(basename(__FILE__), 'notices_nonce');1 H: o6 ~0 u. e  ^
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
9 \4 Z' M& _8 m: k& o1 x/ w4 F7 O      $notice_content = get_post_meta($post->ID, 'notice_content', true);$ n+ t2 W8 E, c, @. N3 y+ C  i
      ?>
" k/ C! N9 ^. V/ t: Z1 h! l      <p>' l# F9 W9 A# J' X! E
          <label for="notice-title">Notice Title</label><br>0 M' _. |+ W7 j: C" c' y' y
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
! D. b; v6 ]) ^! G$ X( P6 N      </p>& @0 f7 R) ?2 R8 h$ d, z9 ~+ w6 Z
      <p>
, @" P1 t( @4 ?5 v/ D- O          <label for="notice-content">Notice Content</label><br>$ V$ M( \, h' e6 ^- E' v
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>/ p1 u) P  h9 P) Y9 `4 q, n9 g* E- T
      </p>2 |/ E/ j3 O1 K9 [/ ~
      <?php* b# t8 K* o  K
   }
* d+ Y8 D" K  v% ^' A; l* h* D- ^$ N" A' {
   add_action('save_post', 'save_site_wide_notice_meta_box');
7 r" L  B6 s, i  H2 b   function save_site_wide_notice_meta_box($post_id) {
9 B9 n8 G4 @( L/ Y, t$ ^# e      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))" B6 Y% m, E) x. Y: H% N7 ?
         return;
+ R* v% m7 e% [4 W      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
) W; ?% ^) v* ~/ T& \: E! w         return;
( V4 w: w: \5 F2 R( a
9 n; b+ O0 J+ G2 H: Z# ?      if (isset($_POST['notice_title'])) {9 u. [0 x1 o7 u! }9 f0 v4 Q; q6 \
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));& n  e6 @( d: u. _
      }7 Q7 Q/ [% i. ]2 Y$ M1 {" d' y; e) D
      if (isset($_POST['notice_content'])) {
5 p$ f4 `5 J" m          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
: M1 V, L. n- K$ `6 y) H! ]8 R      }
9 u) S5 y8 Y8 T- z   }" ^; g! S/ y5 j( P  p7 l. J1 w
   ```$ ?+ O8 r! I; a+ j4 T. D1 B* Q
- y9 l2 V- @5 z. p! a/ K* H
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。# l" t0 A$ P" C1 a( ]: O

+ B* Q3 |( A) e" [, |/ ~# \% }  W0 _4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:1 w& G) N7 D9 @* ]0 u( c1 s

5 {: H5 m2 e- R$ v+ j: P7 S   ```5 u: z6 Z; ?' g: ?
   $args = array(; L2 r8 n' W% U, y4 E
      'post_type' => 'site-wide-notices',# p, x; Z& X7 t9 i5 I
      'posts_per_page' => 3,# B1 p% Y! z' Y  Y! N) \
      'order' => 'DESC',
; @+ S4 @% j% e! T1 T# k      'orderby' => 'date', w# s! Y3 n9 Z7 {' U
   );
/ O- w- X7 S' V6 Y( |6 `   $query = new WP_Query($args);
5 O( D3 {( s- z2 ~' |0 B2 r   if ($query->have_posts()) :9 O0 y  k% I0 b
      while ($query->have_posts()) : $query->the_post(); ?>
" z4 _. ^; H1 i! `5 e' U          <div class="notice">
- N: ~/ ~: \% o/ J- r3 Q( J              <h3><?php the_title(); ?></h3>- n- F) g. f' j
              <div class="notice-content"><?php the_content(); ?></div>
1 k1 Z8 z3 p+ h9 g! k8 H$ L: Y. W$ C          </div>4 O5 [7 W! W- X* o; ?; [$ |, r5 r
      <?php endwhile;/ X; h) P+ m* J: p& f" Q
      wp_reset_postdata();" ]/ Z0 y5 e0 v; T& T2 Z, n
   endif;
, y7 |9 U4 ^6 N" Z1 O( Z7 j; W0 ^   ```
. [4 g0 ]3 r. N5 h
7 X6 b0 f" S9 N3 ]9 }# ~   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-20 17:37 , Processed in 0.019644 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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