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

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

[复制链接]

332

主题

513

回帖

3372

积分

管理员

积分
3372
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
0 t1 |# N7 Q3 G' X$ e% E) P% M& c/ Y: i) }7 z) A
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
. }' p1 G- E0 ?, \# ~; [1 H
4 \8 f: Q6 g4 }; [2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
1 p# M* i. c5 x& s& W
. q3 m& n1 ]* x$ g$ E1 D, h3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
9 j/ b/ @8 Y1 Z& q7 W) @; I
" h4 G7 K- C7 E5 l  u! q4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。# |4 g2 }7 Y8 Q# X0 a0 o, u
6 ~+ u- |+ n5 G& J* G: [. l% ?; s
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

332

主题

513

回帖

3372

积分

管理员

积分
3372
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?0 t# f3 a% `1 ^1 c8 Y( m6 a
8 {1 [1 R9 q% a# C- P- E
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
5 H0 U' a: a6 T. c0 n& n5 }
/ x4 o- E, k/ U3 S. j1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
' E1 s" p  N$ i3 h1 R
( \7 A3 y  T& h5 c   ```
1 @8 H7 Q, C. U7 r* J- F   add_menu_page(% k* ]) Q* W  ]& v
       '全站公告',1 h% \9 n) c8 w
       '全站公告',( M3 Z8 p; ^' w6 ~% b) p
       'manage_options', //需要的用户权限
6 R( S! L, V' i: U, e       'site-wide-notice', //后台页面的 slug+ U1 w! q! y3 F+ h
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数" I7 x* W% d1 X  ]
       'dashicons-megaphone', //用于显示在菜单中的图标' i$ L9 i+ o5 Q
       30 //菜单项的位置
: g- [& \+ g- _* S1 h- Y   );
4 ^8 I7 ~8 Q: j( l  u   ```+ n" U) B+ ~1 C0 e6 ~% u" Z! i% Z

) m7 t5 l6 {- L$ R   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
' U2 ]# L  n  O; p7 |3 |( \' _8 W8 K* x% X, u
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:9 b0 ?6 o) s$ v3 M
8 W  j! r% J7 q, q7 d4 y1 s% I. z$ t8 q) G
   ```
$ q7 J5 u6 R8 e   function render_site_wide_notice_page() {/ ~+ S! M$ R6 S& o
      // 渲染后台页面内容
# s: R( x5 D% d4 b6 {      echo '<div class="wrap">1 T5 k- a/ j' p$ a
          <h2>全站公告</h2>
& J7 m! ?7 O- y2 `/ ?6 Y8 ^) S          <form method="post" action="">; ^6 m+ O" |; u
              <label for="title">公告标题:</label>+ d. y; R. P. x; Y' |
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>+ _' h4 m6 @4 B2 x5 Z
              <label for="content">公告内容:</label>
# w4 P5 y' x' [0 N; D- J6 a              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
7 c& v% h9 Z; j1 M' B              <input type="submit" name="submit" value="保存设置">0 Z* o! E1 I6 L) i1 i
          </form>
* `( m' u# b6 w$ O2 a9 i* i      </div>';; N. q9 O/ t5 \% L( d' S1 y
; O) _$ ?- ^/ m9 B7 x
      // 处理表单数据
+ i, G# }. v# \6 ~0 G/ V% X; @      if (isset($_POST['submit'])) {/ E3 I; m, X; B# Y
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));* r  Q& Y8 v# R: z$ s
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));2 w9 c; ^0 o3 ~, D8 w, _9 C2 N- b
      }
7 z4 ^  W" z; L& S   }1 v. G7 F) H$ r: _& K/ o
   ```
8 N$ n& K, M3 H" Z, L! k: f$ H
, M! N; c4 ~9 k5 p   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。. D. j2 y# N3 ~7 e; k& S. Z# Q

2 D$ w9 X0 F+ d/ n) n3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
& n0 B1 {% w6 g4 h! _9 X: G$ P% C: |7 f# s! O- M: x0 q/ o
   ```& K  @6 X& |# C8 [# x/ O
   <?php
3 y7 \6 t4 f5 ^+ w% S, r: L   $site_wide_notice_title = get_option('site_wide_notice_title');) P, J5 p; Q' f  {4 E
   $site_wide_notice_content = get_option('site_wide_notice_content');  M9 [7 J" Q* l1 v+ `& v
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {5 n. W( V7 y0 ?# x  P0 g
       echo '<div class="site-wide-notice">';/ b- }: f& W( `$ N
       if (!empty($site_wide_notice_title)) {
' P- O/ ]( x1 w/ i; _/ I           echo '<h3>'.$site_wide_notice_title.'</h3>';( X- @( N6 u& ~# p- \" T
       }- r1 _# }. {6 P) v
       if (!empty($site_wide_notice_content)) {
  _  Y) z8 }3 z# d. G( e+ v           echo '<p>'.$site_wide_notice_content.'</p>';$ V/ A& n* w" U8 y  ^/ w
       }2 q% w+ o: \! D* N8 N
       echo '</div>';% t8 t. Y1 F: a3 P2 a
   }, M$ L  `5 H5 R+ v; V7 X& ~7 \9 b+ o
   ?>1 [5 ]+ X" U8 Y' u% q; w1 N- F
   ```
3 v7 H& x' Y5 V) t- [" I/ X1 L2 {* a1 y+ g, ~4 V
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。; ^1 N; e" a' S8 s1 m3 \3 c" h

  l) h- N' h: v' ]3 m) X请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

332

主题

513

回帖

3372

积分

管理员

积分
3372
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
; x7 @* f! e/ D4 a3 ?7 Y" q5 m6 ]. m2 v8 o1 G3 `* ?+ H, S  @
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:( H1 u+ q( {8 a

9 A! W: v: n% f- P8 }8 B! [1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:6 \% z+ N5 T7 y3 N  z

$ L: I# I" {0 k% y```$ x- ^$ i: X0 t4 _9 v3 Z- `- M) Y0 U
function create_custom_post_type() {9 x; @+ E1 e. a% J
    $args = array(8 e. }& k1 l1 v1 ^3 t- e4 t0 [
        'labels' => array(2 z( f* M7 v- k
            'name' => '公告',; q& q- S' q4 B
            'singular_name' => '公告'
* K; x$ x: O/ t" M3 u% A        ),
5 s$ f6 ?8 Y3 P9 S- {6 c4 f        'public' => true,! v5 G  t' g( X  A2 j. D! j
        'has_archive' => true,2 ~0 ]% i0 m! t6 _
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
) w. U/ U- u- T9 t0 s: j0 Q, }        'taxonomies' => array('category', 'post_tag'),  ^% B% w( v! b. z
        'menu_icon' => 'dashicons-megaphone',8 Z" t  @4 [5 y; f" |7 U
        'menu_position' => 5,2 Y3 D5 D( B" L/ A( J0 S
        'rewrite' => array('slug' => 'site-wide-notices')
2 k& e; k3 j" ^/ n+ \, K& Z    );
6 D% E2 T" @2 d    register_post_type('site-wide-notices', $args);6 P' o) Q3 }7 ^* y& n, `3 Q) M0 Z
}
% G+ N* C3 ?8 c! Cadd_action('init', 'create_custom_post_type');3 Y& i% y: P6 _" x" Q6 b
```6 n* I: D$ l# S% x, p
9 e9 X0 Y# n, b7 _: a0 u
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。! \  d% b. E5 V( Y; u( e) X
# V4 [4 N, }' s2 d- ~
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。& ~) g# |* B3 e% n6 a# P; D
, n; M7 ]5 a# E7 D. C
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
* @% @3 M* }8 ~" E3 U( E4 d' Q! a, ]
```. T5 e  s! k+ O% U1 W
$args = array(+ _3 {, g5 w6 }/ P2 D
    'posts_per_page' => 3, // 显示的公告数量& O# l" n7 Q$ m. @' ^' D; l
    'post_type' => 'site-wide-notices', // 公告文章类型( L6 m8 D$ k/ K3 G; L% V
    'post_status' => 'publish', // 公告状态
8 C1 k9 j9 T, K' I, ]- u; R    'order' => 'DESC' // 排序方式- S! Z) s* R1 @3 q& P3 P( d* d
);
2 F+ z7 \3 m; K3 Q, C! o
: s# j6 W8 J" f  X% a5 p$notices = new WP_Query($args);4 N4 ]$ `4 L# a+ M& x  ]  k2 g
if ($notices->have_posts()) :
( z+ j/ c) {, [( L6 ~, c    while ($notices->have_posts()) : $notices->the_post(); ?>
8 `0 S2 b2 ]& t        <div class="notice">
5 ?- N6 `4 q1 L5 C+ s            <h3><?php the_title(); ?></h3># h  U! d7 ^' n& O
            <div class="notice-content"><?php the_content(); ?></div>
1 R5 L* ^3 O) q9 l: j5 U        </div>
- ^' X+ w' w" O3 s6 B0 v    <?php endwhile;
2 h& F, H! V+ n; w* ~, [' Qelse :  o* v% C# [1 R7 [7 v/ F4 C. }* F- a
    echo "暂无公告";. |: i1 \/ [5 N* j1 ?/ r% N+ X
endif;+ N: i1 y8 e" }/ T5 {
wp_reset_query();  l; B/ b6 x1 V$ j/ b
```- {. ]" D! N* F, S$ |
9 ~, T! I2 m: s# A& e
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。/ F" @7 [! I( L& ^. u

0 `: E7 \1 J" E; D  U, X以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

332

主题

513

回帖

3372

积分

管理员

积分
3372
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
0 o3 o  g/ T, f6 b1 a
7 Z" `4 I4 X; [/ k3 e如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
5 C% z6 g; T3 E  w5 J" f7 M5 M6 p# F$ n- P+ P  S4 h+ Z" v! u5 ~( g- g6 I. p
以下是创建自定义插件的步骤:) \$ ]- I5 H2 t, S9 T  c: b

2 t- K% R) [6 C8 I* @1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
% s0 v6 m! [9 C' b3 ~% S; Y
5 ~; u( [7 W: p/ ]' U. O   ```( A, f$ o1 a1 s5 c3 d% x. C
   <?php: q% B* Q' h' l: A. ~+ m
   /*8 B7 P8 X0 l& {
   Plugin Name: Site Wide Notices Plugin) @5 O, W! P1 Y, y. o6 w
   Description: Adds a new custom post type for site-wide notices.0 P* W) l9 ~4 V+ m, ~3 j2 T% ]7 O4 E3 ]
   Version: 1.0: K& N- c1 A/ D8 N3 z& q
   Author: Your Name. ^* s+ q! j; F
   Author URI: http://example.com2 J- K4 d2 c4 h4 C' z( I
   */" k6 ~$ T& n+ [: k0 ]
0 M" F& r4 u* j2 V, O: Q! q3 t
   // Add plugin code here..., Z) U  B! l  v( E
   ```9 c9 I6 m! o/ ?2 H9 t: X
, X9 v, y0 P( q
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。/ L6 r' s+ g4 M: m
; R( f$ L+ h# T  M: `
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:; s% q8 T3 U6 m4 g/ T- }
0 w5 x( }% y4 m
   ```# }' `+ F$ `# B" l( ~7 s# e
   add_action('init', 'create_custom_post_type');
" a8 f  y$ q/ r7 t- i. q  P( o   function create_custom_post_type() {
# c% g5 ]6 b+ U' q9 U      $labels = array(
4 h9 w9 M& \/ E1 U: d# W7 |          'name' => 'Site Wide Notices',
2 u4 ~8 k, n% @+ l- b$ |          'singular_name' => 'Site Wide Notice',
& v6 h) [" O' H( |2 f          'add_new' => 'Add New',3 E& s. P/ s* k
          'add_new_item' => 'Add New Site Wide Notice',4 k, I# v- u& k  H% z
          'edit_item' => 'Edit Site Wide Notice',& |0 n4 A5 l% G5 b/ a
          'new_item' => 'New Site Wide Notice',
) ~1 j! C: D) p6 b          'view_item' => 'View Site Wide Notice',) @+ B% D9 l/ B3 A8 B0 u( a. g2 Y
          'search_items' => 'Search Site Wide Notices',
$ a6 j* L  z5 ?7 r/ p! `2 Q1 e          'not_found' => 'No site-wide notices found',
! }2 g8 _  W. R  k& G& x8 W          'not_found_in_trash' => 'No site-wide notices found in trash'9 J. q+ v& F: \% }
      );
3 q$ W$ L& q! ~# p8 A7 X; J8 Y) B2 s* `0 o! p
      $args = array(1 m( o) s' t' q; X& T* p
          'labels' => $labels,/ ~/ p& F- Y) D# C. @8 r: F8 b
          'public' => true,  x- \2 a/ M$ g7 Y# S8 w
          'has_archive' => true,
% P! O+ [0 ]4 E9 P+ B0 F' \          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
4 s- R4 j8 u& h. t          'taxonomies' => array('category', 'post_tag'),
9 l; C; e) B6 P, f2 I; n) C! L9 X0 E          'menu_icon' => 'dashicons-megaphone',- w8 s* R$ I  \! J  y+ _4 V; X' m
          'menu_position' => 5,
: G; Q$ ~! y4 D" E          'rewrite' => array('slug' => 'site-wide-notices')" O1 t, C0 v# {/ g: v9 ^
      );
4 o$ h/ {% ~% B. j2 r9 |
+ ^( w5 M; W  ~/ y# t' H9 ?; n; ^      register_post_type('site-wide-notices', $args);! t2 y9 ?; d& z8 U0 P% a$ T+ v% z
   }8 u) Q$ x( h) ?3 a
   ```' d! E2 ~/ v% t# y5 H
$ C5 |, t# j5 o
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。% p2 q5 U( I- i2 ?8 O
' ^: @. n: y" K, R1 @
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:! Y; n& O- {7 J8 l. b- j# P% N
! @) ~: p% n1 y5 M
   ```
4 `: p% C( N9 P0 X   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');* y: |5 V: \# o
   function add_site_wide_notices_boxes() {2 \; R, a5 S! E1 \
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');" v& D" {( f3 \1 o8 l
   }: `$ U, p$ u- H% y0 ?

" Q; O/ ]# w* o4 }( D: a2 g& Y   function notice_details_meta_box($post) {
. \" N; O3 F8 M      wp_nonce_field(basename(__FILE__), 'notices_nonce');1 A; v8 {% Z8 m- N6 S
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
5 w: Y# @. Y  p3 v' G* R      $notice_content = get_post_meta($post->ID, 'notice_content', true);
8 \9 o# a% t+ W9 m0 X' A      ?>
; d- [( G9 a0 p7 {4 d      <p>2 o/ l! |! y# J4 k' J
          <label for="notice-title">Notice Title</label><br>
8 O. b  ?/ U. Y          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
& M' B7 z5 L% `; c8 u; z      </p>
) H) }% N- _6 K- ^, x      <p>% x+ @+ o# d7 r% Q5 M/ o
          <label for="notice-content">Notice Content</label><br>
% I3 H# J8 S* K: Q" I: m          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>; @0 d# Q* ?, Z3 P7 t
      </p>
  o+ _6 i" t* r& F& s7 d      <?php2 e* ?9 h4 g# Z) y1 k
   }
- w5 f. W  A. K0 Z5 E/ U. R# g, i6 g% E# y1 V& F2 U. @
   add_action('save_post', 'save_site_wide_notice_meta_box');
$ n4 w6 _: _' ^4 p6 f   function save_site_wide_notice_meta_box($post_id) {& [6 B5 _; B9 f, W8 s& p: Q
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
) U5 m% ^  {9 N1 q- {9 c' M! f         return;
$ g  ]4 g' J; U- V      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
0 ?& s7 P' V$ V; Z6 {$ A: P5 r9 x         return;
# L4 T) G' j5 p/ G9 z
  W) M/ `2 l# N; E& E/ o2 t      if (isset($_POST['notice_title'])) {
* }0 l) k& K0 n& k: a8 L; {          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));# s! E3 U& u' J) S. y
      }2 l  h0 o1 L/ E, u. e" D
      if (isset($_POST['notice_content'])) {6 ]$ B4 t1 X- y: b( r5 {
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
! |9 @8 G* Q; @4 t1 m      }9 y) ?. ^! r8 a# y- z: H
   }: Z6 |' ?; A. \7 E# X& W- B' V
   ```
% e, s5 J7 H- ^# S  v8 F( f
* s! o- y2 d6 Y+ d   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。- ]" {* Z$ o( C% M  r

3 t/ D3 \  \" Z4 G: N4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:4 p. E2 v1 k9 A" n0 c
% }. T; y; a! I+ q& ?1 y
   ```
: T0 F; P7 j% ]* J  q   $args = array(
) z1 D, L3 C3 _) ^' @$ n3 F! _2 G. ]      'post_type' => 'site-wide-notices',
- M0 z5 I, R; f; S      'posts_per_page' => 3,
. g" J/ @# H5 K      'order' => 'DESC',
$ s; a8 }/ g2 y1 L4 x+ y      'orderby' => 'date'
: [8 j# _" a: Z/ `   );4 ~/ b9 K4 x5 B3 x. t& x; {" V
   $query = new WP_Query($args);8 W" I' ?, h3 R# b+ N9 z
   if ($query->have_posts()) :
, ^- F8 V& J( P) F: M      while ($query->have_posts()) : $query->the_post(); ?>* ]" ~; u& _2 m1 t( I" r% C4 g
          <div class="notice">6 d2 X6 @6 x% i+ _( `
              <h3><?php the_title(); ?></h3>5 Q# X& ?7 p4 C5 b
              <div class="notice-content"><?php the_content(); ?></div>" V1 L7 B! o! v" d* X. j" H; d
          </div>
' d5 u  J0 p+ j) O' Y, R/ D      <?php endwhile;
# G6 H. E) r2 J7 L* R& o      wp_reset_postdata();& w$ e) c, r/ B1 s( v! d: ]
   endif;
( W2 ]/ U+ i; T3 \7 a/ @+ H   ```$ M5 t) f+ j6 R! ^2 M

- I2 p. d1 ~" D; Z) L   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-24 13:55 , Processed in 0.082952 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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