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

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

[复制链接]

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:# F5 J3 s, g9 b( G4 g* u; |
, c& P( p+ T# j' Z5 @
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
# @4 g& W7 s) V$ k  o& e2 Y
6 a0 w6 E, [4 G5 U; Y0 Q2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。3 R/ j  @  \; T" D5 \( }* X, }

, q/ @0 I) s+ U5 k' i% C3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
; g# K  A0 U) B. V' N$ J: s8 q; ?6 @: f( {1 m' o" s; l: H
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。5 ?6 t, l8 x& x
( D4 }3 g7 m6 ~/ f. D  w6 r
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
* W5 [: {2 ~, J1 {" b6 O3 N2 q
! I% j+ L' i& e$ Q如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:" v3 ~: X; j/ n" W1 Z( Q
) C# R1 ~8 O0 l' K' D4 A
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:9 i1 c# S$ y" c+ [, t+ B
* F5 M& j; P% f3 D
   ```6 t6 R. h% r. c* ^
   add_menu_page(
5 A3 m; Z" d/ q       '全站公告'," M) @9 y5 H* E* v# Z4 g5 q
       '全站公告',( K! K: S9 [2 }& T9 U6 @: L/ B
       'manage_options', //需要的用户权限; y0 p# @3 D- r9 u( K' ?
       'site-wide-notice', //后台页面的 slug
1 j* a2 T8 F# F       'render_site_wide_notice_page', //用于渲染后台页面内容的函数" M- T$ c7 V# v. k/ m0 s
       'dashicons-megaphone', //用于显示在菜单中的图标
' f7 t1 a- n" U) I6 x3 a       30 //菜单项的位置' g6 b+ L- I% r- y1 M+ B. P
   );
, C. R6 \7 T: u& Y   ```4 z! t$ F6 u3 {/ W( M* Z3 ^9 ^

; _$ f9 Z& e) {" _  z   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
6 W8 x& S7 d3 b9 q6 `7 e8 G% J4 ~  M$ b0 n5 Z4 I
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
2 p- f9 T, q9 L' J) K
" [! ~8 Q" ~" p* u9 z   ```
7 @  u# R( [' b1 P   function render_site_wide_notice_page() {
* A* k1 R# c% H3 t      // 渲染后台页面内容
+ O' V9 D: ]" y% a5 o  ^* M      echo '<div class="wrap">
; t' o% A. g' o5 C1 z          <h2>全站公告</h2>
+ X" Z, @, S& k3 i: ~          <form method="post" action="">$ _6 n. k1 N# s$ \
              <label for="title">公告标题:</label>
9 W8 _$ N# `1 G1 u) z              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>0 d- ]( y; s2 H  X+ k7 f- q
              <label for="content">公告内容:</label>
5 u' a& p4 M& Y              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>1 q8 c9 }; L# C; Z
              <input type="submit" name="submit" value="保存设置">5 p" a7 h8 p0 o% I& P7 z
          </form>
0 d" R! D0 b3 x* P6 V7 R      </div>';
  u2 T% m3 }$ X  ^  Y+ T5 t/ Q2 p3 ~
: E3 U8 S" b2 B; {( Z1 D7 }      // 处理表单数据
8 b+ {9 @& S" y( z8 A      if (isset($_POST['submit'])) {
8 J! x& u' `6 v5 H( I6 `$ N9 X5 w          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));* g7 `* I6 G$ j
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));- Y& K, m, h: C* T
      }6 m0 Z/ `# Y9 h
   }- O3 C# H0 K1 a' v) V
   ```# _+ U$ t4 B! W, [
6 F: i6 ~$ U9 g8 J! o0 B, i6 b
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
. S: x# g7 a! H! m0 W  L6 \1 W6 a. {& I
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:( h2 J' K5 }8 F3 M3 Y! V

& ]( Z4 {% t/ a5 d5 ]) r% `   ```
  R2 C* V2 N- Y' ?, b% k6 X   <?php
+ p, Z7 R& Q* X2 u3 f   $site_wide_notice_title = get_option('site_wide_notice_title');; t  G" b( s, s4 g6 I
   $site_wide_notice_content = get_option('site_wide_notice_content');( Z6 ]/ v( y  B3 ^- H& k: V
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
3 g- f4 ?& F* X4 S6 v6 F       echo '<div class="site-wide-notice">';1 S: U5 }5 m1 ~) S
       if (!empty($site_wide_notice_title)) {" g1 }5 t8 _- j' Q: @, v" \% z, b
           echo '<h3>'.$site_wide_notice_title.'</h3>';# m7 W( H; d! M! e0 D
       }
2 L7 o6 t0 G# o) [# i  z       if (!empty($site_wide_notice_content)) {- A& R2 L. {; A* \
           echo '<p>'.$site_wide_notice_content.'</p>';
, d) u$ c6 g/ [% H( ~       }" t! f8 `( l) @5 V
       echo '</div>';! l1 s2 g0 q0 q. _, L3 g' V7 x* B
   }
