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

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

[复制链接]

343

主题

549

回帖

3611

积分

管理员

积分
3611
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:, ^2 s( k9 ^7 s: z2 f+ H
* R$ s3 e8 @6 A4 m* ~$ A& }
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
& R2 m  _9 C( S1 {
/ P: i  |( A8 p4 g2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
6 R) O5 |$ T- b3 O  q
3 u9 ~& P' l- A; s1 ?$ c3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。8 i. P9 J7 X' ^4 e
3 L0 j8 C0 I7 n6 {( v
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。9 j# E5 Y5 W3 O# y# F" \5 O( E+ w% j3 i
, t: ^/ V1 y1 ~" i
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

343

主题

549

回帖

3611

积分

管理员

积分
3611
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
% t* _0 Y4 g& s! W: d* Z" y, E% }0 J
. O6 b+ H) |7 ^7 ^) R- J" ]如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
8 C" _  x5 M4 M, z4 e1 o! w7 z0 M+ f4 G* c. d" G
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:% ~& r1 S3 W; U& F+ p

* D4 f" I: R& S. u/ X" f5 B   ```
  V, Y+ z. A# O" z" f   add_menu_page(* E* j1 Q; @- J& e
       '全站公告',
4 G' v1 p6 y; p0 C7 n       '全站公告',) g2 ^1 V& q; Q  o0 g
       'manage_options', //需要的用户权限
5 T: q6 {: J3 Y( H% q; c2 l/ i       'site-wide-notice', //后台页面的 slug5 x) J. j" H  H! D1 `- \
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
: M2 a3 P' g* L' U) y       'dashicons-megaphone', //用于显示在菜单中的图标8 p0 k: L9 H1 A7 `  v# @' I* w
       30 //菜单项的位置
) _) Q% ?& L2 ]/ J; D& @/ m/ L  i0 O   );  T1 u; G- P% w& ~' x& H
   ```+ W. t' c. P. ?) Y3 I1 Z; D
. r( A. m! Z- H: n9 x6 D: c
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。. I6 k- Y* E: q- R/ o  }9 e

5 x. @' T) w+ P& J6 w5 D2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:; Q1 Z6 P6 e9 F
( ]  f- }) t& ?8 }
   ```
# u7 ^7 C+ R9 u; [& I8 A! E. w   function render_site_wide_notice_page() {* d+ }& Y6 j/ V, h
      // 渲染后台页面内容
9 e6 r. O! P" S: o8 V      echo '<div class="wrap">& c+ s% |- p  U1 L  [$ L7 g/ R8 d
          <h2>全站公告</h2>) U2 u) k# b- U! N! ]& @
          <form method="post" action="">  d/ {- O4 H# O8 v- Y$ S7 ^! G
              <label for="title">公告标题:</label>& ]; ^  V, I) q; d$ w* O5 F  y
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>/ _/ w" E6 L; \( m1 g) h
              <label for="content">公告内容:</label>
5 X$ N4 z4 D4 x              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>6 [2 Z5 {6 u& h4 n; W- _  Q, t0 N
              <input type="submit" name="submit" value="保存设置">
/ Q9 W! ?. C8 e9 C$ m1 s% V' h          </form>
  p  G$ h- i% g      </div>';( \" Q3 A2 l8 x, V, }
  F$ p( W( \! ?# l6 h2 S
      // 处理表单数据
8 @4 o. V+ b" g      if (isset($_POST['submit'])) {- K9 o8 s$ e' ^2 Y
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));' G) ]5 c8 z7 |7 p1 h
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
! H& ~% z& A& e4 _      }. ]$ r& }% T8 I5 P+ O: D! d
   }: v& ?" e( {' i4 D  ~
   ```
  E. [, m% Y! c* m* W: L% r2 V7 J/ h* J5 O! o* i9 X! X
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。' g1 F& f+ d7 z& v' j0 W. ~

( R- ?- r. O9 Z' P* M; ~$ y3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
0 W0 M7 m$ ]. R9 c; @# y# Y  M9 Y% m, v# e- o- C6 H6 y% S/ N1 K
   ```0 Y9 i  a3 \" o' ^/ I( n! o
   <?php+ G- }; C6 A$ ?3 a6 W. U
   $site_wide_notice_title = get_option('site_wide_notice_title');
1 ?7 `2 Q  v9 t9 J* x   $site_wide_notice_content = get_option('site_wide_notice_content');/ h  s# D# J% S- h1 f0 z7 q! K
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
5 W. ^6 x/ ^* r3 A. ~" D, b# Y/ M       echo '<div class="site-wide-notice">';% T* T9 U7 ?0 `0 l
       if (!empty($site_wide_notice_title)) {
- f& f7 F; }. b  w           echo '<h3>'.$site_wide_notice_title.'</h3>';1 D& K) [0 I: X) v0 g
       }
