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

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

[复制链接]

342

主题

545

回帖

3594

积分

管理员

积分
3594
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
4 F% B+ R2 U- b4 T* N" ?4 i
: Y. u5 R5 w$ `8 `2 N7 i; Q- B+ S/ [* [1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。4 r) V7 \6 k0 \
* c# N; V1 ?) V# P, u( m
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
1 N( Z5 h6 z9 m& |- _9 e# X/ y
9 g& ~, s9 S3 @: H3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。) l, A. c; R# p/ R5 u
9 j1 G+ z& k+ B
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。0 }8 f( {  n4 z7 q: [6 v
! y3 b' }( `+ a5 N: T9 g, p
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

342

主题

545

回帖

3594

积分

管理员

积分
3594
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?! w* j$ A+ A8 Q/ W

+ O6 V; [) m* L% ^4 V+ ^, U1 U如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:% f: Z4 |. P* `8 a) w  A+ y  ?
  n1 U& M/ j% X* C0 I
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:8 g5 V2 R6 u, b! E  C
* f1 K' E: D; r2 w, I/ v
   ```, u" l9 Q8 I) [# I' o1 I7 Q
   add_menu_page(
6 k, h3 z- G. ^+ D6 O       '全站公告',
& N# M2 I! v- s( O       '全站公告',. Z1 R) M5 r/ D  a3 a) k
       'manage_options', //需要的用户权限
2 I) z) X1 ~% R$ u6 ^/ w       'site-wide-notice', //后台页面的 slug. b8 F  `6 y- i' [$ k: t' L
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数0 m6 N2 B$ k7 y
       'dashicons-megaphone', //用于显示在菜单中的图标. @8 }! Z( U9 E; }6 W
       30 //菜单项的位置$ n* K/ D4 U4 |5 S2 G8 P( S" m
   );( M; [( p4 P/ [/ N
   ```; `" J. I5 u5 U- a5 ?7 V, ]9 _  T. U

* x6 m. K' [: E& L   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
2 _. y6 N; t% u5 f. ?8 }. N( T* o
+ T) I4 ?8 t5 g2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:. h# ~8 w8 M% ~; _1 F3 c0 N$ _. L  P
7 V: o1 z& r- f2 k' U8 \. a4 K6 Z
   ```; S: w. Z5 x/ M5 s$ e1 \, U
   function render_site_wide_notice_page() {
( O% y5 w2 U) O" Q9 {# \( ]" \      // 渲染后台页面内容: X) q' N. @: z; ?, j' K
      echo '<div class="wrap">; ~6 R# s1 {; B
          <h2>全站公告</h2>
; O9 B0 j, m0 h          <form method="post" action="">9 b1 T8 M7 g4 B9 V% t# M
              <label for="title">公告标题:</label>
* w4 n/ e5 O; _5 X, G7 A! y              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
! q7 K) v  c4 z1 ~# C8 o; d/ V# g              <label for="content">公告内容:</label>
3 t8 V9 T/ ^& l* h% E. ]7 K! [              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>) }& Q3 _3 v6 b
              <input type="submit" name="submit" value="保存设置">
! w, o1 _% o  T# {6 D% b: E# a' n          </form>
8 }5 L$ M' c; K: j0 d* C! N      </div>';, u1 N" K$ C3 M; p" q" g

4 `. ~6 @4 f: d: Q3 \' ?/ d      // 处理表单数据
2 J4 t' z2 i: C8 i# N, r      if (isset($_POST['submit'])) {6 c  {( n, c" x
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));9 s4 J9 Q% k! N9 k3 ^
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
. N5 [( W8 z( m: [  o. h% \$ E# Y      }9 A% }9 Y/ }0 G+ v
   }
6 N  \% `* t/ L   ```
, J, b6 J. i" Y8 L, Z  j- N2 p0 |8 Q. }# m* P: \3 i
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
$ y& @8 p, ^* S8 B! W# P
% e, Z4 E  t; k" U3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:& S8 b" u+ v, K+ z/ V% D$ S

7 s/ X$ C/ m- [( X1 m5 C   ```' [# p% H! ]: B! x5 Z" d
   <?php
! b& i" U6 t; `+ `   $site_wide_notice_title = get_option('site_wide_notice_title');8 |1 h7 R5 h3 g" B( |
   $site_wide_notice_content = get_option('site_wide_notice_content');
/ E8 H/ j; x. Q0 Z' i+ @   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {: d  g. ]' I' U, a0 ^4 g
       echo '<div class="site-wide-notice">';
/ w8 H; n0 c( s       if (!empty($site_wide_notice_title)) {
6 l1 y( N) h8 e7 k# ?8 ?3 L" _           echo '<h3>'.$site_wide_notice_title.'</h3>';
$ F4 r( O5 l* c& g. [1 r       }
" W" a' F( |$ w4 O- U. ~       if (!empty($site_wide_notice_content)) {/ g  [1 C  {8 ]) ^
           echo '<p>'.$site_wide_notice_content.'</p>';! B$ G. F* U. O  R9 n; S: ~% ^1 j* _* D
       }2 I" t+ A6 D3 z# X3 a
       echo '</div>';6 W. q# D0 u+ U% \1 u+ ~) ^) C
   }
3 v1 V. p+ d! M; X   ?># J: B& h3 m9 L  M/ i: F
   ```
( w7 V1 S9 H* ?: c5 \4 V1 Z; i, w. ]7 N2 r
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。  ^, {" M+ \$ k/ N9 s
# Q8 O7 S8 z( j: P. p4 B
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

342

主题

545

回帖

3594

积分

管理员

积分
3594
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?* m1 l+ F; h$ }0 }; P( w
3 p8 ^3 c  S4 |& V7 ]& ^
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:9 W( ?7 {+ e( E$ b' c  B4 R( l
' \8 @; V0 I- c* \
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:' \  y! \6 ]6 |* p* S) e
: ], O6 q  q' W' S7 }
```
% l0 {! E& ^8 m3 `8 h  Ofunction create_custom_post_type() {5 F- l$ p0 `7 K5 p0 F0 d, O4 \5 D" F6 l4 g
    $args = array(. e9 O" \, `. a( @* E( F( S7 j
        'labels' => array(( V. M1 O9 {- R
            'name' => '公告',
. t5 }" I( d$ P/ C* a; _            'singular_name' => '公告'% z) D7 v8 z& R; D8 A
        ),/ _/ e! c0 f9 I- e1 ^) s9 r8 S
        'public' => true,
+ ^9 q6 d# S& l8 y        'has_archive' => true,6 N& d4 Y' f3 G/ L' ~
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),6 D5 l# Q# Q& K0 q7 _: h& Q7 J3 E
        'taxonomies' => array('category', 'post_tag'),1 l& w9 I$ {6 O$ J3 `" M0 o
        'menu_icon' => 'dashicons-megaphone',
2 I* O2 p3 j" n7 K        'menu_position' => 5,* Z2 o( O# E: ?1 E( p" m, [# w
        'rewrite' => array('slug' => 'site-wide-notices')
+ F" P# l$ {8 K) ]& k' }# ~    );
6 `. Y, v, {- L! `- `8 k    register_post_type('site-wide-notices', $args);1 i8 T9 W9 [" l& ^# U. t% @; L
}
$ y" e- c2 x  F5 l$ y. jadd_action('init', 'create_custom_post_type');
1 n3 Y5 I( W5 ?- g; @) i```
2 y+ I" d5 r- [$ F
. A  ^7 s6 m, ]: g7 G在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。  M: c) @* F0 k# F

" ]( A; c3 j# {& b$ A4 h2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
6 G5 ~8 @. Y' H4 c* M' a  V+ I8 _$ d. K$ l! e
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:5 @  J1 I2 j' t. O+ }( G3 t

! G/ y4 q0 `! H. Y8 V```
  @* F# i- I  Q7 c' l2 D$args = array(
. K3 U6 n" S( |( C    'posts_per_page' => 3, // 显示的公告数量
0 u% C5 I2 z% I3 `: B; u    'post_type' => 'site-wide-notices', // 公告文章类型* G) V  e9 K7 z* _+ y
    'post_status' => 'publish', // 公告状态7 F" M; h- o% r+ c( T; O1 u4 F2 M
    'order' => 'DESC' // 排序方式) |$ q* N2 h2 `5 u8 ~
);/ `7 U6 e6 W) L2 {1 A

9 F2 P) c" A) h* N9 H3 q7 [$notices = new WP_Query($args);
' {: B4 d' _7 q/ D6 h; kif ($notices->have_posts()) :+ h$ x: t+ R, k
    while ($notices->have_posts()) : $notices->the_post(); ?>
, C+ f& j0 @9 H) \2 F& r( `0 u        <div class="notice">
1 f' g5 w+ u: F' n            <h3><?php the_title(); ?></h3>0 M& q8 g/ a& U& y6 @
            <div class="notice-content"><?php the_content(); ?></div>
3 x% D0 _. o  P7 r! V/ U9 E        </div>
$ o/ ^, Y! {" U, h# X    <?php endwhile;
+ y& J3 u  x7 ~, a6 }else :3 ~% I3 O3 T' o; |, Q
    echo "暂无公告";
6 d: v8 B7 U; }* h* u0 i4 Jendif;
! |- h, x6 ?7 uwp_reset_query();: s+ e' A$ ?  d
```
0 N) N. i! a$ E( M7 w
6 K8 t. i" F/ z' j0 U( D这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。1 {! H% i! \( v: O& l
: j; M3 x7 c: p! k7 I
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

342

主题

545

回帖

3594

积分

管理员

积分
3594
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?7 U/ o: y0 H+ i" K6 Y$ I

5 f5 Y- _! }( {- }如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
, c$ f% ]4 j8 [" i0 |
  r: j, s5 ~4 F; o, z/ R7 Q以下是创建自定义插件的步骤:' h$ N! [6 _' v8 A% S

3 M; J" }1 V9 L3 L+ ^1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
5 _: ~, {$ [; E7 i( f0 a* F9 k* ~3 f0 \$ {
   ```
% Z% l2 |! Y8 M5 z3 u   <?php
" E  ?; K  Q9 }- m9 n1 s1 x   /*$ C) D% v* H6 [$ t8 E& _* v' H
   Plugin Name: Site Wide Notices Plugin
- {( U; d1 r0 \1 Z/ |$ y& s& @   Description: Adds a new custom post type for site-wide notices.4 ~  g4 Y5 t  S+ r3 {4 E
   Version: 1.0
' s4 Q3 K' V+ u8 c* t" C+ e! j8 a   Author: Your Name  {  K0 o3 ^# P: k. j
   Author URI: http://example.com! h' t0 G& ?; q  ?0 }8 X3 O
   */
% y6 e# a7 k% H# O) k, `9 `  k) _& @( o. r7 ~
   // Add plugin code here...
) L9 N3 g: w* p* R- K   ```4 D) _' B& o6 L1 k) ~
1 n- o8 d# Z! p9 g" s- i$ U
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
) v) {9 E% }& Y4 {7 s$ z( N! D& y2 V. `" n8 o
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
: K8 D$ P8 f' F2 q' y: K! u: E4 i: m* J" o
   ```# r+ m9 `* ^2 g3 P1 g* d  w6 g
   add_action('init', 'create_custom_post_type');9 H% Q1 d# b$ x4 S8 ]
   function create_custom_post_type() {
* b9 V1 {# V" |; ?. o2 F, R$ H      $labels = array(
5 U3 Y; k( o" P7 \% U0 z          'name' => 'Site Wide Notices',
6 O/ T* H) W' Y) T5 W* Z          'singular_name' => 'Site Wide Notice',- V9 w8 B0 M2 j, M
          'add_new' => 'Add New',
8 x3 {+ z  p% q9 |3 Q& r          'add_new_item' => 'Add New Site Wide Notice',
; f1 i/ \, }5 D9 @          'edit_item' => 'Edit Site Wide Notice',4 b& J3 P4 V  {' a
          'new_item' => 'New Site Wide Notice',8 R1 g1 h# t0 |1 C1 |
          'view_item' => 'View Site Wide Notice',7 N* }$ u, @' F2 _' S
          'search_items' => 'Search Site Wide Notices',; U2 S  j  Z( c
          'not_found' => 'No site-wide notices found',
1 H1 j( T! n5 r          'not_found_in_trash' => 'No site-wide notices found in trash'
; c" D# {+ R; R2 n5 ~6 f      );- U  \; O- F% A) J3 g2 Y
7 r) u) ^* L5 E5 ]8 h& V
      $args = array(# j: ~& L  v3 w1 H6 I4 j; k
          'labels' => $labels,
7 ^0 t3 ?$ c! H" F3 F  U          'public' => true,
/ |% R# `+ _2 z  a5 [5 l          'has_archive' => true,% s* R- Y) D6 U2 C  n6 w
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
3 t! s: s& }! D  v          'taxonomies' => array('category', 'post_tag'),
0 }7 d. l( H, p# F2 O          'menu_icon' => 'dashicons-megaphone',
' I/ f  L+ r4 Q- f          'menu_position' => 5,
' C/ r( b2 E  e# b/ d! g3 k& A          'rewrite' => array('slug' => 'site-wide-notices')! m& j  j7 S, w
      );5 g! w$ r7 Y, o6 H+ `
: Z$ E/ f( ^- S$ ?3 m
      register_post_type('site-wide-notices', $args);
, K3 k& J- |+ u   }
- g* N% X' q* M" ~+ b+ z. Z# T$ P   ```: K  U8 _' u& ~( M. O+ a9 F
$ D& T2 o9 d: R% A" X
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。9 ^' m. g9 }/ L7 X* r) X
1 a* `8 F# ?3 }' {. ^; v
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
  X( U9 p# D: ^9 P; j2 b8 v* \- w
' [! l3 k4 ~' r; w& a" A   ```
" x9 |0 B: }& ]' a( Q8 f) A* [   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
- K, M( N4 S1 J4 C( f. [% N+ z$ `* r   function add_site_wide_notices_boxes() {
6 l. ~) N7 y2 E, b) H' Q  L      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
" \3 ?  [' U( f+ D" D2 d, P   }: @" ?- c; B  J) j5 z
( T* {# i% K8 r' N% L# @
   function notice_details_meta_box($post) {6 c8 C8 [. I/ j$ \5 ?" L' X( s
      wp_nonce_field(basename(__FILE__), 'notices_nonce');
' a& L  h: ~5 w      $notice_title = get_post_meta($post->ID, 'notice_title', true);2 [8 m8 g& r5 h5 C
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
; `4 x% R$ M2 [8 A- E8 D7 l! P      ?>
) @( ?7 h3 F+ {5 u8 w6 Q# l      <p>9 g+ {8 y. u: H; c* J
          <label for="notice-title">Notice Title</label><br>% }0 d( Y9 w. Q; [! o
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">" N* V  ^* o2 X# c1 h9 `( \! C
      </p>
* _7 O- x  p8 }+ k2 `' t+ \      <p>
+ `# q! _" V5 N: b& p+ ^          <label for="notice-content">Notice Content</label><br>
+ }8 w# R) \# E  Z& a          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>" B. D) U! A/ i. R) _( g
      </p>  _& l0 F7 o& b. g. \: y& M+ l3 f
      <?php
& L- m! }4 T$ W, Q* M; F, i   }: U' R# p9 x/ D
8 J9 o8 E& \' x
   add_action('save_post', 'save_site_wide_notice_meta_box');- |8 N/ F9 @7 e9 o/ m
   function save_site_wide_notice_meta_box($post_id) {
# G, z; J* ^1 N4 Y6 y      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))/ Z5 `3 o8 \! y3 _* s# Q
         return;% Z" t7 g% D7 @, ^. ]7 h, s
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
. i* U+ T" ?( W3 T. M         return;& |$ E& o9 [( t6 c# l

, O3 l+ D' n! e- P  d7 G      if (isset($_POST['notice_title'])) {
; y/ a) _/ T, m& t7 c, \, M6 q          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
8 K2 [( f2 V  R- @# w8 t3 u      }! h1 g& x. D$ O7 P  o3 y0 k$ @
      if (isset($_POST['notice_content'])) {  @; \$ g9 O  X. x; y5 \
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));& C* V0 r3 p7 Y& k* i
      }
. U) |1 O! G- u% V( `   }! B; o8 L0 }" S
   ```7 ]( j% X3 v. Y1 F
- `- Y5 I% h& m! G$ I- ]9 X. q
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
/ S2 q' m3 ?) R
9 u1 ]& ~, E, k7 z+ T1 G0 h4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
5 U6 e7 a7 t0 }8 n6 H/ G9 Z3 V, v1 b+ i6 B5 N* y. O4 D
   ```
4 P- Q# b4 S# p0 r   $args = array(* x, ~& R' D, n9 @
      'post_type' => 'site-wide-notices',% V, z% o0 u. s! @, B6 f( B
      'posts_per_page' => 3,
8 T( E' g7 {5 j7 W+ j/ {6 \3 \: ]      'order' => 'DESC',
6 K# s% r; ^4 p+ H8 b8 l      'orderby' => 'date'
2 J! u% A- T0 E" K. w8 Z2 q0 X   );
* N5 K1 l  ~+ A5 z3 J   $query = new WP_Query($args);
: `1 _- h# f6 F8 V! F! ~   if ($query->have_posts()) :
% f7 x" ^5 y7 q- ~+ k! ^* {      while ($query->have_posts()) : $query->the_post(); ?>
& A' C/ r: i) d) f5 V          <div class="notice">1 J) p' ~8 i  m3 Z& ]
              <h3><?php the_title(); ?></h3>8 t8 K2 w$ x  i& A; B- I- j& h% ]
              <div class="notice-content"><?php the_content(); ?></div>
" O) W- E* f# F' g          </div>
( Q/ {. s: u* q$ U      <?php endwhile;5 x# |4 {' \- ~/ k
      wp_reset_postdata();
8 X0 X  e( B/ K7 v   endif;3 n9 }$ v8 {+ |4 i7 d# V
   ```
1 g; P% m& M! x" A
5 N) ?/ H# L: f0 m; u% ]   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-27 16:45 , Processed in 0.015252 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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