' U% M' ?. V+ W: S2 I   ?>$ v# e' @8 A1 ?1 |- S
   ```
' _7 D0 h/ l, Q9 b, ]2 U
4 B& x- E& e! X. M8 y, @( E   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
# Z, J; Y7 k; i# i8 B& L/ j  Z0 D8 y
# [; {6 _9 P7 _7 ~请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?1 J. f) l, f( q0 S/ e" |/ b
( |/ u' F5 F9 B
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
" `6 E# |. c/ a3 U! O" D# N" Z
* ^+ j+ E! k8 P4 ?* A9 x1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:- A2 S, H; @3 J/ L2 z9 w2 {
2 W; l/ g: G  W' V
```3 k. ~# D! q4 X% ]8 l/ \3 z6 P, c
function create_custom_post_type() {
; B6 k; L3 P: O2 }( B( F3 h    $args = array(
6 I8 v: ~6 J2 ~5 {& C/ a        'labels' => array(6 P7 r( J, d+ u( L% o( K
            'name' => '公告',; }. [% f' x: t
            'singular_name' => '公告'/ M& r- M7 Z' E. b
        ),! g1 o3 z, K9 d9 y# U
        'public' => true,
2 }; ?. x  Y3 h! R" \        'has_archive' => true,
9 ^# D+ s$ \/ p" k; k        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
) N4 m2 \5 ?. M        'taxonomies' => array('category', 'post_tag'),
! }1 e9 ]: t+ W0 i        'menu_icon' => 'dashicons-megaphone',' e# E/ B1 k# ^, p) S
        'menu_position' => 5,
6 u0 b: j8 M' [4 u        'rewrite' => array('slug' => 'site-wide-notices')$ f. q$ t6 I" {! ^6 I5 k
    );4 [& D: Z+ p8 c+ C+ J3 g5 ~
    register_post_type('site-wide-notices', $args);7 C8 D6 N0 }* g( A' j- r
}
: z, ?4 J6 J. `, S; b- m( L5 Q5 b3 _add_action('init', 'create_custom_post_type');; v, Z* G. J( n8 R
```
( o) g( F. Q1 f
5 R4 F/ _# X6 X) G. w/ F* r( K在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。& A, o% _4 V6 @. T' I5 ^1 B
/ L2 S+ v/ F7 X0 C3 w
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。5 |5 C, O  c( K" Z" }+ Q
3 u2 r9 |2 [! a
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
8 p  ^) P( m, S, N8 v
6 {& V$ J1 [, ^: F4 e& x```
8 }% D/ \) p; Y3 g: i% [$args = array(
3 X5 v' ?7 a' v+ ^4 V    'posts_per_page' => 3, // 显示的公告数量
; D! g' [& G& [9 I; L    'post_type' => 'site-wide-notices', // 公告文章类型0 y$ C/ ?: U2 x% o
    'post_status' => 'publish', // 公告状态+ `# V  Y! N- X9 C3 }9 E
    'order' => 'DESC' // 排序方式
' U6 Y( i! D* o' W" D( e* E);
1 ~+ C. H) V6 i4 J$ q0 q0 Q! P
: _' m. _; a/ \0 V* M1 t$notices = new WP_Query($args);
' \; Q( J# `0 N7 r% b5 h( A+ `if ($notices->have_posts()) :
- F% V* k) i3 Y    while ($notices->have_posts()) : $notices->the_post(); ?>
1 c. ~& Q- ?- i' S/ t        <div class="notice">! Z6 L% u5 Y- \" K
            <h3><?php the_title(); ?></h3>7 [  F* W" |+ F' n
            <div class="notice-content"><?php the_content(); ?></div>, ]4 h5 H6 H2 h8 W$ Z
        </div>
9 R" T' U+ Z5 t7 e7 `8 o. n' M    <?php endwhile;
9 U3 I6 Y  g* f( {else :, k' [2 p9 q9 W- ^: O) z5 n' [
    echo "暂无公告";5 n5 r9 I5 L; m, z
endif;9 `& K' u* _( ~+ I% I- \' q
wp_reset_query();+ G% m) P8 `/ G
```/ I7 A. n# [$ {7 l( [

# R, H( I' ~% }这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。4 a/ o, {" W, a7 }# o

7 @  F: ]7 S$ d8 a; }# L4 u以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?9 m' Y! q% e+ }5 Q1 p# ~- V
- B# R% h- |! Q2 f: ^
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
6 `6 F, }5 d; T! w  B4 p# m( L& c6 ~3 T& j' l: t. [
以下是创建自定义插件的步骤:
; @! ~! t1 @& {0 l; e0 |
+ ^# q* t( L4 L* I2 Q* [: `1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
) ]% L$ ^$ l5 P9 E
7 |* i$ G9 Z/ S/ A+ Z0 l8 B   ```6 a" g4 @, `/ w, m; z) {
   <?php4 g2 }  q0 s8 D# c; W7 x
   /*
0 z0 k8 B: ~# t, `+ t8 D) T   Plugin Name: Site Wide Notices Plugin
, F: K4 a( I* x( B3 _   Description: Adds a new custom post type for site-wide notices.
! ?% ?2 D7 R; P! w6 Q   Version: 1.0
" X7 u' e, {3 p4 i; _. B% L   Author: Your Name5 @' |6 X5 }0 B% q# _$ |
   Author URI: http://example.com) P' q6 i4 Y( v6 H4 D; [- a* U4 t3 k
   */
0 L% t, _. G1 q) d7 E  ~  F8 c% W0 i. b2 }% f3 R, O3 V- I
   // Add plugin code here...
