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

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

[复制链接]

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
9 p; r% E$ a4 s+ Z2 O
; M' o& q( j; ~" I; Y1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
' b* `, E4 Q2 ?  E+ M! c
2 D% m/ L7 i( {8 I4 `2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
3 f3 D- z( w3 h( [: \5 _3 v7 V9 R4 m1 t2 t% e
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
' `2 @) A( j; k5 l8 m, k0 C2 E9 F9 j& I) m
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。/ D7 P. z; H: V( p  i8 A
( X: C1 n: s: N6 k. j2 R/ S; u
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?8 Z( F: q# Z6 ~# |& Z1 r3 C  l
3 D! ~" U3 U5 ]3 i% k
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
% y3 q# C& `/ c; K
" |/ q7 d" H/ Z# D1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
+ V. e; q% Q. @" P1 d( ]7 v
' g3 X1 @( P0 p+ ]- k* w& v   ```
1 h. k$ R# O; p, Y   add_menu_page(
5 J# u. L7 n  F2 h8 L       '全站公告',
7 Y' {$ r* y0 ?/ E1 M' s( W1 n# d       '全站公告',9 D' h; _5 I% E
       'manage_options', //需要的用户权限, v: `1 g8 x: I4 Q  U$ @
       'site-wide-notice', //后台页面的 slug- O* r3 S8 {& \
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数5 e/ I% [, f% r" o; G
       'dashicons-megaphone', //用于显示在菜单中的图标
! V  y( h7 z) e8 X- o4 K& P* Y! z       30 //菜单项的位置
+ ~( Y3 ^* i, ]8 X  k: ^8 q   );
* Y1 y; _) s$ `- Q; Z0 F   ```) z6 z5 M, U: ], j0 l

: j2 y3 ^' D. r   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
' f1 s* P; Q0 c8 o/ g9 \1 a& k& D
6 X5 s0 H; ?# s2 f% D" ^! o7 _2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:# A7 J- d; x" O5 h4 D; i. R
; _* Q, A: C; U( P: F4 u
   ```
& A7 B) F  w! ^- E& L   function render_site_wide_notice_page() {
- W" h# s3 S9 b2 Z& K, e3 f      // 渲染后台页面内容9 [& g) Z6 k: }% j0 x" U
      echo '<div class="wrap">
& A! q4 a- s7 h7 r" Y$ d3 y          <h2>全站公告</h2>" U: p0 i2 |7 z7 N* L
          <form method="post" action="">
) L) R9 U; v  v4 Y. m% w              <label for="title">公告标题:</label>3 Z5 C' y5 t  E, t! |3 ]" ]1 I: G# |4 x
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>0 ]9 C3 K* p4 g) c% Y+ s" T
              <label for="content">公告内容:</label>
1 q" {. |' ^! w0 h4 G              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>7 f+ x+ ^$ z, j
              <input type="submit" name="submit" value="保存设置">
& \7 P' f* e' {0 N$ x. W6 M2 {          </form>9 D5 Z& }; @4 ]! }1 {
      </div>';
7 |0 h- G7 g0 D, Z7 h5 s, C/ i
! c; `* x3 r9 O7 Z6 `0 U# P% O% b0 D9 g      // 处理表单数据/ T1 G: Z  e- ], `
      if (isset($_POST['submit'])) {
5 R  {, I/ l* \! x  x$ B: ?" H+ p! X' ?3 b          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
: g2 J+ a2 x0 @          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
) K% s! ^+ b' v* j! ]      }' w$ Z- e5 a& a1 |5 i3 k' h. v/ x4 s
   }
) \) c$ Y2 F; \9 D- \. k% X; y   ```
5 t% ]) S7 _7 `5 ?
# e  G$ {1 U% d* m4 R   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
! V: y; s" i( r6 L1 Q2 D8 v) S8 Y: @0 m
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:8 T3 M9 W% @& c9 u& L! y* Z: c/ S: R

) p, p1 F% G* n  E1 s! x. ~/ P5 q   ```
0 F  r" q% E9 z0 r. K* G  N   <?php
3 j& A# G  \# S# `   $site_wide_notice_title = get_option('site_wide_notice_title');
7 I" G$ L8 g& \! {5 V   $site_wide_notice_content = get_option('site_wide_notice_content');
0 J) W6 u( \( }' B2 j$ ?8 C+ x. L   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
& s2 |! I/ a6 o       echo '<div class="site-wide-notice">';! \$ i6 n* @; q. l; z) Z8 z
       if (!empty($site_wide_notice_title)) {
9 u. L3 C. `/ @; g- I           echo '<h3>'.$site_wide_notice_title.'</h3>';
! g* d2 W1 a4 d  x0 D- }       }
7 C/ K4 V! |9 l) V       if (!empty($site_wide_notice_content)) {# Q( y$ p; u2 R6 ^4 f
           echo '<p>'.$site_wide_notice_content.'</p>';
# h. W6 d0 U( V/ [& G       }
) m8 R. @0 w. O       echo '</div>';) o/ f3 W" B2 l& d; ]
   }
+ K, n+ @# A. O; Y+ c8 o   ?>
9 R4 s( T0 M2 c6 \) v  E   ```2 ~' S* M  Z1 a5 ]) P

, Q8 ?6 t, u' ~) S5 t   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。, \- c7 ]9 d# k) P) ^
8 ~0 N8 S% g, |* O7 l- o# U
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?9 |5 D8 e$ M* u

$ _  }' R4 ?, w! G您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:" b+ n- k7 M5 }( Z
* U0 X' n( N5 N9 \/ U. W  C
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:. u# W4 O+ I, [8 |! H, y2 G5 j/ u

