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

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

[复制链接]

335

主题

520

回帖

3431

积分

管理员

积分
3431
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
1 i8 w# K4 @' X4 s3 I4 ?' f. k, K8 [; T; P
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
& Q$ _' S/ N- e; m; t8 ~
5 |8 d# B2 H" R/ [0 H2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。( [  k- ?2 F' X( D& V. Z
: j$ [' L& K4 c& Q& h/ B( c
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。% x+ Y5 Q$ V, t" H% q
1 d% Y% ~7 v, w1 @
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
2 y" u  J& A' C/ @6 u# m5 Q, I( ^2 _& s4 \& K. C$ _
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

335

主题

520

回帖

3431

积分

管理员

积分
3431
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?: z8 V, r% K$ A2 Q) \5 {; q
* [/ s% H$ D( [2 V+ U1 S/ o
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
7 Y" y) \. f; Y/ R  N; ^8 F7 {; p9 p7 ~# _
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:% ?% w. f& f* U% X1 m5 a% C$ r! R% ?
6 Y4 A( j, y) g3 L6 |/ W
   ```
- k3 O- S! V8 N6 ^   add_menu_page(
) S' T, G+ o. N       '全站公告',( t; E: o8 m3 f
       '全站公告',
) z$ Y" S' f* v       'manage_options', //需要的用户权限
- W4 _8 r/ N  A9 k- o3 n       'site-wide-notice', //后台页面的 slug
; p9 T' M' X2 S8 J, [       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
7 `) `7 }$ w5 j1 m. r5 t# Z8 L+ u       'dashicons-megaphone', //用于显示在菜单中的图标5 m- h2 B! @( `/ m1 L; L2 Q% q0 \
       30 //菜单项的位置: \! ]8 ]( c* D
   );
& S6 |& f2 i" V9 b( [$ ?   ```
4 j9 q) ?- X2 j$ Z! T+ J; v  g" W! l) S+ S4 Z) b, u6 G5 J
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
  b9 D4 A% A8 j. P3 D6 u# T( ]  ?+ R6 i
$ {% [3 ^5 m5 ~; W2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
# ?" `3 n7 l  S, ?5 g- s+ D1 o7 @, S/ W: z
   ```" i. {9 M# a0 z2 I* A" h
   function render_site_wide_notice_page() {0 Q4 B( _( t% P6 k) i1 j5 Z$ J
      // 渲染后台页面内容" j$ j# `+ w/ W( @8 G- }
      echo '<div class="wrap">! J0 o3 K. s7 h4 G# d, h
          <h2>全站公告</h2>( y/ g( h' C% w: {) H+ Q8 [
          <form method="post" action="">! Z' W5 I7 q% x+ }9 ]% U2 ]
              <label for="title">公告标题:</label>+ c% o' J0 m" Q
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
. m) d7 w4 T/ ]9 r, Z/ B6 N4 u              <label for="content">公告内容:</label>
( n3 ?+ B# {9 I: p) n* |              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>! [; o$ u& ^" `  R. }7 ]  f
              <input type="submit" name="submit" value="保存设置">* w+ L# g; v  \6 ]2 ^' O
          </form>
; i, v2 |! U) {. f8 u4 j      </div>';
( e, P( Y% o: Y/ G) l; x5 w/ k$ r) a9 {3 _6 ]$ Y5 S* d# Y0 ~# Q
      // 处理表单数据2 D. P: z% j% s* U
      if (isset($_POST['submit'])) {4 Q3 f, R5 N7 t  o; c6 c& h' y
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
  x* F1 ?  j$ o, @& Y4 C2 Z          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));) O6 Y7 a" h  T) Y
      }2 S9 t& C! w5 ~. @  ^* k1 ]
   }
2 M  A/ D# {; h/ e( F5 q) r( t   ```) G$ v$ H) Y4 ]% E* c- e0 X
9 H" S8 a/ y+ S+ h! z# p' t* B: Q, S
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。5 c, o1 w# h# E  \; l1 f+ N

  Y2 m+ b" L5 ]4 l. ~3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
