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

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

[复制链接]

340

主题

526

回帖

3516

积分

管理员

积分
3516
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:5 ~' M: N3 e) r# S! R8 v: I3 o- T  t

# A0 X: w8 y% ^1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
  G0 L+ ^" f; }2 w9 n4 I( V7 q7 g, y% I, I$ t" V
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。3 l. m3 y5 i5 O0 ?
  P4 I2 Q1 S- ~) a
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
  G: g/ v" t3 X0 e  ?- l
9 ?0 b, }0 N7 `' ?4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
' |* G& B6 b1 y" ~" N
0 [! ]2 S0 F/ t, y& ^2 w, A. T8 n注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

340

主题

526

回帖

3516

积分

管理员

积分
3516
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?9 p* n4 F, s- t
. e* e6 j) A$ }5 W
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:% Z6 o9 m. y9 h2 \0 b

' w+ |; {$ d5 N" N1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:' k* d+ G6 h$ Z  V* }2 y

$ [8 w" f) M5 ]3 Z   ```6 w: l/ h  }4 q! k7 j" o* |
   add_menu_page(
6 y9 E5 z7 a7 P2 L       '全站公告',
- v0 D; ^8 g/ ?; H! N. y       '全站公告',
( Q7 q) z/ J" k+ b       'manage_options', //需要的用户权限
- `# h) V) g5 L       'site-wide-notice', //后台页面的 slug
+ _4 t) x+ A9 F/ N2 i4 i       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
6 h& Q' }0 t! H! A8 c- Z4 |       'dashicons-megaphone', //用于显示在菜单中的图标
% R* E8 N) m' \- @, B       30 //菜单项的位置
3 K) F9 z) _) ~3 k6 u2 d8 L$ q( ^   );
$ r; X! c, V# K( W8 a# j" B/ `( K   ```, [2 h/ t" q; o3 Y% B

* m2 L. e; R% `4 [% \2 S, e$ p0 m   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。# R1 X  F& L$ O
$ e" _- k$ M, I8 `: ^
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
0 y1 B3 q& q# U# Z- _0 E; D0 o: M1 D0 v4 y! s
   ```% g0 ?2 h7 G8 ]
   function render_site_wide_notice_page() {  \# o. R! U0 X
      // 渲染后台页面内容
5 D: k: }$ E' [: O% v3 y      echo '<div class="wrap">. Y: I9 x+ P$ }$ P* n' k# _
          <h2>全站公告</h2>& @: l, {; _% Y0 M8 Z
          <form method="post" action="">3 ?9 D/ h7 k2 v5 D' i
              <label for="title">公告标题:</label>' Z8 _* [- g' X& }
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>; F1 m: b4 ]6 i# q& c! F8 h( [+ Y
              <label for="content">公告内容:</label>6 ^6 g& t4 y3 P) X3 k
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
  \% K" z* k* O4 k) b! f              <input type="submit" name="submit" value="保存设置">6 V" Q% a- {+ E. R
          </form>
$ p  Q: z$ s. k" |8 c, P  l      </div>';6 A5 F) R5 a* e+ j9 j3 B

! t- g0 D6 u7 W; r5 e      // 处理表单数据
0 x: u8 H  j* |- [* N      if (isset($_POST['submit'])) {
& Q# V- o. T: E2 A; x          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));9 M$ s( l  ^$ e1 \6 b, ]# f: O
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
6 ~0 G7 b- c+ g( ?2 x& t      }
% c0 v' L% x2 z0 s$ J  P   }
/ P/ _. a' K7 |  l  A3 J   ```7 x/ ]$ v. e: R7 H: B
8 N! o$ J! H/ a% h6 v: U
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。' c9 n1 c+ L8 _7 I& J

, m5 B( g3 p4 R$ W3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:: c8 K, x+ n& a# k0 P2 y- {

8 q$ p  J, h) o2 _   ```6 k$ @3 |9 G& ?: {
   <?php# S: M8 x5 b, S" p2 E" e
   $site_wide_notice_title = get_option('site_wide_notice_title');
. D; t) b" F9 H4 r! w. ?   $site_wide_notice_content = get_option('site_wide_notice_content');
/ H  F+ m2 C. d- h3 l  l$ Q   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {- w" j, ]. P, g# i( p) i- G
       echo '<div class="site-wide-notice">';
' w2 |5 q( P; U0 U3 X( W) p2 ?- Y+ s       if (!empty($site_wide_notice_title)) {. _4 p/ e5 T# _4 q+ _
           echo '<h3>'.$site_wide_notice_title.'</h3>';2 P% a$ ^, H& U3 M1 b+ _
       }
2 k% H0 b- M# k/ K       if (!empty($site_wide_notice_content)) {
7 g% Y6 R$ l1 T           echo '<p>'.$site_wide_notice_content.'</p>';
' H3 A5 z1 f5 }4 ]" k) T  j  J, S1 w       }
9 J+ a8 d+ \* P8 t6 x7 u5 R6 y& v       echo '</div>';. S  J, [, ~) x8 ~
   }8 E+ W/ f4 r4 S1 M0 }4 ]3 e
   ?>! Y9 H' T- }% _1 W+ Y
   ```
$ a% l+ @. u$ a8 P0 j
( C) t' U* q9 I9 N( |" u9 O   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。0 `1 u* Z1 u' ~1 o7 Y

. r2 W* \4 o' ?! Y/ N4 |2 ?, _4 f请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

340

主题

526

回帖

3516

积分

管理员

积分
3516
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?4 F4 S1 M3 b$ Q+ J8 R
; }8 Q$ Z1 C$ w- ]$ k3 l
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
! W# |2 q" N7 C$ p5 ?" T, Q' {5 ~3 t+ x/ a, |
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:) O* |0 a' q' b. o
* T3 r# x9 R; a3 j: u
```
( S: N& g1 X) l* w3 bfunction create_custom_post_type() {( W7 C) w4 }& u; J
    $args = array(
& }5 w) W. A2 V- M" X        'labels' => array(5 j0 h: F. W2 O" q/ R' D2 T
            'name' => '公告',
- \" l# |1 ?4 {: D* S8 Z            'singular_name' => '公告'
4 {9 k# s  a+ a$ w, I( X        ),2 W3 F& O/ f- u! K) ^
        'public' => true,0 w/ E4 t- |& H) W5 Y8 M/ I: D
        'has_archive' => true,, {/ P. k" t8 T& k
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
. ~* A2 Y- P$ g6 s8 }        'taxonomies' => array('category', 'post_tag'),( \: Q) l  @: `. j. g3 {
        'menu_icon' => 'dashicons-megaphone',
, o, E6 {$ I+ a- a5 Y        'menu_position' => 5," B" K6 @, ~) \! E0 o  @
        'rewrite' => array('slug' => 'site-wide-notices')1 h& p2 I7 U3 r+ f% ?
    );) @# A- G" Y) x) P
    register_post_type('site-wide-notices', $args);- h. }6 S- `# }+ N- t/ V
}
1 l) O8 [) H. q0 }add_action('init', 'create_custom_post_type');
. P4 [8 ~9 n  Q) m, ````
& p% p5 Q/ f) Q2 i9 D9 A
- R0 d, [- N  o" H0 r' l/ W在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。% ~5 w  B& U# {# x: v! }

, ?1 `! b! ~9 t/ u3 c2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
3 s6 W" B: O# r4 P
( W1 Z# {7 S9 E5 \8 D, P! L- q7 y3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
. c& D/ a6 L. k3 w5 L6 D" O+ I
" z/ ~; q) a! b# s  p9 H```, L! m4 q  a7 \& X/ b# W7 R4 Y
$args = array(- Q" U1 T. `) X! l* q2 ~
    'posts_per_page' => 3, // 显示的公告数量
3 r: `& v. Z8 \+ w$ C    'post_type' => 'site-wide-notices', // 公告文章类型
  {% o/ p; O, y: @    'post_status' => 'publish', // 公告状态
! F# s/ _9 G7 x7 j6 G5 O0 a* y    'order' => 'DESC' // 排序方式
4 r+ ^, O( M# t$ a, y# f);
: @: ~  Z6 Q: L  u1 r5 N
0 \% a# e* y/ Q9 J- F$notices = new WP_Query($args);
* o4 M+ Q2 }- B" J' [- |" r+ w) Eif ($notices->have_posts()) :1 S9 ~2 G4 u5 P/ R0 |# d; X
    while ($notices->have_posts()) : $notices->the_post(); ?>
' L0 b& h4 f) z+ P" B# j        <div class="notice">  K7 ?, t  B, K' y) G
            <h3><?php the_title(); ?></h3>; p4 f' Y: `. t8 ^. K
            <div class="notice-content"><?php the_content(); ?></div>. o2 e8 R+ h% {5 y9 p# U0 K7 w
        </div>8 i& S: m2 b9 P3 Y$ s- @& v  M1 i
    <?php endwhile;$ W' |( P0 K9 T6 J7 L9 @1 ~
else :$ i( q) f) S4 f5 x) @1 a1 L7 ]$ z
    echo "暂无公告";$ E: b0 N# j/ G9 x
