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

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

[复制链接]

347

主题

565

回帖

3685

积分

管理员

积分
3685
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:# W! G* K- C0 L5 g2 ], C
$ l8 P, h  t+ T% x4 f
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
7 d" [: h- |) p# F& P+ _8 `. [7 o* d% L. K
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。( G5 @. I* P7 h1 J6 N' ~: }( O
6 S0 w# h' t$ T" }& s3 I/ K. y* k
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
' f3 W" U8 i8 _; s2 i$ s6 o
2 f4 H4 F# B0 I  P3 \4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
1 {4 r! F  V/ O3 T# N# I( M0 J. o9 P: ]+ D" J5 S
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

565

回帖

3685

积分

管理员

积分
3685
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?. E$ d8 T6 G1 b& E  m9 k
8 J: p+ {1 k2 p
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
7 Z* M( ~3 i3 w- [3 ?& W; a  p& {% ?
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
# Z& H# _5 \/ F1 c. a; @; ?" E* u% @
   ```
# c# c+ o. i3 S+ `, Y1 `/ D   add_menu_page(! Z  u4 @; ]8 h  w; s6 g
       '全站公告',
$ f' z" w: [1 k2 I. x       '全站公告',. q( W4 L7 [. L/ x. N5 J; H
       'manage_options', //需要的用户权限
+ w6 z& l5 {6 C" u6 `       'site-wide-notice', //后台页面的 slug
: X7 J3 l  r  Y) m$ V% t+ ]       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
, c7 k% L2 ]" y# J3 ?, f# Y# b% H) a       'dashicons-megaphone', //用于显示在菜单中的图标
7 o7 _. P$ F& S2 d       30 //菜单项的位置
0 M7 o$ I' |- W/ N   );
5 t; t$ `; A3 h* B% o8 i4 m4 G   ```
: I2 G8 y6 I4 Y$ h: A
0 ?9 Y# T% `9 T7 H. J2 E% c/ }   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
4 e% F. o& B& C  i# `5 `% a9 }" X8 ^! R6 R# z, E
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
8 z  _- b% {3 ?. A( R1 F! j) p' d# `2 ^, q, o. P( m0 X$ ?
   ```
1 N0 C) j8 X; U$ e: f% w  c   function render_site_wide_notice_page() {$ \5 {- \8 }1 l3 Q
      // 渲染后台页面内容
) }1 R9 y8 {9 F) z      echo '<div class="wrap">- T, Z, i6 X/ H- m. x
          <h2>全站公告</h2>
  o' b) X/ D) p+ Q, |  M  ]          <form method="post" action="">
6 o4 ^- h$ _: \- \/ B+ m. i# z! x# ~5 F              <label for="title">公告标题:</label>2 i4 x9 a4 B. _' f& x# `
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
3 Y4 n! O( I6 ]" I7 p              <label for="content">公告内容:</label>
- F: l/ p5 g( u7 f( B( F+ [              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
* X. `) R& @! y/ ?2 i) o1 A              <input type="submit" name="submit" value="保存设置">" S, \  t- ]( L1 b+ p3 j
          </form>* z" j9 a: X! ~$ O. \: A) R
      </div>';
3 @9 |0 K3 c! n) I- n6 ]$ s
& T" N6 V5 c. C/ G      // 处理表单数据
: J! Y* R# N. D  g: t" w3 j0 h      if (isset($_POST['submit'])) {& F. R: u& Y' d* k# |: Y# o
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
: X# O7 P1 f% G  V2 d. }; ^6 `3 }          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));6 d1 L* A# |9 {+ Q( Y+ G: R
      }  y7 A# a: ^8 C+ N$ }1 m
   }
" Z6 W8 t0 F, l) Q- ~7 y   ```
* f8 o) c' s( X# m% F" T6 \* q0 k- h1 q- ^0 G' B2 _2 B+ O6 H  Z
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。+ z. w5 u8 c- }1 p+ p1 \' q
* ?  L% U7 G7 J
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:1 B6 k% x  e" n8 R

& V, H7 t  r& b, [5 c' ?) X0 S   ```
" S& w, p9 r% N# T   <?php! Z6 X3 T  j9 p/ N4 N
   $site_wide_notice_title = get_option('site_wide_notice_title');# x! V" z6 e; M+ ]
   $site_wide_notice_content = get_option('site_wide_notice_content');( ~. X6 j5 v  o3 p4 F& F
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {3 z5 N$ i$ S3 P# O
       echo '<div class="site-wide-notice">';/ L2 m( k4 x# k- t7 W0 |
       if (!empty($site_wide_notice_title)) {7 f7 v6 q5 h& Z8 o6 r% I9 d( F
           echo '<h3>'.$site_wide_notice_title.'</h3>';9 \$ d1 f- Q& b6 n9 j
       }
$ W, s4 f  T5 Q- {& P  K: Z8 Y: ?       if (!empty($site_wide_notice_content)) {4 j" H4 V0 l8 O- I* k# @( {
           echo '<p>'.$site_wide_notice_content.'</p>';
7 ~0 {( H8 G: }# T+ I" B( F0 H       }
, h+ u( J( M. L( @! {4 ~7 R       echo '</div>';
: }6 j2 H- K4 j* O. ^. I, g   }+ \# T* E: Z% |- u* c% s, I
   ?>
8 G& p* J7 \! q   ```
( l* |1 ~/ f: r
( G/ {2 p$ U' V) \   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。2 R/ I! O! e+ n9 f0 o

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

使用道具 举报

347

主题

565

回帖

3685

积分

管理员

积分
3685
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?0 j9 F7 {7 x" e% p( A$ j

' z! I" a2 G% u" E" u, d1 W# p您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:% s# t+ u* L& D* t4 O( x/ W

1 N1 m% y: a! n: z# J. T: Z- M1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:% A' a5 M" f. V
  p; b) p! Z5 u8 T( g$ k
```
' ]- \. w" _7 R6 ?7 cfunction create_custom_post_type() {( I- r# A5 m; ~3 L
    $args = array(& \2 i5 B5 K& a, Q
        'labels' => array(
/ ]( _: ?7 ]' o1 ~& j1 V* {; ?            'name' => '公告',
' F# u8 {) A( M1 P3 j            'singular_name' => '公告', }% ~* D- w/ h- v5 Y: T; t. y
        ),7 M9 Z" R5 d! U2 I, ?  \
        'public' => true,
% F9 F6 N7 r( y( L& E1 h        'has_archive' => true,
! T" q7 i9 `' C! d        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),- B! M3 Q& t6 w& s: ]: k
        'taxonomies' => array('category', 'post_tag'),
% _! r3 A! \2 O; i7 q        'menu_icon' => 'dashicons-megaphone',1 E2 a6 M$ ?, z( }" {* p
        'menu_position' => 5,% }- w1 B0 L8 m/ v1 C& A$ @
        'rewrite' => array('slug' => 'site-wide-notices')3 U, `/ T, ^* T6 t) M
    );
5 ?% s& V( \, W6 }2 o+ S" Q9 W    register_post_type('site-wide-notices', $args);; @9 h0 j) e+ |& C% p6 y0 I& D
}
0 I3 s. ^, I3 k: iadd_action('init', 'create_custom_post_type');- E7 }# q/ {+ f: I4 u. h
```
) {* f1 u2 j9 O0 t6 e5 F) N# B3 ^7 ]; }! ?4 v
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
* @6 `% E' `4 V* }3 W/ q; [4 H9 F: S1 u& i( g# t/ l2 |
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
  z1 O& F' ^) P1 T9 D0 b' [1 z% F1 t1 l. r
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
, J1 q9 W4 g- Y$ G/ e. Q8 @5 o3 |  L1 d* s* `- ^
```* M6 |  w9 _! E! Z5 e' R1 Z
$args = array(  n0 a2 e' W- Z* F
    'posts_per_page' => 3, // 显示的公告数量
; K9 y0 g0 o4 R8 F    'post_type' => 'site-wide-notices', // 公告文章类型$ B! ~3 y: R* b4 h( q! @3 F
    'post_status' => 'publish', // 公告状态4 @9 a" r- y/ d2 a
    'order' => 'DESC' // 排序方式: h7 ~( a# r7 r
);4 d6 [0 L* P% s" Q# [0 [0 \" Z
$ J; C8 T& f8 h, d5 V# {* a
$notices = new WP_Query($args);
: U2 x$ k6 D+ l- M. l, t; \if ($notices->have_posts()) :
' A( U; d7 B3 h. F+ K" F! [) h    while ($notices->have_posts()) : $notices->the_post(); ?>6 Q5 G1 M8 r: [7 ~$ h) t
        <div class="notice">
! F3 B1 h% z7 w4 H- _            <h3><?php the_title(); ?></h3>, B9 y0 Z# E* d. D
            <div class="notice-content"><?php the_content(); ?></div>% P9 r$ \& i4 ]  z* ?( H+ r5 \& [- @& j) d
        </div>
2 u3 X. Q/ L1 E: b; |    <?php endwhile;% ~: S6 A9 \8 Y( e! Q: j" y9 }8 ]
else :# |$ |* p7 ?2 s" M/ q
    echo "暂无公告";. h7 w! o# k+ g
endif;4 k, d' x7 y: C2 K" V4 h8 X7 i
wp_reset_query();. ~6 s; R' a: f0 Y7 k# e
```& a' M( J4 C! `3 B8 [; E9 V

2 R  Z, y8 b+ _2 A. _& @; m这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。9 F( G' z* ^- b1 B' W6 W
1 e9 _  N  D5 _0 E$ r* d
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

565

回帖

3685

积分

管理员

积分
3685
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?' e8 [+ w, e4 x, m; ~; b
& G' [( ~0 ]. V0 a$ ~) `
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。' r3 E  N1 h6 p1 T

9 b9 m! K4 H" E9 I7 w( T以下是创建自定义插件的步骤:
2 U4 Q1 f/ H+ C' M0 q' h
! n- p9 r7 ]1 Y2 m7 w4 [/ |1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:. {5 F. r: E8 E  n; d
: E' R( f! ~! g6 H, m
   ```
7 c3 e: ~* s' U, v, z6 B! {  _   <?php  T* g2 Z% R* n) n, H) n# U+ R; C. j
   /*: s6 R4 M+ j# @9 D9 K
   Plugin Name: Site Wide Notices Plugin
6 J; Y6 ^/ w4 _7 d3 |3 q   Description: Adds a new custom post type for site-wide notices.$ ]/ x! A% Y2 J9 }- ]7 |; u
   Version: 1.0
4 x, Q9 v1 k4 c  H) c7 y2 R: u   Author: Your Name7 h. R. X7 s* S8 p6 q
   Author URI: http://example.com; D3 v, }) D4 c" E. o! M$ \  O
   */
$ g5 N& @% i/ j& V2 q8 X9 E" m5 W. O* z, n' l0 Y
   // Add plugin code here...$ ]2 r& r, g+ o& b+ r
   ```
2 v* X  I. C3 e8 [6 h2 W# w8 `' U* [/ j, p; `
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
5 u( o* v$ j  r2 D' ~! J. N2 q0 E0 {: d
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:( ^* n0 @7 g& s2 g  g" N4 }& _

8 o) V% M6 N  s6 Q   ```
9 J' \* z0 B) c" T7 x! w   add_action('init', 'create_custom_post_type');# D9 N: H; w( E0 {* i  ?
   function create_custom_post_type() {
5 }8 I# `6 n% S, y/ Y      $labels = array(
% m- _6 p, @. A          'name' => 'Site Wide Notices',
, i4 Q; e3 k  t; @$ i8 K          'singular_name' => 'Site Wide Notice',8 w! J  n$ u3 j1 j0 C
          'add_new' => 'Add New',' m* H5 o6 h& ~2 x" d- Z
          'add_new_item' => 'Add New Site Wide Notice',& c5 w$ q: d/ }: y- u( ?5 j
          'edit_item' => 'Edit Site Wide Notice',& @4 u& k# _$ P+ P0 B
          'new_item' => 'New Site Wide Notice',& f2 t: u* B+ W' J1 |" U# b1 {1 w
          'view_item' => 'View Site Wide Notice',% v! E1 \! H6 f, d  T
          'search_items' => 'Search Site Wide Notices',
5 j8 x: }4 x+ g6 E5 r          'not_found' => 'No site-wide notices found',0 I( H6 y. f4 `1 r
          'not_found_in_trash' => 'No site-wide notices found in trash'
/ r6 y1 {% p" Q0 ?- f7 a( r" K      );
, X/ ~% i" \5 F+ ?
1 _% r) h8 g. c" h9 A, K4 v      $args = array(
: v4 X. m6 p5 J+ a4 [' r          'labels' => $labels,
6 u" q0 c/ Y+ Z          'public' => true,. ^( i+ k0 O" T8 t- O$ g1 U; U; J' a) P
          'has_archive' => true,
* `8 F- p2 R/ ]- i          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),5 P% N8 R" E  Q- Y1 `4 e* M
          'taxonomies' => array('category', 'post_tag'),
3 M1 J+ ^9 g2 A: k9 n          'menu_icon' => 'dashicons-megaphone',1 u  z) f4 d3 T
          'menu_position' => 5,% Z1 B& i' i% O# a
          'rewrite' => array('slug' => 'site-wide-notices')% _( v$ p; j+ B( Z# g  I
      );
/ l3 }- q" ]2 E6 C$ T4 T
+ D5 z) D' F/ Z5 E2 S  q2 v6 Z      register_post_type('site-wide-notices', $args);, r! F/ I1 l' a0 @
   }
, C; m+ M* A$ ], V7 u) V   ```9 |) k2 T+ o- S/ K3 _1 l5 h' k' n
' a7 s$ m6 }4 S4 \9 S
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。9 e5 t. }* p0 ]& Y9 o* L
% O1 }$ i) U  X& r
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
& Y7 E; F) g# p# l( z3 L$ n0 a3 h* O1 x7 E' @/ Z$ X* a9 B4 y- j
   ```! v3 Q8 k& W& V) H
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');) k1 E: [! S: b' H  c$ ]6 E1 y0 F
   function add_site_wide_notices_boxes() {
0 e- m- X$ D" i  W; N      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
" i" Q0 x! M' y+ [/ u; U   }. ~  p  j/ F6 \* ]1 O

7 H7 P: n9 d/ `' `; o! j) h- S   function notice_details_meta_box($post) {
8 ~+ Y9 c5 {% N/ r      wp_nonce_field(basename(__FILE__), 'notices_nonce');" W$ [3 E: l( U$ ^( y4 A  \( f1 ^
      $notice_title = get_post_meta($post->ID, 'notice_title', true);; k) k7 d8 H+ b2 ?
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
" r* l4 R' S( N  X: c      ?>! u' [0 U* S! G1 G6 S( w
      <p>" A. r9 B. w  g+ g
          <label for="notice-title">Notice Title</label><br>
( n2 Y$ j% s; x8 a% g          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
$ X! g7 N+ S5 M: h9 V' I      </p>
& ?; f* H( q3 E4 Z      <p>1 p2 n% m' q) k9 \4 B- i
          <label for="notice-content">Notice Content</label><br>8 B" J, l# s" g6 J7 K8 @! K
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>/ |' d+ K& J2 X# ?' J4 `! t
      </p>; K1 L# w3 y4 |$ Q. W
      <?php
* B+ B% ^4 f6 F2 ]& w1 D/ o   }. C% G% w5 f! A; U$ P- R

" k" O4 \  o+ _7 E% S3 W+ h& ^' a7 C   add_action('save_post', 'save_site_wide_notice_meta_box');
* A1 }7 F% o/ Q: v/ q* x3 q+ f% R   function save_site_wide_notice_meta_box($post_id) {* T, C8 k. y" C0 U; A
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__))): d% c; ?) y$ W/ \1 ~
         return;
1 l9 m8 `% S( {& y9 E. ^9 q7 a! f      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)( m% y) N' q' B6 K; L% Y
         return;: S0 @! q* Y( r2 @7 z
- g. ~' f. H3 g9 N; X
      if (isset($_POST['notice_title'])) {
$ U# M+ M6 R4 d: L& i$ c3 \% q  r          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));* j2 e2 b9 W# E5 S9 D
      }
& x4 Z; p( |' Y5 v4 q      if (isset($_POST['notice_content'])) {) O' n( {9 e# \% ~! V% ^
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
7 F  i# J4 n0 S0 M/ I      }6 D) c) z7 c7 D0 d* c, \
   }
& x! C  R0 R2 s   ```
" c) c. \5 X% v( J: ]5 N% F% q  d
' P" P. e3 w& ~   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
( x) O" H4 q. }
  N3 D& b9 u: R/ C' t2 ^; k4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
+ `* r) _: F+ e# w% B& o4 x6 x/ `1 P1 }, ~% S. o; A
   ```# G/ X1 @* m, g* h+ l, r. a1 ?& M9 C' M
   $args = array(8 I& X8 b: e* t
      'post_type' => 'site-wide-notices',& f& @5 G* ~5 K, ^
      'posts_per_page' => 3,, r! b# S# e: F" ]: b
      'order' => 'DESC',
0 O* m4 l8 d* O& o7 X5 G      'orderby' => 'date'* Q' r4 x# ^! a- _2 e& ^
   );( e# g2 }1 |6 `
   $query = new WP_Query($args);' q  O& f$ z, E/ ?
   if ($query->have_posts()) :5 ^0 }! b( k. G* y2 v& D
      while ($query->have_posts()) : $query->the_post(); ?>
% q- r+ Z$ S) T          <div class="notice">
7 {2 V1 c' l4 W              <h3><?php the_title(); ?></h3>
% N: U) v0 _$ Q$ c# w8 r              <div class="notice-content"><?php the_content(); ?></div>
  n! Z) M" N- t% P5 Q- w/ r          </div>% C6 }5 {, ?( a% w6 G
      <?php endwhile;
: W: @2 E$ o( M# I" q( [% Y      wp_reset_postdata();
' a! |* a/ Y$ U, j   endif;0 S' q2 F% V( E+ c0 p$ o
   ```
/ F0 X& |; K) z. H  }
- ?1 z- s9 O* f9 X8 t   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-15 20:28 , Processed in 0.012225 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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