+ y/ o0 p9 e- o. a% K
$ L5 V9 m1 K2 Z( I! r   ```
/ k8 S  t6 f/ x' Q. i   <?php
: x# C5 L  U4 D: d, v. ^   $site_wide_notice_title = get_option('site_wide_notice_title');- B9 l/ r$ ~# _, x/ Y9 A
   $site_wide_notice_content = get_option('site_wide_notice_content');
0 k" X+ L) s! f9 C5 a   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {1 ~9 b* m2 s; V5 q" Q8 }
       echo '<div class="site-wide-notice">';- V$ ?! U' q+ P5 N7 l$ q
       if (!empty($site_wide_notice_title)) {( A2 C% i/ c- R4 k9 N
           echo '<h3>'.$site_wide_notice_title.'</h3>';
5 D* F# D) T4 }, k       }& O, y, V) V/ j! z  I1 U) X2 o
       if (!empty($site_wide_notice_content)) {
* w7 v, {2 O& |' d4 C           echo '<p>'.$site_wide_notice_content.'</p>';5 e7 P4 F: g" \5 M
       }) b9 E! v, ^4 Q8 C: m# j' X
       echo '</div>';
: Q- o  k" ~# X7 S   }9 g# O; l% ^, Q+ f9 O
   ?>1 K& V- {# ]' J# n+ ^: x0 s2 [5 o8 _
   ```
) l6 h5 H- P+ R. H
( }; u6 F4 h) B9 \* {   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。  r0 x' X( }! X7 {* X
6 b0 p# C: z- k# L
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

335

主题

520

回帖

3431

积分

管理员

积分
3431
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
- W6 f; K/ E* s9 _4 ?  h5 o' x
3 m! |0 a  P# P- d您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
; |! k- v- |# v' U0 u6 m
. \2 S- w: F7 W0 \7 E# [. _' x0 p1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
8 I/ u% P9 }3 z  _$ Z! @4 Q, \1 p, c0 k& P+ ?( z# Z, _
```8 k9 y* h0 B" j# k. E
function create_custom_post_type() {
# j6 S, A( U' x$ x0 ]+ @5 b" n    $args = array(1 N4 o$ O" {9 [' h$ S4 |
        'labels' => array(
% |6 l3 {+ [& n) ]9 O' ^            'name' => '公告',: u, t% P8 W; u' _  N
            'singular_name' => '公告'+ ]' Y* C9 _  a3 x2 u
        ),
1 ^$ H# N% L3 p        'public' => true," K: H2 |( y2 ?6 K1 ^, y# f
        'has_archive' => true,, y$ W7 y! Z* R( @5 z
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),2 B3 i; y3 E  ]. K
        'taxonomies' => array('category', 'post_tag'),- Y1 Z7 i' B- ]0 w. A6 C
        'menu_icon' => 'dashicons-megaphone',+ ?& v( P* Y' M, Y: I4 h
        'menu_position' => 5,; E+ h: y% C, t' p/ p% Y
        'rewrite' => array('slug' => 'site-wide-notices')
+ D4 m- c8 Q/ Y$ A- }# Q4 y  G" Y    );: b" }  f3 y1 H0 G2 L# ]1 S* O+ Y+ @
    register_post_type('site-wide-notices', $args);
) M9 u# R0 w! s1 B$ S# w. u}5 a, z; y  b) g' \8 C: T0 ?8 d
add_action('init', 'create_custom_post_type');
& V8 h' N4 @/ P# S( u7 {5 X2 h```  D% |% n* G, `/ U4 k& z0 F* }0 g, t" d
2 q+ ]7 q) O2 q: I+ A
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。/ o. ?; ?4 Y9 Y

& L# E7 q+ U) c2 \2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
  k+ F  t7 ~2 \/ E' Y; v; }
2 ~  E5 ?- X1 b- M3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:5 B2 h3 {! T+ M- h6 k

# c. N8 T8 u. Q1 ]: @```
% j+ |& @, D  P" d/ r$args = array(
( J$ M2 g# N+ t8 w, r8 b    'posts_per_page' => 3, // 显示的公告数量
. w" d1 c- e$ b8 K/ o" |) v# }    'post_type' => 'site-wide-notices', // 公告文章类型0 M/ S; a' x! ]  g
    'post_status' => 'publish', // 公告状态6 o( v1 d2 ?( i9 Z
    'order' => 'DESC' // 排序方式
& O$ J( p4 O" p. W% l) _) K9 z9 Z);* w2 z5 M! R8 A7 D, J
9 w8 e6 j; q4 c
$notices = new WP_Query($args);
1 G& f, S5 O! r1 Hif ($notices->have_posts()) :
4 z. g! h1 K, |. Q    while ($notices->have_posts()) : $notices->the_post(); ?>
5 z7 n  T/ Q8 i        <div class="notice">* W1 Q4 D, T) ]3 @! q1 L
            <h3><?php the_title(); ?></h3>2 M6 J9 |, z# J  f) ?- p6 U
            <div class="notice-content"><?php the_content(); ?></div>
& M( e2 d1 E1 P# \3 Q. M6 |+ m1 V        </div>8 M; U9 Q) a% I; C$ r$ U1 u
    <?php endwhile;$ f" n( {  A" V: m$ w" k1 O
else :, N. U- _# }- U1 k) K
    echo "暂无公告";% p6 Q! Z: X& K% B) J9 H/ P