endif;
( y/ A& H% W* c9 J8 C& swp_reset_query();
, M# b2 V3 T" `, x$ C6 e```
8 L5 d. x. H7 V- ?1 d' A1 c( Y. A% K% C3 i8 _7 D6 m
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
+ |2 M- I, ~% U2 K) K  x) }
" A3 i" t3 H/ R& f: n以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

340

主题

526

回帖

3516

积分

管理员

积分
3516
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?" o$ H& X9 G% v* k! L7 T& ]

9 [) v8 X- x( M" I如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。$ a  L) V+ `2 E
+ O0 P7 o8 n2 i; @
以下是创建自定义插件的步骤:" V8 p) G( o( c7 \8 T1 U" P
" c! h$ R0 b4 J( l
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
/ I" Y. [; G' |+ m8 ~4 e4 N; Q% M7 a! `: e
   ```4 }7 C4 z6 M: W0 K
   <?php
+ z$ Q5 F( I! Y& u  j& p2 d* E  b   /*
1 r1 V+ O6 k# e   Plugin Name: Site Wide Notices Plugin
5 T0 ?+ y9 Y6 i/ ?9 M! J* X6 B% Q   Description: Adds a new custom post type for site-wide notices.. T" S0 M* n- m, l7 u/ n9 f( E  T
   Version: 1.02 i/ g& D$ N& y  J. Q( [5 k
   Author: Your Name
& T" A3 R6 P, L1 _# T  E2 K   Author URI: http://example.com
3 V- d8 t; k9 C# E; a, O   */' Q" a# V" T- j/ _% Z
4 k( X* U) O& y5 L& a
   // Add plugin code here...
* @$ o) X, Q0 |3 E0 K! m: T   ```- k3 W0 e: |/ z, x5 \

$ ~) z0 z5 J) H" y7 q  p   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。) W$ N0 M6 ~+ q  k% [8 ~. w

