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

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

[复制链接]

341

主题

543

回帖

3583

积分

管理员

积分
3583
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
% b) s) {7 P* |# T, C: {5 K$ Z: G% w' A8 Y/ w
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
4 G$ l* N0 o9 l
+ ^" v* h+ j: ]2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。8 I1 k! A0 H; U4 d$ o( w4 ~' v: ^4 T
# z& X' m  K& g; m& P# ^) [
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
8 w1 b* M: `2 n" @/ j0 v1 L% w7 U7 v2 i0 J# \
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。1 p) L; I5 a3 `5 C

* k( i1 [! U8 Y- H% {) C. p注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

341

主题

543

回帖

3583

积分

管理员

积分
3583
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
) }: s7 e, J- R0 g: J& A# A. f* n- z. W6 C. ^1 p: J, ^
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
8 U0 U% ^2 q9 W" {% R: v3 J. W+ j2 U  q6 z; u: p  ?
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
0 q5 s8 e3 x9 c4 [; C0 s1 d9 d# ~! g! D) J3 ^
   ```
9 ^$ a4 {& g' p4 `1 x; f: h3 E2 Z   add_menu_page(
& D0 }; G( v$ g5 ]' p" y* R       '全站公告',
) ?; C9 e9 t/ g: U- V) }       '全站公告',: U- O5 a" |" B1 G/ p
       'manage_options', //需要的用户权限6 N+ Y) l1 O2 e# R
       'site-wide-notice', //后台页面的 slug
! h2 k7 V& s3 N/ i) C, R3 D       'render_site_wide_notice_page', //用于渲染后台页面内容的函数9 C+ M, V/ a8 W: }- n
       'dashicons-megaphone', //用于显示在菜单中的图标
" _4 b# z( T9 P       30 //菜单项的位置
4 p# s/ A, L0 D2 l( E   );
5 h1 E2 f* \" ^7 ?. m6 |+ v1 M   ```
' m$ |$ c( ?; O; M/ O$ A9 i; i  C
9 G  Q* b) H$ K: D, N. E; C+ G" ~   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
9 A1 A2 ?# r- o- G$ s8 n% P& c. _4 W8 I2 H/ b
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:  ^3 R( S3 k, N! l
* Y1 E1 g: s+ F; A# Q
   ```
8 R5 E% _0 h9 }1 f2 V   function render_site_wide_notice_page() {8 X4 \( ?7 v8 a8 a2 ?9 x+ ^
      // 渲染后台页面内容
% t+ `  B& X; U2 o6 O+ g3 H% x      echo '<div class="wrap">
" z1 R. Z, s8 M! L, N  I          <h2>全站公告</h2>+ K0 O0 J: p/ u7 m0 u/ h1 U1 X# ?; [! Z
          <form method="post" action="">0 I( f6 B: |& e. C% W" |, ]% M, ^
              <label for="title">公告标题:</label>
  h$ w5 V* q3 Y4 _" k              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>$ e# h+ _3 _' k. `1 i
              <label for="content">公告内容:</label>
* c& d4 m2 c" [2 M. Q  E              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>5 f; B8 t6 Y" _: ]
              <input type="submit" name="submit" value="保存设置">: o! C  v0 a* ~) l7 G# M
          </form>
$ f5 {7 ?+ m! p( A, L      </div>';' y5 x! E8 F9 a

4 J5 j! `2 O+ ?- z% y2 `+ L( Y9 P      // 处理表单数据) u9 `" j& U1 b/ Y+ `. V# b
      if (isset($_POST['submit'])) {! X& L' U; {# m9 P1 t; R7 e
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));# d( E; T9 ]  a0 C
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));& t& S) x( p# J2 u# v: u, C
      }