/ D% q$ n2 |4 ]6 c+ R8 f. v$ L```. O& Q5 i7 ^: q  ~5 r& z8 w7 V
function create_custom_post_type() {: y' O. g/ l, N8 q
    $args = array(5 F6 n4 l1 I8 {3 |6 n
        'labels' => array(; }6 i- ]+ ^8 M( [8 d- R0 V
            'name' => '公告',$ p; y# ?6 w* u8 h' p9 Q. U4 ~
            'singular_name' => '公告'
) W4 m5 @& U& a- K$ o  |4 M        ),
# R& i* p" C- @; r. H        'public' => true,
6 s4 v4 _. g7 f2 W5 z        'has_archive' => true,
3 N/ `) C' T, }# p        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions')," f' Y6 g/ G: ]/ I- G" K) h7 T
        'taxonomies' => array('category', 'post_tag'),
1 @! |2 {: |/ A: v( z; p; J        'menu_icon' => 'dashicons-megaphone',+ @3 [; s+ C$ K' r7 ^9 Z& f8 _
        'menu_position' => 5,8 F/ T9 p" s' m$ H  m; ?  N
        'rewrite' => array('slug' => 'site-wide-notices')
4 S1 @, l. ~/ W, y7 }4 _9 q# ~    );3 c. [; f3 j7 x0 S' F
    register_post_type('site-wide-notices', $args);
& {) G5 R! @1 a: c2 m}
; f% B0 R, C4 Q$ Dadd_action('init', 'create_custom_post_type');
: r$ {9 x: A: M' ]- J```
; _* u7 x/ \# ~9 e8 C% d& |
3 H: P& @$ T4 z# d) ~( o: f% c# O6 ~/ G7 s在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
5 S  u  q8 P& B6 n- Z* W  }3 j6 H1 z, h: A6 }1 {
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。- I3 N) N1 W- V( f
* y6 @4 c4 N- m8 O8 R5 V$ u) a8 \
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
7 H+ X2 ^! c/ p
0 o. x' a7 q1 E* g4 ?4 A2 Q```
5 t' Y* L7 }5 j1 U0 e$args = array(
. d. \* j" Z; V1 [    'posts_per_page' => 3, // 显示的公告数量3 q9 t! J/ E3 W9 r5 _" f  @
    'post_type' => 'site-wide-notices', // 公告文章类型1 t0 c- M9 @# x5 ~; o
    'post_status' => 'publish', // 公告状态