' n  y0 [/ k8 l* y0 K       if (!empty($site_wide_notice_content)) {  Y  r* i( _& I
           echo '<p>'.$site_wide_notice_content.'</p>';
$ a( s$ _6 d% e" [$ a6 E" `; u       }  D: h4 }+ Z) h* d6 n' c+ e
       echo '</div>';6 {1 v* ^. {- A( m0 H% \; U; C* f
   }' e6 s$ a7 O" ]& V. y
   ?>
+ L7 O0 y  N% O7 S- x  s3 c   ```- @  t: i" D* N1 v

, O% G2 o+ K4 P5 `' m. t+ \' M   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。' a- ^- }4 T2 H2 S/ j; T. L
0 f8 D! J3 W% |: B/ c1 P
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

343

主题

549

回帖

3611

积分

管理员

积分
3611
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
, p* q) f& M$ N8 M
5 P  i. N2 q3 a% J9 {: E: ]您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:! X# a" k! y6 ~6 k( z6 e$ j3 G: E

$ [6 G$ m( Y; Z& a  S1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
) S% k" k- v- M, E( {6 ]9 U( S! a$ C( v9 b
```
8 a" J8 [% |" N4 U+ t; hfunction create_custom_post_type() {. W: L5 F* H3 T; g
    $args = array(
! i' `( H/ @2 I) ]1 }- s7 \" h        'labels' => array(
: `; c# U- V7 U            'name' => '公告',  m1 m, S& E2 Q+ k3 ~
            'singular_name' => '公告'7 m0 f3 O6 T( A
        ),
' _& A7 f& @/ G        'public' => true,
9 y9 |. z0 n  q* o) V0 V! W        'has_archive' => true,# V' A$ i! E' l4 d
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
+ c1 w6 ?3 ]# p1 }        'taxonomies' => array('category', 'post_tag'),8 M$ U9 L3 Z7 o1 ]9 g
        'menu_icon' => 'dashicons-megaphone',% l+ q* O# ^# [* Y
        'menu_position' => 5,
7 [4 F8 i$ E8 N) f0 w        'rewrite' => array('slug' => 'site-wide-notices')
  ~  ^6 Y) j& c) T' U. C1 p    );
' ^4 U' P) _6 _6 }& J, w+ V    register_post_type('site-wide-notices', $args);) [9 l3 y& D' v4 {* N; r
}
( I' q9 o- ~5 ^- Aadd_action('init', 'create_custom_post_type');" V: ^. E- f9 L  B/ c, @
```
1 H. ?2 n$ @- t7 X, r4 b1 C9 z7 a! v0 G7 K3 T! G
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。" a; G! e  V0 X  {( {

" K, b, c$ o. a) |' ^$ D6 {! \% m2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
7 ]! |7 l' B8 y# _* @* O' y8 Z$ o' ]2 X: y4 {4 F: O3 Z' m- d
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
/ _8 k+ ^8 H4 p8 @# K% ]2 R) P) v6 G1 N( g. ~2 I, f- D' \0 P
```! l/ O1 a* O; n" N
$args = array(
3 }0 j8 _( f1 B& X+ @    'posts_per_page' => 3, // 显示的公告数量- U+ @& C% d9 o& Y
    'post_type' => 'site-wide-notices', // 公告文章类型
) t- D( j: q  ^" y/ i    'post_status' => 'publish', // 公告状态4 j: q) V+ |! I
    'order' => 'DESC' // 排序方式! {. b- I1 z% U" @% |# q% q
);) Y4 B; O4 d, B% R( O2 f+ p

9 C' v5 Z* p0 C' }, j$notices = new WP_Query($args);1 p' F0 x; G$ B
if ($notices->have_posts()) :+ @% ]0 \. L3 @/ I5 B! A
    while ($notices->have_posts()) : $notices->the_post(); ?>
! `1 R! R' P* Z4 t: _        <div class="notice">
6 C5 N/ x5 }9 V7 j& n' F# S# n            <h3><?php the_title(); ?></h3>7 i, Y9 T1 Y" M9 a/ u0 W" f) v
            <div class="notice-content"><?php the_content(); ?></div>. A5 \7 o% e7 w% b8 h
        </div>6 w0 K, @- x* A5 {: A" @
    <?php endwhile;
$ h' ^/ k* [$ Delse :, F5 D$ e3 m5 c% |
    echo "暂无公告";" ~; \' u" \, G8 Q% `
endif;; j& r. D, U  f4 @4 m2 C, X% E
wp_reset_query();
! D( I+ F$ p, ]8 C* g6 F5 a7 k```  e; c- M( W; Y5 P$ }7 i$ _! ^* p6 v

' R# a+ P: D& g  |7 t: @0 ?( P这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
, K3 W$ J$ W3 v0 U% ?+ ^$ Z) n/ T+ U" J% |
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

343

主题

549

回帖

3611

积分

管理员

积分
3611
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?. j6 T' D1 m0 W" C5 }
& C7 L9 [, q7 e0 A$ I; z
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。+ k' _; ^0 Y& Z% q7 Q

! y, G4 b0 T, x' i以下是创建自定义插件的步骤:' U& H! }+ o6 N; G
0 C8 a: r' w/ a0 \! N& v; P! z( X
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:% g- ^! [) ^& u
  j/ M0 `) Q# p, H& w' B& Z
   ```
7 N" q2 P" J0 t# V/ ^   <?php0 \9 I! ]& Z  A- w
   /*7 \) [1 N' I+ B
   Plugin Name: Site Wide Notices Plugin
1 l3 J# E0 i' J2 x+ h; g: [& L   Description: Adds a new custom post type for site-wide notices.% }( d) \' |7 C0 K" t* A' w# Q
   Version: 1.06 K3 G: ?! q2 Q' j, [2 E5 ^- c+ r+ B9 N
   Author: Your Name
3 b+ x" B+ w& W& V# ]' r0 X3 A( S   Author URI: http://example.com
5 C% j" S1 Q# j. j' m* y# m   */
- r3 w! }6 f( A" B5 A, n# i' M- _- k* S5 v/ B5 Y8 s
   // Add plugin code here..." O2 e0 G- j0 X8 c# m8 n) j
   ```
! n* s8 I; K& W: R* S, o, }
0 [, e& ?' F4 b+ q4 x' T. W   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
+ P" G7 y$ V$ Q; S4 U! z* I0 }( b9 @" H, n' q
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:* D7 y5 u2 h8 G, e9 Q0 ?8 O
( y+ U" s) O5 _0 `& N& z
   ```
) s0 ?* K  U8 _1 |   add_action('init', 'create_custom_post_type');  p8 p% o9 q: {- N- V8 `; f  J
   function create_custom_post_type() {
- R3 @4 M# s. K% o      $labels = array(8 r! Z2 r6 T! e9 O1 D
          'name' => 'Site Wide Notices',
" }* S$ k( Z; O$ h6 t  ?          'singular_name' => 'Site Wide Notice',: v1 h4 O$ q4 x" W7 b, u4 B
          'add_new' => 'Add New',8 f8 r! Q, ]% p2 p: v5 A2 H
          'add_new_item' => 'Add New Site Wide Notice',! j4 M0 }! n: s0 L
          'edit_item' => 'Edit Site Wide Notice',; e5 o  ?7 {* t" Q1 x( f
          'new_item' => 'New Site Wide Notice',- S* V% p! u8 H4 j6 W" d$ N
          'view_item' => 'View Site Wide Notice',
3 I! x5 J. Z; ?- `" l          'search_items' => 'Search Site Wide Notices',. {6 y: t$ Y. l
          'not_found' => 'No site-wide notices found',
% H# P5 T/ ~( _; g          'not_found_in_trash' => 'No site-wide notices found in trash'" |2 O0 n$ b3 @: ~2 E& j7 W
      );
4 i5 v) o6 K/ Y9 E
1 M6 x6 d7 Z# x0 q      $args = array(
# ]' o0 h8 G+ n% ^" r3 \9 W          'labels' => $labels,
8 ~1 g9 k( v9 {1 t          'public' => true,
0 E' V3 ?+ n1 Y! d2 E4 D          'has_archive' => true,: ^: e4 {5 O; U4 K6 f  Z
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
9 a  M. l: a2 Q, J# G+ Y          'taxonomies' => array('category', 'post_tag'),
1 F1 n  B5 c) i+ g          'menu_icon' => 'dashicons-megaphone',
  p* K5 Q7 N8 m          'menu_position' => 5,
1 X9 F! N8 l" B* ?$ s) O          'rewrite' => array('slug' => 'site-wide-notices'): G. I8 F# x' h4 d- U4 ]
      );0 k! R8 T' T8 h3 o( t
. o7 Y2 z- s+ T3 ?5 Q, f
      register_post_type('site-wide-notices', $args);# g1 B. b4 E4 _! L) N
   }% Y* Z- R# R9 e4 H; U. {
   ```8 x* K) h' l! _/ |: R( [
) ]1 H8 H6 @) Z. A2 v
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。2 V# u2 ?: ^3 [* U