endif;2 x( v) C+ S0 j2 z" N
wp_reset_query();
0 X4 J* D( ?( o- U% m```
: U! d2 T. D  o. N: X
& e! J8 {# ]$ l7 e8 q* D: S这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
% ~9 A4 c) K. l* |# z$ V* y8 O7 x+ C2 n
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

335

主题

520

回帖

3431

积分

管理员

积分
3431
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
* Q/ n+ n" S3 u9 s( v/ }1 f/ U/ v6 v4 f) z
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
6 p) F# r5 x: q, P" M* ~8 P' Z5 {, H, T4 y: U4 }4 ~2 v
以下是创建自定义插件的步骤:
- r4 f1 x- D$ B( a2 l! x+ @! \9 k6 f4 @, G% `
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:0 q4 s. _' |. R5 f" I6 M

: {, W% k; k. M4 Q' R   ```- Z0 G6 J$ o* D3 H; l& h
   <?php# l; O8 v& M2 A/ S
   /*
6 c( O! y$ o  @0 H) h! J$ B! F/ S   Plugin Name: Site Wide Notices Plugin6 U4 j3 v  P7 f3 ]3 Z; D- f
   Description: Adds a new custom post type for site-wide notices.
. b6 @# Q9 L6 R4 M, P. P$ h7 p   Version: 1.0
0 c8 U2 O: |8 y% W& z' Q- c   Author: Your Name& B" R) k# q, ?- K; `" `1 n  d! z6 f
   Author URI: http://example.com
: u$ l% j9 G. V5 @+ H   */
# O& j) s1 e& T- F. @- i: Y1 ~( N0 G! g" G% W5 n# f: K; ?) d( z
   // Add plugin code here...
' B" r. D* ~2 J0 [  l, c   ```+ Z# ^' G' v- t: O( g
5 \9 f" t, F/ G5 [- M
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。7 D, G% `; j. T: a: Z" N" ^6 B
, F9 {& R. m/ H6 X/ o( ?, N
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:  Z6 p! y- _9 p0 o
' K8 Q, v0 O5 K5 x' l$ U
   ```
3 ]) T9 U$ |# i   add_action('init', 'create_custom_post_type');
! \/ G+ T; G2 f5 g5 ~- T   function create_custom_post_type() {
' l. z' I; H' n# w3 @# C      $labels = array(
/ K- h9 O$ x- _" J% B8 `          'name' => 'Site Wide Notices',/ l4 i0 J  S% V' h5 z
          'singular_name' => 'Site Wide Notice',
) D) ?7 f, |  ~6 E& u5 Y: S          'add_new' => 'Add New',3 `8 M" r. `: {$ [
          'add_new_item' => 'Add New Site Wide Notice',
3 |7 k) ?* n7 i+ P( c7 u          'edit_item' => 'Edit Site Wide Notice',
: ~4 k( X: H) c/ [4 D          'new_item' => 'New Site Wide Notice',
$ s# O1 m4 y! O6 p; M          'view_item' => 'View Site Wide Notice',1 ^% n- o" i- J9 Z4 [8 D
          'search_items' => 'Search Site Wide Notices',1 Q& i! V3 L& P
          'not_found' => 'No site-wide notices found',5 d8 a2 h4 }& X+ ~, u8 H0 P
          'not_found_in_trash' => 'No site-wide notices found in trash'
- ]; I# j& [! R" e      );4 m, p# ?! E: C5 j
; O9 B* w/ w% y$ j+ H. w
      $args = array(
/ g, M3 U4 ^6 O7 G          'labels' => $labels,/ r; n0 _) Z4 M# _1 ]) I
          'public' => true,7 ?. S- H5 R( r  y7 ?" k$ U
          'has_archive' => true,
) ^" h6 _& L, K+ ^+ ^8 F          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),, Z' v: C. J" w- B' R5 H  e6 y+ X
          'taxonomies' => array('category', 'post_tag'),
% i7 N" g2 h. C$ W" ^! q: Z8 P2 p/ w          'menu_icon' => 'dashicons-megaphone',- o+ c# K  o9 B& @! i
          'menu_position' => 5,
8 [( v0 T8 a9 [1 r: _9 u4 l          'rewrite' => array('slug' => 'site-wide-notices')
2 a0 L* j# \* k      );/ ]! Y8 P) k  L5 W9 T
+ U7 |- A& s, G1 J! r
      register_post_type('site-wide-notices', $args);
1 A- g: r! c7 }& \+ r7 B   }. A% u$ }4 t# T
   ```% J  X- U6 r* r, z- j, A) D4 g' C
1 t' H5 g! \4 l0 F! y3 D) B4 N
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。, }4 K6 O* ?( `- y

3 m8 V4 J  V5 P5 C2 q) M3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:: ?7 T9 J# ]+ u5 k