/ O0 I4 {+ m# q( ]" o/ S) v, R   }
8 L: M! d0 q: u& z7 j" d  \' i   ```
, X5 @3 ]- M) K1 k- U) Y8 ~& Y4 [" P3 o( X7 ?
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
; w7 M+ t; W' }7 ?2 e
. P! A! z( O8 E, {' P" X( Y0 @3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
9 |! Y# ]3 D* E- J; Z- }' k; H6 n; ?- K6 Q
   ```
8 c8 a8 N3 r/ Z- D9 c0 O   <?php$ h6 ?9 P6 f- u  @' j7 ~
   $site_wide_notice_title = get_option('site_wide_notice_title');
- R3 a% c2 r8 h   $site_wide_notice_content = get_option('site_wide_notice_content');! o3 R8 o3 O1 X
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
& M3 w, W! ~; k4 T0 V3 i/ i       echo '<div class="site-wide-notice">';# R) B$ h) _% F: `* o  X
       if (!empty($site_wide_notice_title)) {
9 g- k3 c6 r1 h; g- G           echo '<h3>'.$site_wide_notice_title.'</h3>';
- ?) r: m6 n2 k' |: D* F       }
- [: Z; V: W6 w4 |* g4 k( J       if (!empty($site_wide_notice_content)) {
, {3 B* L, b! Q8 ^6 y* k8 g, ^           echo '<p>'.$site_wide_notice_content.'</p>';
8 m  D7 A! Q. `$ Q       }
" p* E; G" G9 v       echo '</div>';
) D" Z  H8 c# H( G, x   }: n' f' l# ^/ k; c
   ?>; P' @! T- d4 ~1 a/ ]
   ```" {% k& d3 U. Q: |9 W3 `1 q

, D# D; x/ R9 M1 E1 B   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
5 x9 k6 s* u, I! ~! }0 K+ u
0 N2 v6 E, B# m/ V请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

341

主题

543

回帖

3583

积分

管理员

积分
3583
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
' y( f8 E9 W! Q! p1 h
+ z2 g$ K8 Z6 C, z您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:1 [, y) J- p0 E1 s2 L
4 W3 r5 m4 v2 Q# T$ b
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:2 t  x7 q9 V7 {, j4 v" ]

2 q0 K" t5 b$ U4 j6 W) V1 z+ W8 {```
- U% z3 c; s% nfunction create_custom_post_type() {9 N( G- }4 z0 X4 l
    $args = array(
3 ^1 P9 V. s9 c5 D        'labels' => array($ `1 w0 ^$ m* g  q
            'name' => '公告',' x3 Q% i% q* |& M' r4 |  f
            'singular_name' => '公告'
. D# M* S7 t8 }: n5 T        ),- k2 A0 H9 u, M. u' `
        'public' => true,
, x( }* a% l& i. d- R; p        'has_archive' => true,* l4 `6 L' m+ P
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
* N( J- R% u- I* U        'taxonomies' => array('category', 'post_tag'),
- N* P( z# l' V' `" ?  i        'menu_icon' => 'dashicons-megaphone',
4 [* R7 C4 @9 T) L        'menu_position' => 5,0 q3 }1 k6 y% G( i! p  J& w
        'rewrite' => array('slug' => 'site-wide-notices')
8 [/ e$ d% H) o' O) v0 C( f* B    );
4 _$ L+ I+ B: s1 D5 Q# ?    register_post_type('site-wide-notices', $args);& A9 P6 W: ~1 P
}
. d5 M( F: l2 m. I9 s0 padd_action('init', 'create_custom_post_type');2 V4 L- b% p- ?" {8 ~
```5 e8 d+ p! X( m2 Y3 {0 m

- W. V; L( ^5 q6 c0 p: ]在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
6 d& o, \0 S( i& o# V  k
. z6 _2 O; f; H8 Q9 t% T9 m) u2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。) ]* M# H7 `) y7 [
% \/ J3 S4 A  a  D$ G) C' U7 K
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
9 m) S/ ?; w$ }5 p8 V. K+ x0 \7 D4 g6 J2 v3 ^
```
+ l4 S! D3 E1 }, @: G$args = array(
' _$ Q3 d- {5 L+ J  M    'posts_per_page' => 3, // 显示的公告数量! s# i9 n% B% s8 Q$ E( d  C% ^4 @
    'post_type' => 'site-wide-notices', // 公告文章类型0 \% W$ x- w2 z. N
    'post_status' => 'publish', // 公告状态8 r& |% _. r6 h( ], N* b
    'order' => 'DESC' // 排序方式% q9 C* U. u& u8 E; }2 Z) P
);
! K4 v! p8 E1 \8 w& y+ u* Z5 }) d  u+ D, }, v9 A! v
$notices = new WP_Query($args);! s4 y6 s! n3 S# L, o  a
if ($notices->have_posts()) :" O* d5 K& y1 `* |. u4 o: x/ b. V
    while ($notices->have_posts()) : $notices->the_post(); ?>/ t$ u0 v9 q1 U3 r, a6 o
        <div class="notice">& U0 Z1 n: x8 {+ C$ N! G* A& J
            <h3><?php the_title(); ?></h3>+ R/ N9 c  ?7 M# t8 B+ u. `
            <div class="notice-content"><?php the_content(); ?></div>
2 \, b* c  S4 z        </div>* A8 ]3 e5 s8 n+ R2 s: Z
    <?php endwhile;
& b/ G6 F( U& }; f' w. y" G6 nelse :
3 }5 _0 K7 b- m2 E1 D0 ^    echo "暂无公告";
6 Q5 ]. Z  N( u+ @" Jendif;
( \4 m1 ~* ]- uwp_reset_query();) G1 p+ N0 X. Y6 l6 ]' @" Q1 i8 S
```5 s' c$ H6 v8 N% s- S, A

' n: x' f9 J( j' c; o2 D% A这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。) n% m( _9 ^5 Z4 R, Z- }; \

+ Z/ G7 r7 n' w; Z2 C) d# g+ M以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

341

主题

543

回帖

3583

积分

管理员

积分
3583
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
2 |  t6 q" J6 B* [1 j
, d" p' S5 r( B" U1 N$ }如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
$ |1 }  r; p* D4 A. V
9 H7 P1 b$ C) H4 E8 ]9 C. X8 t2 g) i; y以下是创建自定义插件的步骤:
0 d4 w, ~& \$ P# M3 W0 e) G1 s* R2 a) ]- Q4 v5 V
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
; E& ]1 N$ g4 @- \# F8 @- u; E- J  S
   ```% S3 Q. U6 B" }. o' O
   <?php7 j- G) N1 ]; X7 K) M. {. A2 }
   /*) R" a8 q! V& g/ V/ F6 B- d6 q
   Plugin Name: Site Wide Notices Plugin
# A4 U/ X, ?$ i   Description: Adds a new custom post type for site-wide notices.  }5 j2 W( N1 ^' k+ h6 j
   Version: 1.0; q$ i! |5 d0 y0 N
   Author: Your Name
: y6 A: }' {8 R4 a) F( c7 ]$ h   Author URI: http://example.com
6 o; X0 e$ z: e! b6 t: F   */
4 r! E9 y4 E  r4 z+ ?0 U3 |& Q9 X; ^( ~7 Z
   // Add plugin code here...% g+ g8 P* I2 C- l0 |
   ```
. e* h5 O% n/ E
& o9 Q; V& g" t+ y) U' S   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。4 K+ e2 }9 Y6 H3 t, G7 }: ?

- w! d7 s, T: }6 F8 ?/ D2 o2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:/ Q& ]. Z0 [, v

3 V7 m& m7 R2 X/ @- k) n9 @   ```
7 n1 d- I) Q& z6 ~   add_action('init', 'create_custom_post_type');2 R8 k0 W& S* y. O; D" b" O* ?: `
   function create_custom_post_type() {2 S: T. f9 [( ]' C0 R( v; X
      $labels = array(
  o# ]" J9 x: S6 k6 P% y6 \. u& k          'name' => 'Site Wide Notices',
7 I* S- D5 o7 D3 [          'singular_name' => 'Site Wide Notice',
9 T8 r7 g# A$ a1 t0 y          'add_new' => 'Add New',
  j# Q3 F6 \% X! `0 s& j8 v          'add_new_item' => 'Add New Site Wide Notice'," {4 p7 \3 z# E' Y  i
          'edit_item' => 'Edit Site Wide Notice',
& B5 W2 `+ M/ |          'new_item' => 'New Site Wide Notice',
& v& p+ j+ O4 s2 D; O  o$ G          'view_item' => 'View Site Wide Notice',
+ ?, s4 Q, Y' s, r, t, t          'search_items' => 'Search Site Wide Notices',, i+ m9 w: U9 o
          'not_found' => 'No site-wide notices found',0 l0 G8 U# Y( d5 h: J7 k
          'not_found_in_trash' => 'No site-wide notices found in trash'
7 d9 F3 j6 D) \8 x6 q6 k+ D/ o      );
% Z, S0 l/ i0 B& t' m% }, N2 g
) d$ s" l8 R8 q! ~1 l& N      $args = array(3 @  x0 G9 j/ ]1 t) l2 f
          'labels' => $labels,$ X: r0 w  W" e
          'public' => true,
1 }" F- @: s5 f8 b- E! S          'has_archive' => true,
. ?0 F, E* r+ J, S- G! T          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),, z6 [% N$ o. e4 w7 T9 o1 ~
          'taxonomies' => array('category', 'post_tag'),
0 n3 a- f. a5 |; s# m5 K3 u( q          'menu_icon' => 'dashicons-megaphone'," y8 E; \) I+ J" p" g
          'menu_position' => 5,
" x6 R: P7 [" \+ u0 ]          'rewrite' => array('slug' => 'site-wide-notices')
; e3 g; g: @9 r+ L( R- R- {1 H      );
+ s8 S: |/ W- @- g- @
, K: {# N* X3 `% G      register_post_type('site-wide-notices', $args);" A( Q  I2 u2 Q: q
   }, F( I  V6 ?- i
   ```: I- R4 q5 G( }- Z; t% X
# b* ^3 t# ~# s0 a. q  S5 s
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
  v4 n% L7 M& N+ L$ c& o0 Q/ M2 K0 @$ E5 x+ @9 f
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
' r$ X; g% L, N( f1 w- R- K2 E1 M2 W9 t/ w2 B# P% p
   ```
; t, d7 c, ]. f   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');# T# K+ Y  ^% K& |
   function add_site_wide_notices_boxes() {4 B2 U3 B  l6 E" U- `
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');& B) h6 }8 n, b4 U- g
   }