& O* G5 a  f, f8 H3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
3 D/ Z, w2 v! Q. Y$ o  i2 ~2 q( f8 ?( X! _* ]8 I
   ```
; C$ z* {6 i/ [0 ~# V' m; j2 S+ [   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
) V6 d8 R4 ?3 w+ |. z; u7 p/ N- k6 ~   function add_site_wide_notices_boxes() {8 F  }3 i+ u* i( W# g& N5 f9 y# K
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');& F  B1 h& \& c
   }
% }8 G% D8 B4 F3 w- f% {% A* u% P0 j. t8 L2 M
   function notice_details_meta_box($post) {! m7 V# R5 g0 F0 g
      wp_nonce_field(basename(__FILE__), 'notices_nonce');: d2 W6 |! {1 S: P& @1 P
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
9 ^5 W3 e1 D; B# e: L# q/ D      $notice_content = get_post_meta($post->ID, 'notice_content', true);
* a6 |$ h3 m. a+ T      ?>
, ^9 e# F8 y& M7 |1 P* t      <p>* a9 o7 p) M& z! w& m
          <label for="notice-title">Notice Title</label><br>0 h* U' K7 P) y
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
2 K+ ]2 n( t1 r7 Q      </p>
) q* u# A$ m+ l      <p>- g$ E, F, Z) c% i! e
          <label for="notice-content">Notice Content</label><br>5 ^( X* R' Z3 E
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>/ c( h7 ^! Z* f/ f
      </p>
6 w& T; C- x1 s% g( p% o! N      <?php3 p% p0 B1 n  h" r; f. d
   }2 c! L4 n/ ]6 c6 W, o! S6 P1 b
" |4 C2 j- c& H! _* H) o
   add_action('save_post', 'save_site_wide_notice_meta_box');$ K' @) z$ `+ p* D8 ^
   function save_site_wide_notice_meta_box($post_id) {' l. Q8 t# z! r# M
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))( |0 g0 {3 Z* `5 }7 Z
         return;" d! h0 x; o. M: v! y
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)- j. g/ U/ p) t, j0 L
         return;8 ?5 T1 T& B( i2 H
  c$ v; }' o! q$ ~5 J. J# Q1 t. \
      if (isset($_POST['notice_title'])) {
& O0 B3 u8 `* B9 R- K* }          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));7 G- G4 O* ?0 q% d6 s) y
      }