( ]6 `4 _5 X. E2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:. q! ]9 T* _( _* v/ h9 P7 j

  r% e2 y6 W3 z) s. C: ]   ```
5 B3 S/ R" n* B, M/ O   add_action('init', 'create_custom_post_type');
" R4 @0 ^: }, C; x, g   function create_custom_post_type() {
: s, z0 ]  J: U2 u2 n3 p2 m9 b      $labels = array(
9 C6 C$ h6 E- ]- Y" k' b+ b. P2 A# s          'name' => 'Site Wide Notices',
; c9 R+ u0 x* U1 D4 u  ~& h          'singular_name' => 'Site Wide Notice',  N$ m6 m7 c  t$ d
          'add_new' => 'Add New',1 R1 s( D0 o5 N! d) ^/ o" @
          'add_new_item' => 'Add New Site Wide Notice',1 `% k5 i2 Y0 f8 p, f
          'edit_item' => 'Edit Site Wide Notice',, U0 o8 E* ?6 l0 }
          'new_item' => 'New Site Wide Notice',
1 i2 q" B7 T2 o          'view_item' => 'View Site Wide Notice',
3 u3 E# {. T! M  i& _          'search_items' => 'Search Site Wide Notices',! u% ~+ d. W4 v3 T, O! l+ i$ m5 I/ h
          'not_found' => 'No site-wide notices found',. D' ~. J& D' O  y  H0 j0 _
          'not_found_in_trash' => 'No site-wide notices found in trash'
/ B" w0 g* w# a- I! n      );
9 Z  Q& A6 s3 S9 @  i$ g8 d* |9 O  e# `9 o7 R1 R- l
      $args = array(
0 n1 i* R6 {* x4 w          'labels' => $labels,) P; a& e5 p2 a6 i4 C
          'public' => true,
0 C/ l. e% F0 q" \6 a          'has_archive' => true,
) a0 p$ [8 |8 `- a4 T          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
* s; @8 E9 W8 J+ T2 K$ h1 o6 h6 D" q+ K          'taxonomies' => array('category', 'post_tag'),# O/ P) N6 k* {8 N* @) ~! X
          'menu_icon' => 'dashicons-megaphone',) Y" z- Y+ X! l
          'menu_position' => 5,
/ m6 L! d: y3 m* t5 x  L          'rewrite' => array('slug' => 'site-wide-notices')
0 k- T6 p8 [9 b* L7 o      );5 n, ~: y3 |! U' E
% T5 O8 s& N# l- y+ e
      register_post_type('site-wide-notices', $args);+ C8 R* P# U. i; K% u
   }3 B" S# z9 u. p. c7 y$ f" e
   ```7 R8 z$ i3 I8 M# G1 a0 ~
. Q" I- M2 P# ~0 s# T; v3 o. Z/ L5 E
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
. r/ D/ @; a' ^9 ^5 P
0 S5 c4 Q( }/ a3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
; D/ z) K0 L$ v$ l/ H& O3 ~1 ?
   ```
8 n' s- U) P# U   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');: y8 }4 g1 [4 V5 Y( I: C
   function add_site_wide_notices_boxes() {2 T. Y" ?1 Q* q: w/ H
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
/ W& ~3 `, j* w1 R* n' W- Z   }% a. Q( X( p6 g& q
7 o& b& N# u7 i. m+ O
   function notice_details_meta_box($post) {0 X, R6 S, v2 u6 u
      wp_nonce_field(basename(__FILE__), 'notices_nonce');
$ t% e! f; l% \+ f: N3 u, x8 M      $notice_title = get_post_meta($post->ID, 'notice_title', true);
1 n- a4 o- ~! I7 |1 P      $notice_content = get_post_meta($post->ID, 'notice_content', true);+ K' [. h' \4 @- j7 H
      ?>; o9 l. c5 }. q+ m5 E
      <p>
