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

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

[复制链接]

334

主题

517

回帖

3394

积分

管理员

积分
3394
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
2 w& K+ W: L6 I0 N" i
; m7 C8 I4 S# j( l1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
1 q$ x2 l1 X' X# j- \" |+ N+ J. |5 j7 d- S: _
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。' _3 n. t% p; D2 L
+ c( C3 m) Z% T. L# g
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。% C3 V6 D% ^: x

0 y3 l5 H) ]% V2 q" o. W4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。, s4 n* ?8 G4 F% @
; O3 v0 f8 B0 u% x9 {0 B
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

334

主题

517

回帖

3394

积分

管理员

积分
3394
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
+ K$ P$ X( D' m  @' z
9 _2 [7 p% b- r! |' s* Y如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
  j; [- t4 _8 U; P7 R" j
/ ^( T6 ]8 n8 c; J2 S1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:; N' t3 M) c& U5 h

! m( _4 d: E( K! Z% `   ```
3 }" f- |5 F: k6 u# M   add_menu_page(& a0 i9 Y2 I5 ^! u! v6 ]
       '全站公告',
. T- F7 d; N: X/ |) h5 y4 m       '全站公告',
- j, I: ?: S4 o9 g# [7 d, O       'manage_options', //需要的用户权限* ^/ M/ `% W* ^/ }( p$ U
       'site-wide-notice', //后台页面的 slug! {. I$ V4 n# R3 ]: n
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
) \8 f  O7 e+ J. L" l( Y       'dashicons-megaphone', //用于显示在菜单中的图标2 {7 L! C, N' l' q* [
       30 //菜单项的位置; j9 ?( w9 n/ Q% m- d2 N
   );( T& r' S  ?' W; f; \% w, i
   ```1 _1 Y/ B3 g3 k  G2 M
7 E7 n1 a6 `* S9 [( ]! k3 F+ X5 [
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
# t9 V% H8 {9 @6 k( p# @2 r" D8 b- {* B  m* l- s
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:) L5 |8 Y. ~: y( t3 A  g- M  t

5 ~( ^' D2 O1 k7 K; }* X   ```1 Z6 M- s! h4 a, y
   function render_site_wide_notice_page() {
3 z4 f8 T1 F, ^1 y- g; E      // 渲染后台页面内容
/ h% c+ Q1 l6 `- Z: z) j, x      echo '<div class="wrap">
' e" g9 P9 @  F( T2 ]1 _6 u" ~) f          <h2>全站公告</h2>+ s! T7 v; l* n% D* n0 o2 E8 w) g
          <form method="post" action="">
  d% `# L4 E6 K  n3 B              <label for="title">公告标题:</label>
' M" a1 {7 P6 p+ K3 r  k              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>8 x  m9 N, s/ c7 a* k7 h* |) Q- u
              <label for="content">公告内容:</label>8 U% c6 I4 v' S. c. B
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
! f$ v* C# K5 U, U/ N              <input type="submit" name="submit" value="保存设置">
* D. k1 Y+ R" k' A          </form>+ a) A, i7 n5 ]9 x% K  e
      </div>';1 i+ R- i) Y) r; @
" x& K8 O1 {; ?
      // 处理表单数据$ S' Z5 ]% ^! f6 ~
      if (isset($_POST['submit'])) {
; X& u! S# E; G0 r3 Q. t          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));4 b4 r, Z1 M. J1 l1 |  n1 t
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
( {* \+ [6 N2 l1 c) t' |      }
5 N2 a6 `) g  v% D- G; P) u$ _) E   }
( i3 k% e) h6 h/ j9 J4 b   ```( m. K$ d; l7 {3 L* a7 l; Z5 ]' O  \

6 J: j4 B% c% j! B1 ]. V5 r   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。$ v) |0 d( n: q4 O! c# h, A8 t

; }4 j2 b! m; q1 e3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
! j4 A$ h( K+ G& _3 `" G. Q
* m9 E3 q- U- @+ V. F9 ]* r0 O$ L   ```! e7 L% G3 U7 W% T( v( P
   <?php
( X. o" y. |1 d, }4 B& B6 p   $site_wide_notice_title = get_option('site_wide_notice_title');$ g8 D. ^( P0 U* b0 h4 N6 O
   $site_wide_notice_content = get_option('site_wide_notice_content');* K6 m7 M( C/ [- [3 `7 ^% Q
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {* N! R4 h# }2 j
       echo '<div class="site-wide-notice">';
9 y6 F8 o% m2 p1 R( n! E& \       if (!empty($site_wide_notice_title)) {1 N& R) m% v5 D# S# r' X2 O  V
           echo '<h3>'.$site_wide_notice_title.'</h3>';
; v9 k- G- h* C       }
$ V- A- \$ I9 t) G       if (!empty($site_wide_notice_content)) {
7 l+ O6 n! Z5 x9 O( a# Q! o  U           echo '<p>'.$site_wide_notice_content.'</p>';- D; P# I! I: J4 Y" J
       }
. O' ~/ ~$ x! s0 L8 ]8 A5 a       echo '</div>';% v$ @+ y; c+ S7 g% @, _$ W7 v3 B3 N
   }: N/ Z; h2 }6 m& \2 P
   ?>  t/ G& m  j* i) B
   ```
) q8 x7 D! l4 K2 P$ @. L& A* i$ e# \7 H: l2 J. O. N% u
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
4 E+ o2 y6 `( _% C! k9 K! X+ I' X1 Y; K; a0 }0 d. y2 P/ R
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

334

主题

517

回帖

3394

积分

管理员

积分
3394
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
$ z* S# M' ^7 M; N7 v5 ]
& v* k' e' I' i您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:+ S. s0 w' p" R0 b: i2 O. M
* a# T, {. e* b' W1 _& a9 B
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:7 |; l' Y  w1 V9 k  I! H
3 |0 Q$ X6 E7 _- V9 G) r
```
3 q9 z$ X- f- z. Hfunction create_custom_post_type() {1 M1 U; O9 a. g4 w4 j( s+ p
    $args = array(# N* t5 x, C. Q7 e! I& ?
        'labels' => array(
$ ~. ?+ ~- y  g- S  f- d% i            'name' => '公告',
7 Q; |& G8 g. L7 D/ Q6 T            'singular_name' => '公告'
3 o% T9 o1 }  J2 ^3 ]* p' Q        ),& s2 A8 Y. X* J* O+ D8 [5 _
        'public' => true,% `/ W/ ?5 Q% b9 e! l/ C  J
        'has_archive' => true,1 ]" x3 G4 ?5 P. P8 Z0 C
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),% ^9 Z3 z" `: [9 X
        'taxonomies' => array('category', 'post_tag'),+ g! n+ O4 Q4 Q$ Z
        'menu_icon' => 'dashicons-megaphone',/ i; C6 @/ |3 c" f$ J
        'menu_position' => 5,3 X7 X" `* o- H3 \  ]# p
        'rewrite' => array('slug' => 'site-wide-notices')0 a% u. u0 h( N2 \2 Q5 i' z' ~
    );+ u  I- }5 _& k" V# _
    register_post_type('site-wide-notices', $args);# c8 X. I! \( Z: k# T* Y: i
}
( C  D1 A5 r' B" v' K4 badd_action('init', 'create_custom_post_type');
, q: G2 }, I! x( L```
: z  R' N( B4 P% |6 n& l8 |% T% f7 s* Y4 D8 y# i
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
2 A( y7 F  D# y) j9 D' x2 Y0 A+ `# H; l/ ?( V/ V) b
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。/ {) c* I5 y/ m3 a& F

& q0 S( T% b) g& Z( m0 v( R% e3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
! T0 {+ L* X* T% U  j+ s$ S0 k! p; x- y
```
" I7 A; j1 R( [" i8 M$args = array(2 Y% D* S4 O8 z
    'posts_per_page' => 3, // 显示的公告数量  [! I0 E/ ^1 |5 [1 ?1 o- k3 [- w. S
    'post_type' => 'site-wide-notices', // 公告文章类型7 c4 Z5 V1 x3 a
    'post_status' => 'publish', // 公告状态: }6 r4 f  a8 ]" S( m
    'order' => 'DESC' // 排序方式4 p3 @! ~" n4 u
);
" ]6 q3 O8 e" H6 O$ o  N6 E5 O' t7 R3 [: S' Q& j% m
$notices = new WP_Query($args);
9 S; M( b& O3 l7 N; R/ ^% tif ($notices->have_posts()) :
+ S" \& x* N. V3 S    while ($notices->have_posts()) : $notices->the_post(); ?>
# D# G6 h9 b0 S        <div class="notice">
( F  {$ \3 @: H8 d  N            <h3><?php the_title(); ?></h3>  f/ L+ q* U5 n+ q2 N( L6 T+ v1 |, U
            <div class="notice-content"><?php the_content(); ?></div>) S5 P( g. Q) n* [2 w
        </div>
2 l6 f0 F4 f3 V0 }  L% ?/ ?  Q    <?php endwhile;# [( v4 E9 u% m$ ?
else :
9 S! i# H* V6 z) V( V; M. C    echo "暂无公告";
) T/ z& G  p; R+ _endif;0 P" m6 n; o. e+ g6 k; v7 f% o1 |
wp_reset_query();
- n6 B/ l. l1 }% ?```
6 ^+ u% u" `$ f: H! p# W
+ ~, k) M& x0 _8 G, p这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
( O, _6 |0 }9 L0 e8 ]' n, F& Y0 \) [. G+ h7 @- \# @7 h
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

334

主题

517

回帖

3394

积分

管理员

积分
3394
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?/ `3 K7 f% K" F
2 y; m2 t/ @, L
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。* W! |0 N$ R# O
% g6 |( S3 h- T; ]: }
以下是创建自定义插件的步骤:
$ ]5 m* C- j' g  Z% W3 t1 k. m3 x2 i1 P4 m1 p% i1 R- n# N' G; r
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
6 b  c# q! l$ @7 K) B
! F, {" t0 A, o7 q6 W/ G   ```
- r% ~5 P* h& J- f# F# R* ^   <?php! X# p1 G, x1 _3 \* F
   /*
' l  e3 B$ z$ `) W. ~3 P) U   Plugin Name: Site Wide Notices Plugin
, R" u4 A4 i- t   Description: Adds a new custom post type for site-wide notices./ T, ^9 I' U! X1 b$ c) ~
   Version: 1.0
- h, W+ B8 H$ f# i   Author: Your Name
6 O  i( H& g" L5 x  x   Author URI: http://example.com
/ }) j5 @7 h9 @6 R6 H3 |: q   */
# v0 r) O5 x" k
* T9 k3 c+ ^$ _( y: k) G! k8 k   // Add plugin code here...6 p- a, Q% ]0 ^" l) r( \
   ```
8 S0 ^6 |+ k( J+ }; K( Z$ d% s6 E; Y2 {5 C0 Z  O
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
, u$ T) Q: L. `1 ?2 {: d1 C$ L3 I" I. }% |6 L5 N
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
% H) e3 [8 h( k& O5 H: E2 _* w5 Q' s
; _* c$ e9 w4 b- Q5 J   ```
7 N, o9 ^( k4 ?7 b/ t8 \   add_action('init', 'create_custom_post_type');
* C8 I+ B; i, Q5 z& L   function create_custom_post_type() {+ F7 }6 U8 b. h8 u) Q2 L% d6 d
      $labels = array(7 G. T9 u$ g" c
          'name' => 'Site Wide Notices',
4 P: v( M5 n  ]9 p( H1 r9 l; O( Y% {          'singular_name' => 'Site Wide Notice',& n( @8 e$ m' i
          'add_new' => 'Add New',9 Y& \, b; u* O3 d$ C. x
          'add_new_item' => 'Add New Site Wide Notice',
" a3 h% e1 D9 o3 `* {% }1 Z          'edit_item' => 'Edit Site Wide Notice',
7 e; f9 Y4 f" Y' ^6 T9 S5 |          'new_item' => 'New Site Wide Notice',
. E' ^0 S/ v0 J' K          'view_item' => 'View Site Wide Notice',8 b4 T9 w, N! f% F3 e) E
          'search_items' => 'Search Site Wide Notices',% q! w/ p& Y$ P" e% j
          'not_found' => 'No site-wide notices found',
, W3 X+ R6 ^2 L9 L# Q9 h  W          'not_found_in_trash' => 'No site-wide notices found in trash'# ?- j6 T4 Y0 c0 p* A. W/ E
      );
* d% q5 t" z5 B9 C9 n! U4 m0 w* {( O- o& V- {* O
      $args = array(3 s8 S9 N" L" k9 y7 x' ~; p
          'labels' => $labels,7 [7 y: n( }  U2 D( D- p
          'public' => true,5 b3 j; F; A  W5 a
          'has_archive' => true,  W- @/ v" u1 R  a4 k  q, L
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),* {) E$ [! C" B" }. D4 O3 k  }( B4 n
          'taxonomies' => array('category', 'post_tag'),; B% x. ~( B. G0 `4 E& L5 x' c
          'menu_icon' => 'dashicons-megaphone',
$ X% d& o; u% t2 C          'menu_position' => 5,
/ d+ ~# m3 [* T  f, u; x' M* g          'rewrite' => array('slug' => 'site-wide-notices')
; @7 z$ h4 n* F; `4 t  K" e      );
. w. G5 h8 \  u3 w4 B) }( f9 {  u2 F0 i, f' B! Q
      register_post_type('site-wide-notices', $args);
* [8 d3 A# W% N, p2 n   }
. y8 f5 I8 l* s6 e: ?: |$ h   ```' c  U  B! R' V! X3 ~( v/ z

. {+ n& b8 ?& a   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
  P+ ~/ R) c  y; E' y& p( ~, c* e; }. |2 X/ J" o: p
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:# U2 @( c3 l* ^
+ B) ?3 M1 U$ U/ m: Y
   ```2 g2 o; |/ o/ T7 P, s: y, L8 T
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
, i+ m3 b& T3 L. P" F0 a8 ~" b4 c, _" D   function add_site_wide_notices_boxes() {
9 E3 K5 _8 n3 }      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');3 p7 h$ A  m8 V
   }
! h) x) r) r) u" w: L* {
% ?6 @5 A* {1 l2 P6 R$ a   function notice_details_meta_box($post) {
1 O* M* q1 Z2 b, G. E      wp_nonce_field(basename(__FILE__), 'notices_nonce');1 _; r  L! c* P: ]
      $notice_title = get_post_meta($post->ID, 'notice_title', true);2 G" Z7 v; `) \
      $notice_content = get_post_meta($post->ID, 'notice_content', true);( Z( s9 V! P) W: ^( I# V, M
      ?>
' b+ n8 K! ?- G) K4 a! e& {      <p>- F+ C* k# i: |# K  n5 e- Z- {
          <label for="notice-title">Notice Title</label><br>2 D3 v* n! r% l
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">  {1 v5 p! U1 l0 Q  ~& r! F, [9 a, E% E
      </p>1 Q1 A- \( _" Q+ ?
      <p>1 s# T' J7 x0 C2 F6 l, m
          <label for="notice-content">Notice Content</label><br>
8 G' }, q7 g( P) `$ L! l( w/ \: e          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>( J- P! R3 s% |( W% @" |, T1 [
      </p>
5 t* L& v# M6 n! H- p      <?php
5 D( Z4 l, y, Q* A/ g) ?/ X0 m   }
. B4 H7 \( [" i# z5 y5 b. Q* Y: E" V
9 N" q0 I8 t1 I' u   add_action('save_post', 'save_site_wide_notice_meta_box');0 {3 ?" d- k3 B5 g6 P! _4 b
   function save_site_wide_notice_meta_box($post_id) {
' t- B# |. Q( z9 J3 T. u      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__))): T$ l5 E# |( ^# W2 T
         return;
( |. A) j6 {: q" k8 ~      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
+ [- H! R/ w/ }# x  a. c         return;
* b, y4 K5 W; [: o# z+ z( k0 f/ X: @
      if (isset($_POST['notice_title'])) {
9 L/ }9 y; B/ i; J          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
' H1 ]; P- p. T# f* t) \      }  A  ^" Z) @7 Z" N+ J* g" l
      if (isset($_POST['notice_content'])) {
- ]& i0 F, V# J# D9 [' U          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
, Z, T$ W! z' J3 |      }8 X; S8 l! i2 M8 m" l/ c, v
   }
: R6 ]& [# \! t; G/ h4 \   ```9 ?) x2 H* i( }

1 R$ \0 K- {2 h' @, k# S' T   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
  d' T# p6 k8 w! R8 j" ?9 s+ ~+ g- ]8 L0 _2 E! K5 H
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
( R/ L# _; L# d2 b$ M, k/ N1 u8 J9 j; S6 D2 N
   ```/ }; C3 p$ |2 y
   $args = array(6 }5 r1 R) i$ E/ v
      'post_type' => 'site-wide-notices',. ~; S+ t9 s2 U5 C4 q' D, t6 O2 }
      'posts_per_page' => 3,
% D7 b4 \- k$ B, f( {2 V' u1 R      'order' => 'DESC',4 t) d$ z: m; e7 {
      'orderby' => 'date'3 [/ P1 e. F3 a/ ]0 y8 l& R
   );
( i0 i( r" t/ K  R( g   $query = new WP_Query($args);  Y+ b5 i7 J, G0 ^
   if ($query->have_posts()) :
$ V% {& Q" v4 X# D      while ($query->have_posts()) : $query->the_post(); ?>
1 l6 F8 w/ P9 `& P% }          <div class="notice">
( Z! |. g6 g# K              <h3><?php the_title(); ?></h3>" X, d$ s: r! o
              <div class="notice-content"><?php the_content(); ?></div>) b# J* M) f- }, @
          </div>
% z3 z3 D9 V" ?1 T/ h0 d- D- `      <?php endwhile;% z8 R4 {- H- t' i9 @+ d( s- r; {
      wp_reset_postdata();% e. T; [  ^8 A3 D+ r
   endif;
# \/ \& u, w: H; g1 u9 k3 P: [; \% N   ```
" R) _9 n9 l* G5 z0 f3 P$ k* ~) C6 f5 q+ y9 A, \
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-1 02:00 , Processed in 0.097038 second(s), 7 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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