4 u" c3 U7 v. _* F7 G      if (isset($_POST['notice_content'])) {  v# z& j- C9 }) ?& z; `
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));$ T% d- ?- v* e. R+ M
      }$ a) D% _# m* ~" z* t3 O3 i# g
   }
$ D! f1 h4 d- n  a. v   ```! m; N8 n" N: Q

- \4 o% s7 B5 V( Q0 T% L   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。& |8 V+ p5 y, B* K; \0 h8 o
& Y: ^+ A5 Z) @# n3 G* ]4 ^9 p1 D
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:0 ]9 s$ J7 O: a  }8 x1 i- ~
2 y/ I; N: t, g
   ```
( R& g+ o% w: p2 d) ]   $args = array($ y) H% D2 d$ e8 g- X7 s& e
      'post_type' => 'site-wide-notices',
7 T' {4 g8 Q! Z      'posts_per_page' => 3,
, b0 p# `, \+ L# u3 C; f      'order' => 'DESC',
/ `5 N0 ?# W3 T+ [      'orderby' => 'date'% i# ?) L& H7 Z7 l2 J
   );
$ E) `) w1 R9 D/ ^7 c   $query = new WP_Query($args);: V2 z' E' J9 y
   if ($query->have_posts()) :
/ S, z9 }7 S2 e      while ($query->have_posts()) : $query->the_post(); ?>
0 o# N0 G2 O$ i) e+ K4 I/ f2 C0 }0 B          <div class="notice">
% G9 P" p5 ~* @, Z- @              <h3><?php the_title(); ?></h3>
8 R9 A, {# B& w7 B" u/ ^9 Z" @3 _              <div class="notice-content"><?php the_content(); ?></div>' J4 X6 D! {" h+ e$ k2 k
          </div>
6 Q2 a$ e1 @7 c1 `( U      <?php endwhile;
7 v% G9 t& n; b( p! ]+ m      wp_reset_postdata();% M1 f* c  j& z7 I4 T
   endif;
; Q- Z4 [) ]5 j   ```
4 c4 ^4 [  g% _! p6 N9 S5 n
; U; S3 W5 M3 K- F7 J   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-30 09:50 , Processed in 0.016633 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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