8 U. L, p: n, [" c% V# b   ```' ]) t  {: ~4 a0 i( Q8 A

4 P& q, U  v, k* R   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。% ~) l! Q0 `8 [" L& z6 I8 y
2 q# N  `& k1 ^' Y1 F
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
2 \- G+ U: q! w4 g
1 s6 T! Z5 I) X+ X' e2 z   ```
5 g- C6 A7 d% X* r! p   add_action('init', 'create_custom_post_type');/ s2 T* l0 o' p, b7 ^) E' N
   function create_custom_post_type() {
+ f0 r8 |6 O6 |" i      $labels = array(' R5 Y! {3 y! }6 m, X
          'name' => 'Site Wide Notices',
3 O2 y& L% w5 m          'singular_name' => 'Site Wide Notice',
# e% M+ C- s. d4 A% \" w% g8 W          'add_new' => 'Add New',
( s6 M- e; {: J  Y          'add_new_item' => 'Add New Site Wide Notice',/ s8 @, R3 P- ?- n; g8 |% D6 s
          'edit_item' => 'Edit Site Wide Notice',4 n# d  m$ H0 H1 @  W4 t" U
          'new_item' => 'New Site Wide Notice',- ]' u* O; b; |% j" R6 P1 W. }, ~4 B
          'view_item' => 'View Site Wide Notice',
1 Z  r6 _" e6 e3 I  l0 y9 O% P          'search_items' => 'Search Site Wide Notices',
2 Y/ h/ `8 g) r* y0 q          'not_found' => 'No site-wide notices found',
# P( e3 Y5 b! S  `6 k          'not_found_in_trash' => 'No site-wide notices found in trash'- T: Z0 o8 V4 e) F% M  p7 G
      );