6 @0 o+ h( l; n( A7 w8 ?, T& G6 J- Z/ Y" n& E+ A
   function notice_details_meta_box($post) {% ^: D3 E' W" Q/ a
      wp_nonce_field(basename(__FILE__), 'notices_nonce');) r  P8 w+ e* b
      $notice_title = get_post_meta($post->ID, 'notice_title', true);# e5 W* m! S6 e+ V
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
5 ]) d" e# f6 D+ p8 w1 k  |' x" p      ?>
, P1 t; R; n$ F      <p>
( t. g4 Q: Y& R, k, X7 @          <label for="notice-title">Notice Title</label><br>
4 ^2 a: a$ X9 Q; F' m          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">7 l, v! y9 O/ C3 [" @0 L
      </p>- J' h  ~1 [5 c) N; E2 k8 ?1 K
      <p>
' Y$ i, x' u9 v          <label for="notice-content">Notice Content</label><br>; ^9 |, c0 {6 g' ?' f
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
" h) I8 [0 H2 H- E2 x5 ~      </p>3 }% k6 o- B2 `
      <?php
( |7 X! z  j- Z' V3 {0 n5 E   }' R1 q; K3 s# [% A( K7 i
9 [' f0 @" y" c- g, i
   add_action('save_post', 'save_site_wide_notice_meta_box');2 N" M0 b) q- L! a- I
   function save_site_wide_notice_meta_box($post_id) {6 T* `7 C" y9 ]
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
2 x7 E6 q/ C: r4 \- k6 A4 E( ^         return;
# b" W  X2 ^! `0 l8 p) `* x7 l      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)1 s+ b' G- {8 L0 V
         return;" K. Y! R! ^' N2 j) x8 k; |
+ h$ j- U& H" w7 |; i' s* x% n
      if (isset($_POST['notice_title'])) {
: H- o. D; G5 j4 k+ r3 E          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));) g9 `) I& }" G- y) T0 L
      }0 v7 p/ a' W3 S' w( ]. Y
      if (isset($_POST['notice_content'])) {
; m8 M3 P+ R/ v6 z( y4 b# R          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
( c8 R/ p. |3 j& j0 D8 k      }
$ K: |+ }0 l4 u3 j1 b   }
! J6 Y, M7 l9 z5 S0 l   ```/ j1 Z1 _, E* S) t2 w+ d
. L6 n  {. L0 a( `5 m$ y
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。0 X# s; a3 e1 W7 S  j( n

' f6 Q+ |/ C* m. `) N* \4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:% B0 Z5 x1 p7 Z5 E. T: b

% F. O" y; W& N5 X   ```8 i' g6 i# j1 V/ F" |# }+ M
   $args = array(
, r" a% [+ V' M9 M  i1 g/ j  N: v! {/ J      'post_type' => 'site-wide-notices',
( I& R6 f0 C0 S7 H* p5 E2 d2 a      'posts_per_page' => 3," J- B1 q+ C2 G6 Q7 \1 Y/ ~' Y
      'order' => 'DESC',9 s2 k$ @4 u/ L. b, J) ^% [. G
      'orderby' => 'date'8 n$ r3 }4 o7 H. b
   );5 Z& \( W  p) g9 D5 X4 P8 ~$ O4 ~
   $query = new WP_Query($args);
* a2 O0 l% r1 w4 I, M5 E   if ($query->have_posts()) :2 E2 F* `) y  S2 m. C
      while ($query->have_posts()) : $query->the_post(); ?>0 R# Q$ y8 e" V7 P, M0 J
          <div class="notice">& G: I1 A+ C9 B; d) ?& A
              <h3><?php the_title(); ?></h3>
- C4 V/ a( y, H2 V3 s& U              <div class="notice-content"><?php the_content(); ?></div>* x. k# G, V: C/ _  w; d3 i; Q. Q
          </div>
. N" w) G: d+ L* f* D4 f4 I2 a: n# B      <?php endwhile;
0 I  A( y) }. w1 X$ r* G      wp_reset_postdata();
) y8 b" ], y' c9 o& `/ n   endif;
2 X1 R1 M1 a* B4 [   ```
/ U  M0 m+ _) ~7 U% O+ j$ Q: z/ S8 u7 a1 Q/ e: D+ [
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-26 22:25 , Processed in 0.017422 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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