; K" z0 v0 B2 a! c7 L$ {8 ^          <label for="notice-title">Notice Title</label><br>" m: j( A" O4 s' e" D6 R
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
7 Q2 E3 g& N* s; j3 _2 Y$ K      </p>
; g9 J1 {1 }5 U' L0 W9 I      <p>
8 x- V5 T. @% A5 W7 f          <label for="notice-content">Notice Content</label><br>
6 [  _) {# |+ B% W/ l4 C. W          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
/ ?5 l) ^: a" g8 y8 O      </p>
# H' m0 J* c3 J/ r& u4 O0 Y! q      <?php4 l. F9 y' A6 H/ C5 q
   }
1 k( Q: P7 `. ~, K) D/ \; P) X; k- a% \- V1 y8 J1 c
   add_action('save_post', 'save_site_wide_notice_meta_box');
) Y# _; [4 Z/ @( e   function save_site_wide_notice_meta_box($post_id) {% a+ r9 u& k  s" v) J/ e
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
/ d" R: D, d  o* G) s4 G         return;4 z6 S0 u% F) g1 f: L
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
% h- I7 n* i; A" m         return;
% i6 h7 W' r2 L0 T% Q0 V" R  q& w
      if (isset($_POST['notice_title'])) {3 k  }* {4 |0 O7 o$ {7 S
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));& A8 ]" x+ u! a; V7 h
      }0 V( W# K/ f9 V+ s- ?; Q: B
      if (isset($_POST['notice_content'])) {/ |2 W2 n$ P$ K8 O1 ~
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));9 I: c9 n0 p; H4 c% Y) @; L
      }
7 ^, o' ~  n" |* P# q; o   }
2 W8 x5 V/ G5 l6 H, C7 L' Z   ```0 `8 v3 O" Y- R7 L& R# w* A
3 v0 w  N, G' d5 s7 x+ V/ u* W- W
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
$ t, {& E2 F- q9 N" f8 F( k  l: P/ J/ m% ~" O$ l5 ~1 V4 p9 [
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:4 r; W7 v2 f9 o2 a0 Y/ j
# d7 |; G/ ^* ^2 @! N( c
   ```4 L7 H3 _1 E5 t7 ^1 q
   $args = array(; n6 o) |6 V) u9 K: [' V1 h" i) w
      'post_type' => 'site-wide-notices',# @" |3 ^0 n( [6 ^. ^
      'posts_per_page' => 3,6 I8 \; U  f1 @! X, _
      'order' => 'DESC',
* `/ h3 h% T& G6 S+ t$ J( ?      'orderby' => 'date'
8 f9 g" \: M& g: I1 ~" r   );
* ~- W5 o1 Q; E, @6 @- ^! Y' v   $query = new WP_Query($args);1 t& m5 b+ @$ I
   if ($query->have_posts()) :
) a; S1 A- U* w2 \( K+ c- `      while ($query->have_posts()) : $query->the_post(); ?>, o7 r: T/ C+ S# a+ M
          <div class="notice">
  N# H8 A: i" c7 P( l              <h3><?php the_title(); ?></h3>
+ Q+ v" B1 Z0 u8 r3 t              <div class="notice-content"><?php the_content(); ?></div>: O$ u- I1 t$ `- K1 r  t  W, s3 l
          </div>
2 F9 j. [! S% _# c* n      <?php endwhile;, q- k5 i+ v- ]1 E
      wp_reset_postdata();
/ u; {, z9 P  X" [; P   endif;2 m4 C/ l& y8 T0 i; W
   ```9 Q( |3 p2 y0 j' J" v3 M2 X( q7 |
: j" t) ^( X6 v8 L! _* U0 x
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-15 10:44 , Processed in 0.015685 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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