! l: \9 }  D4 F3 \6 A+ \, x9 v  }/ {. |# \# O
      $args = array(* {4 F; \: s  K: ^$ M
          'labels' => $labels,: g/ Y# ^. I; ?8 `/ V2 Q
          'public' => true,! L6 q. u9 {# k
          'has_archive' => true,0 z  V' P7 R- z1 ~
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),! X( f9 ?' C* k$ `
          'taxonomies' => array('category', 'post_tag'),
% ?' C% T3 u7 X8 |          'menu_icon' => 'dashicons-megaphone',
2 A  d( C' s0 A0 H. ]' ]/ V5 }$ j          'menu_position' => 5,0 H  D$ X( E9 e% W6 j$ ?/ O" ]
          'rewrite' => array('slug' => 'site-wide-notices')
1 T. Q8 S" r( W. _6 ~8 b% g0 u9 W% c      );1 d9 b5 H! ]# l6 N0 j8 z6 ?
$ g0 L, ]6 n" ^* m5 j4 d$ u
      register_post_type('site-wide-notices', $args);
& t) @1 W, j: n" ~: `+ l5 R   }
4 r, C+ y. k9 n# u/ l0 `   ```
$ x* b+ \4 }, u0 ~$ h8 {6 O
$ A. b9 H& s1 X8 w+ u   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
% w$ }! {' Q* I) ^5 h
/ V* V/ i# g5 g3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
6 F& N4 y4 H3 i5 R% E8 S: |
# j7 _/ X1 t8 d+ I   ```
# X) i6 i; z% W" R5 B& c' h5 c   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');7 V  a' e( {# R0 e3 \/ V
   function add_site_wide_notices_boxes() {
1 h- r0 X: D, v  {% y4 o      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
1 t9 @! X2 A; _# O* B, I7 G1 [" \   }% U: q& r  k3 i! c4 c
1 `" f7 Y& j) \% @! Q
   function notice_details_meta_box($post) {3 t7 X; c. y9 M; _3 G1 P4 G
      wp_nonce_field(basename(__FILE__), 'notices_nonce');' U  a) P' Y1 S5 z9 Y* z
      $notice_title = get_post_meta($post->ID, 'notice_title', true);3 U- K4 {9 ]3 b6 C
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
8 r, Q- @. k. j8 G  b      ?>* ?( x6 ~9 u9 d9 S( v/ x* J% y# w1 }
      <p>
1 H) Z: s$ J5 T5 x+ c9 e8 _" I: N  t          <label for="notice-title">Notice Title</label><br>* U# r9 ^8 q8 O$ ]
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
$ b) ~- {1 c" P      </p>9 e4 b8 C) E/ Y5 Z
      <p>: ^9 `/ }/ U0 a: e8 v
          <label for="notice-content">Notice Content</label><br>
/ _  n  P' x8 ^* N2 ?7 r          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>2 X6 w) |7 V9 r- e% j" r9 w, K
      </p>' ?: f- r/ N2 a! c" p( h
      <?php3 Z' k' e) D6 x" H# t9 }, L1 W* N
   }: i$ Y2 d4 X) k+ j* j
: ?( C8 s0 n0 p$ p0 E
   add_action('save_post', 'save_site_wide_notice_meta_box');
  Z" l$ D/ B7 l   function save_site_wide_notice_meta_box($post_id) {* i! ?! \: Z% x
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
7 s1 X1 j0 e* P: Q3 p  ?! j         return;
; a1 b' W8 N5 O( k# F0 G      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
' H8 N  |6 b% A# i         return;! ~& o- b, Z1 L
( ]" |" o5 b5 e" T
      if (isset($_POST['notice_title'])) {
5 X- k7 p/ {) ^' i8 S* _          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));7 O+ {! V) F' V: p
      }
; z0 R3 B& j, h* {4 R% l      if (isset($_POST['notice_content'])) {5 x/ X/ v: S( Y  v. p" @% I
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
+ W3 T2 e' `* V( ]$ \0 L, m      }
; v  g2 ]( q: z' S   }7 A" T6 Y# }/ ~) G# E6 ^+ a8 H
   ```7 E6 o3 l( [% n/ C
) A  w! f# R  q. j5 {1 i* x9 B  T
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。& i9 \, T& {7 ^4 }8 C% P

7 |' w5 f  Z4 y" v) H4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
# ]9 B$ B$ G# r% y/ h5 D" k5 E
! i+ M. r5 Z! Q0 r5 ?6 y2 [   ```
; u' @: r/ \9 M   $args = array(0 M9 l. B8 A. X! G8 \" p5 H
      'post_type' => 'site-wide-notices',
- P7 N& D6 [: x" v$ Y5 i      'posts_per_page' => 3,
6 _& u: @; Z+ j2 z' M. ?5 M' o+ L      'order' => 'DESC',0 q4 M1 o& B  [4 |( i7 j
      'orderby' => 'date'  Z# G: M' b0 {# S
   );8 V; u) ~0 C( x, B2 B' }% Y
   $query = new WP_Query($args);7 m) c- E+ r6 a( m2 U# D" @7 z
   if ($query->have_posts()) :# K1 X+ K3 F$ I  S) U' t$ g0 m
      while ($query->have_posts()) : $query->the_post(); ?>
( \3 w& [) U  x. r$ E: j+ v; s6 s; U% G          <div class="notice">
0 ~& y. k4 O% ^& Q( H% g              <h3><?php the_title(); ?></h3>
2 L/ [8 t7 p" ]0 Y& @              <div class="notice-content"><?php the_content(); ?></div>8 S3 U" z0 _# R/ y* |( M
          </div>
$ W! Q8 I( ]5 M0 |, w+ k! M' J! D* s" k      <?php endwhile;
2 q# R% ^5 W' F- t6 ?$ v/ `      wp_reset_postdata();
+ q, }1 ^4 a( O  h2 w   endif;
. I4 ^: h( Q# Z5 I0 S   ```, a! d  }) s) i+ }" W7 V9 P( `

* h( X. O! y& V; }4 F+ b! p$ _   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-13 11:37 , Processed in 0.015034 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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