1 }, q# c' r# t    'order' => 'DESC' // 排序方式) n- g+ [/ S9 `: c6 \1 ^8 Q
);
$ F0 G9 _9 m9 F; w, E4 ~) c! ]- c; n' _  J2 m5 E% a0 D
$notices = new WP_Query($args);& ~: _5 Y8 W* d5 E- l1 l) C
if ($notices->have_posts()) :3 T/ U6 D: b' \; O# P* H% P
    while ($notices->have_posts()) : $notices->the_post(); ?>1 J$ s; V+ P1 n7 u9 A8 z4 [
        <div class="notice">" y3 a) G" N* M. [' p5 I! \* p# n
            <h3><?php the_title(); ?></h3>
5 M) J5 d/ @5 a* K            <div class="notice-content"><?php the_content(); ?></div>
3 e( `) Q5 d9 p4 r4 [        </div>& P; w% z2 U5 L- p( E
    <?php endwhile;
% O' c- `) _. |else :9 m/ M. V$ ]; @; |4 a* o* q5 Q
    echo "暂无公告";6 {8 C$ P/ k0 I( \/ H
endif;1 q2 \1 Y* k* @- F  t
wp_reset_query();
0 _: W" A, B' A4 c( U```
1 V. m3 A. T: N' h8 V; e! T: _  f+ |& r# N( `) X) P1 P
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。1 F/ S. e5 N! U' m4 C; [
( s: c) H2 b* H! Z. Y
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?# ^% }! X+ C0 J4 V. R2 _

0 o# v: q2 z) ~如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。: p4 L( h) ~5 i  d+ S7 G( {6 ?
$ ^' }3 ]# B. f4 N
以下是创建自定义插件的步骤:1 ?4 J1 _/ p8 d! ~! S3 z

$ q2 |$ y! a, _9 p6 N7 \3 q1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
) S( S4 K3 _5 ^: C/ d, L0 P" ^! u# k- B+ U7 _6 |* \8 W6 O
   ```
6 U5 ^2 P% u5 [( u# }   <?php8 l# X# R: k! a$ z3 b4 S+ @
   /*3 j: }: T/ B/ L0 s# _* t
   Plugin Name: Site Wide Notices Plugin
; Q" m4 d$ d% Q: v& `   Description: Adds a new custom post type for site-wide notices.1 }, ^' h* X! i) b
   Version: 1.0
4 Y# x% u+ v; @. d$ v4 P   Author: Your Name
9 w  Y$ B( s% P; h   Author URI: http://example.com+ S0 I1 z# o1 m/ q0 J$ G6 c
   */9 @7 _0 Z5 x% F' V& t  i0 q7 d! O

* {* {  Z4 f; _7 J   // Add plugin code here...
# T, w* o0 ]& j+ W5 y   ```
0 Q8 e9 y4 S! Q( h4 N
: a: D* }0 A* L8 Y, T   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。$ w1 g( z" K8 N/ A
  q& X% p/ U* |7 E$ V) a( s* n% s
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
5 V2 L( n2 A0 q4 c) m9 ?/ V5 N1 }9 G5 O
   ```* J; i$ {' E8 A  \" ?" \3 `1 u# J
   add_action('init', 'create_custom_post_type');/ D$ q$ z  F$ n5 P. P' y
   function create_custom_post_type() {
1 j$ @; M+ a+ v' j( e  T* k      $labels = array(# }% g  U; e$ i( ~8 j/ w
          'name' => 'Site Wide Notices',, x' D  T- H* Q. ~! [# C- o
          'singular_name' => 'Site Wide Notice',/ G; h  `* X; W- L7 c
          'add_new' => 'Add New',
( g; X, s' d& F- v0 B          'add_new_item' => 'Add New Site Wide Notice',4 ]: l7 F  a. P( R
          'edit_item' => 'Edit Site Wide Notice',9 d8 q  `. j' F
          'new_item' => 'New Site Wide Notice',
! d7 [! t4 _7 h          'view_item' => 'View Site Wide Notice',; {% v* z  L: F9 g3 D: ]& h1 K
          'search_items' => 'Search Site Wide Notices',
/ m" G+ M: w! F% X5 H" B          'not_found' => 'No site-wide notices found',
% U8 z2 J: M/ k2 s          'not_found_in_trash' => 'No site-wide notices found in trash'+ K, c: N+ x8 b: Q7 p7 b/ ?" i& c, |
      );" u5 y* h! p0 S

6 S5 f4 a+ B9 c' c+ D0 g' S( H& {      $args = array(
' P5 G3 k" U" u( Q          'labels' => $labels,
0 O# m  G# D8 g          'public' => true,/ u. n5 C0 p0 f
          'has_archive' => true,
2 l, D6 ^8 A4 b2 ?7 s          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
9 [6 d+ g. K, J% u. m+ v          'taxonomies' => array('category', 'post_tag'),- ~  w- j2 L( H4 z3 |# b
          'menu_icon' => 'dashicons-megaphone',
+ r! F3 `7 Y6 K) s+ Y          'menu_position' => 5,7 x) D/ u+ G3 J, Z
          'rewrite' => array('slug' => 'site-wide-notices')
! q  a+ S! X0 W! P8 y      );
- K% b2 V! {7 g% I" P
, [% M' Q% w/ K4 Q  O! I      register_post_type('site-wide-notices', $args);( V% F% z# j/ w9 _
   }
. \1 R7 F5 n3 U& S% I) h   ```/ a9 G4 u9 A& P+ ~3 G! `1 ~
1 z" q4 e7 x! V, S3 q
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。6 f( |5 |) f" |
" `$ V5 H0 U, V0 h* E
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:+ a! F4 H% s1 ?6 _* r
# l1 B# _4 o6 \6 q* m
   ```, W# A# J3 ^1 [
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');) t6 b* g) j& O" u  t
   function add_site_wide_notices_boxes() {
/ z9 C4 f. p# \      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
+ j( b2 ^2 x. m1 m9 C# G3 D   }& S) C! y) ]8 F- |. i% u

+ }* b# j# q- ]3 l. W6 g) L   function notice_details_meta_box($post) {! Q5 r- l' M' p+ a7 K1 y8 h" q9 w
      wp_nonce_field(basename(__FILE__), 'notices_nonce');
; v6 s8 f  E: J; W% y+ s- J6 E2 a& j! o      $notice_title = get_post_meta($post->ID, 'notice_title', true);) q! L+ W; S* I* [7 R4 a! M! V# w, U
      $notice_content = get_post_meta($post->ID, 'notice_content', true);" f2 B6 Q8 H% T( |3 @7 D
      ?>5 I; z5 Q- K7 Y) t
      <p>1 a9 o! r$ h$ {2 E3 N
          <label for="notice-title">Notice Title</label><br>, G. z) ]4 x: o1 |) D) C
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">! x" V- `- e" |! i
      </p>
0 t3 V  q- r1 J% t8 |" \) n      <p>5 `# R* c, ?* Z, D/ S- j
          <label for="notice-content">Notice Content</label><br>
6 Q$ `' ^* A; o          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
. a/ x$ K7 @6 y/ t0 k* a2 L9 t      </p>9 G% ?. Q  V5 z8 Q+ t2 q
      <?php1 w8 ?: j9 m6 D2 P% @, F% Z
   }
& U& y) u9 S& K9 O4 e9 L) j3 \; }: {& `0 C
   add_action('save_post', 'save_site_wide_notice_meta_box');7 m; V1 x. w# i" \; I$ W
   function save_site_wide_notice_meta_box($post_id) {
$ U, C) ^0 b6 |+ Z+ G, ]" I      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
% m3 M0 O( W" N         return;5 I! F8 [1 E- [% a' `( a5 k
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)" R$ w' e  y( N5 {: d  b
         return;' P$ N8 i6 k% c  T" {" i/ R

4 z, h$ ?0 V# A4 A8 w      if (isset($_POST['notice_title'])) {
, U2 J7 S! B. z& y. `. ]& g( g# S          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
$ {" T& r# ]0 F: O      }7 h, u/ m0 Q) v% C$ i; w6 `
      if (isset($_POST['notice_content'])) {
9 {5 J; h) |& O          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));2 v5 |0 [$ ~& ^9 D7 T- @  h
      }1 V. D: }  Q  d
   }
( j  T# x: [8 m0 g* {   ```
" E6 x' Z9 D* o) Z* i2 y/ A! ^: v7 J! w! N' B) E3 o
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。5 I6 [, z# p( p( x! B+ \
* x# j/ I# h/ b* R; i: \
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:; _7 `6 O" I( d  ]9 }7 v+ ~# n
- [) Q3 a1 G; m3 O- A
   ```# M2 {: Y! T" j& r/ U, g4 ~
   $args = array(1 K. c4 d2 S/ x  r( {
      'post_type' => 'site-wide-notices'," u! s! ~8 m' B
      'posts_per_page' => 3,# D; n* ^# p; A8 N: b- o8 Z
      'order' => 'DESC',
" {  m6 \- W" P4 R4 E      'orderby' => 'date'
1 f+ s) u. p5 }9 b. l  J( R: F   );
' ]5 P, Q' k4 o8 K) a   $query = new WP_Query($args);0 m+ w+ P$ x! K: b  d% Y
   if ($query->have_posts()) :. ^& s* N/ U/ j3 G
      while ($query->have_posts()) : $query->the_post(); ?>2 A6 O' m' t$ v# T
          <div class="notice">
' D# L" L* l$ J) S/ V              <h3><?php the_title(); ?></h3>
5 Z$ I. O% T' `1 u' s              <div class="notice-content"><?php the_content(); ?></div>: S* O  z, U0 F7 Q9 j7 z' ?
          </div>% Y, h0 b+ Y$ {1 N) [8 k& \* B
      <?php endwhile;
7 [7 _+ Q# a2 R9 ^% x5 f      wp_reset_postdata();' Y# w: {6 ?$ ?! m" E/ n( i
   endif;
8 b9 C8 @' }9 I   ```3 o3 D5 l, W4 c5 r' u; i7 V( \2 [
1 ~" J. A. H3 x3 F2 |* d
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-23 15:26 , Processed in 0.012371 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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