/ w, H& ~. f  j( c   ```
5 {- R7 Q. Z& R3 Q4 k   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
" O0 ~) w1 b+ W* A# N   function add_site_wide_notices_boxes() {
, e# E0 _% W1 `* m0 U      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');/ L0 {1 ]7 M( O: h' Z# M
   }
; O/ R. u: l. Q
+ V1 D3 b, U  M! m   function notice_details_meta_box($post) {
% v" B/ r# b7 Z+ Z      wp_nonce_field(basename(__FILE__), 'notices_nonce');
* [8 H; K7 H4 m1 b) z% X      $notice_title = get_post_meta($post->ID, 'notice_title', true);
% U$ v. x) f2 }3 x      $notice_content = get_post_meta($post->ID, 'notice_content', true);& K/ J1 n$ }9 [! {" U
      ?>
' d- O4 Z) }6 ~; ^; ?      <p>3 q. |/ _. d  i3 c' w
          <label for="notice-title">Notice Title</label><br>
  `! I$ f+ R! w          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
1 s0 _, }% G! \; _' J      </p>( I0 p# g1 |, e# [# K- n0 y
      <p>: }6 `9 Q1 _5 y# U& R
          <label for="notice-content">Notice Content</label><br>
  D  _/ I, |* q# Q+ m; b7 c          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
* u" A2 `) \" B$ z/ P2 h+ q      </p>$ w0 Y* t) r4 A6 g) Z0 E/ R4 `8 }
      <?php, S" L, U; l7 Y2 Q
   }# U" w0 h7 R1 o

- f: q3 S; _# B! f3 c' s   add_action('save_post', 'save_site_wide_notice_meta_box');
$ l5 I! K* F$ ?4 U! ^   function save_site_wide_notice_meta_box($post_id) {
/ B0 v% s& O. c1 z) b4 `& X" N      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
+ d  N2 T; H* H" |         return;
) D3 J8 u3 X4 E  s9 ~      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)2 h; c6 `( z% s
         return;* |. ]1 J8 ^9 [& B- L
7 f; X% U8 X$ x0 u9 U$ C5 H0 y- z
      if (isset($_POST['notice_title'])) {
+ [8 T* H3 R4 o; B( W0 W          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
5 \  f! e3 y8 k: T. z. ]5 m      }# t- ?% b7 m1 m/ I+ Y- n
      if (isset($_POST['notice_content'])) {
8 I; f6 ~/ ^9 Y          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));0 F* E% T+ l; `: G; T" P. X3 z% X
      }
- b# P$ k5 o# n5 y" p' f2 P& G6 o   }- o3 q. v$ X3 [0 j! ^
   ```7 ?6 z6 j' c2 w  a9 \" B

: m" s& d/ K3 }3 |3 n   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。+ U, c# E) T' `& ]& D7 Z5 b8 F) Q

! j# z! f. B8 J, _5 D3 ]4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
; b. |- Y% Q) R( B0 ]$ h
8 B3 r! \' t* E3 g+ X* \# C   ```0 a. ]0 c' o$ w" g* F
   $args = array(& \. @, d! I7 \. [5 W
      'post_type' => 'site-wide-notices',
" H# L2 ?7 w3 U, _, {) N      'posts_per_page' => 3,
# H' ?, Z6 X+ F( B* P      'order' => 'DESC',7 c( h+ D5 |9 i
      'orderby' => 'date'
7 z4 _& ?) i, ~3 Z# w% d   );" i3 w4 `+ `  K9 n7 O
   $query = new WP_Query($args);
5 _$ l' F) I4 X   if ($query->have_posts()) :  p/ o, }; i# F0 K4 L, n5 C4 a7 N, B
      while ($query->have_posts()) : $query->the_post(); ?>
9 ^$ |$ n% ]$ i- L& B          <div class="notice">
6 v4 Y3 N7 B- u: Q0 C- J% j0 f              <h3><?php the_title(); ?></h3>$ T& {1 G: |3 m- w" M  Z
              <div class="notice-content"><?php the_content(); ?></div>/ r" ?% G! R- h
          </div>
. K, _+ C! F8 x& N3 O3 {2 \+ d1 R      <?php endwhile;: p4 o. y) q5 u1 v9 c8 p
      wp_reset_postdata();& n' j) P3 x: Y% q, g( t
   endif;1 h! T% k9 |: H, S
   ```
  B3 [! x: c: y1 i" ]+ B7 E; x; A5 L3 q4 N
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-15 23:33 , Processed in 0.078519 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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