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

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

[复制链接]

332

主题

512

回帖

3366

积分

管理员

积分
3366
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
1 p. O8 B' |, y" w+ E* a
9 C3 n- A& t( f% X+ a1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
4 |7 H4 d" A. O5 w3 z  ?
8 _# E) K6 g7 v) j' X' u2 a2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。; ]) k. Z; i/ n( v( Y* k; ]

: c9 `1 h7 D) o& d! A1 M) H3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
- s* @# |' t4 B4 ?1 C* n% M  c( ?! [$ b0 E) b' S
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。% Q( A4 T2 J! }  |
$ ?5 G5 m, k+ v* j" C
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

332

主题

512

回帖

3366

积分

管理员

积分
3366
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?( x% `5 ^0 K( r  i3 G1 u

! a! k1 q& O. S! W如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:2 U& C! s+ g* N' Z/ l' Z* m4 l
7 b) {8 z/ H8 _$ z
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:1 |: P3 i8 C8 i; v/ M

/ H' V& Z, J+ c) w2 a" A+ K0 ~   ```5 A# g. i) o" T0 J# S
   add_menu_page(# L2 j/ Z5 Y4 T4 L  `
       '全站公告',
  A' U6 y' u2 S5 `       '全站公告',
7 _0 n6 k. U6 }; n. h& `" H& G4 V       'manage_options', //需要的用户权限* q; B- Q* ^5 m0 P9 b
       'site-wide-notice', //后台页面的 slug: e, A) |+ M8 ^5 \8 h
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数. n- F' {7 G' q/ F
       'dashicons-megaphone', //用于显示在菜单中的图标3 [3 }& C) v' p; l- d) }6 A
       30 //菜单项的位置
# a8 Y" X- R& G/ l   );# h, m6 i% F! P: N4 H
   ```  ]; Q5 C! s/ H# ?0 Q( h3 M0 V0 R6 R
; {* E7 O8 C  T6 O
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。5 ^& i/ {' @) h. v8 a) B  f
, H6 z0 [/ ?1 O* W9 J
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
3 S1 y1 A0 c$ v( x  F! v  m  f$ d" z/ C& @
   ```
, v( J9 [+ f7 O   function render_site_wide_notice_page() {  ^/ ^, t! v0 D  `8 b: x8 S
      // 渲染后台页面内容
# X% `5 j- }4 q8 s4 l      echo '<div class="wrap">
0 J7 d; V3 A: v  `4 N          <h2>全站公告</h2>
7 \" r3 `* W; U9 {0 @' f; L4 U          <form method="post" action="">- h; t( k4 \, x6 f' ]
              <label for="title">公告标题:</label>
! Q' b3 @1 S/ E, o* ~/ o7 J              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>* {+ f& S1 a: O* [' J6 @
              <label for="content">公告内容:</label>
, x+ n8 K  l2 R  [7 [              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>9 z4 \- |- o% x& N
              <input type="submit" name="submit" value="保存设置">+ r2 Q6 N/ `: y1 k
          </form>
" S8 r3 f+ _  U; l% F      </div>';) j5 ]3 s% d# J4 C& [3 H
% r* U, [7 n" A% I
      // 处理表单数据  f# m3 R: O" ^3 \* Y; x
      if (isset($_POST['submit'])) {" H5 t4 D& [, K* _# D0 d
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));3 J, V) ~/ M: Y6 @  |6 H
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));, l7 Q5 g; P% l+ {: R
      }
% Q! q# q# z; W/ t3 f0 K   }
' W2 t/ U1 E* x: f( E   ```
. u! L( G; ^$ X* r; z- U
+ Q0 |. X5 }0 m) Y, i   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
6 e5 [. p$ x0 d0 w# z& v/ N5 s0 W# K7 R  _" C' ]$ D
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:' [# w* _$ ~$ X, S

4 H: E+ a" r4 X5 ]' o' g   ```, n/ B, i3 h% e, u4 K! [1 y
   <?php" {) _+ n+ n# w+ R+ n) o) d1 V* O- s
   $site_wide_notice_title = get_option('site_wide_notice_title');
" u0 P1 X8 |/ U4 ?   $site_wide_notice_content = get_option('site_wide_notice_content');
8 I$ J  F9 `& E2 D- s# U   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
/ q, {  l# u/ N9 n" D2 Y& z       echo '<div class="site-wide-notice">';
/ A( P- w( U5 }% h& d       if (!empty($site_wide_notice_title)) {
' R+ A) c# \7 T% z/ P7 H5 D3 K/ {5 r           echo '<h3>'.$site_wide_notice_title.'</h3>';
' u$ Y# b! g" M6 }0 F       }  V/ A9 d; n; W$ G" u+ `7 s
       if (!empty($site_wide_notice_content)) {% a, y: ?( g$ L5 j6 E+ j  Y4 [
           echo '<p>'.$site_wide_notice_content.'</p>';
# l9 l* f9 d7 Y* D! W       }! M5 o+ }( X( u/ U
       echo '</div>';
/ D) i$ a" A; g0 y# Y   }2 a$ y; h" ^% ^2 `; G0 G4 d
   ?>
& a, k/ X6 n0 f4 u( k   ```$ _  X6 c$ W2 O7 L& {

* }. ^$ C  G- V5 w9 ~9 i   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。: s$ r/ V9 r6 ]0 o; k; }

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

使用道具 举报

332

主题

512

回帖

3366

积分

管理员

积分
3366
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?9 s- n( h  A6 k. w7 o  n

& C7 w; `" b+ G) y  u1 ]' j您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:  d6 c1 v9 h4 F

5 a. C  o4 q# V5 q1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:2 @- z3 e8 S' X1 D. [
4 K$ D9 u; L& D% T' P
```
2 ^+ n$ P# U# v8 Nfunction create_custom_post_type() {
1 {8 m3 P: ?5 U+ O    $args = array(
$ C! Q0 K% [+ U  f2 `5 ?5 F# _        'labels' => array(' J. Q  j+ N" \; f) i' l2 X
            'name' => '公告',1 Z* `: }$ D/ b# w4 [
            'singular_name' => '公告'5 U6 F; C! N$ w0 y0 Y( G8 i$ ?
        ),  z+ d- L, u: g9 x
        'public' => true,
' F1 R( y4 O, }; l        'has_archive' => true,
; T) X$ c1 A9 M- M! Z        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
- l  b) ~* F2 }        'taxonomies' => array('category', 'post_tag'),
3 e; Q* k8 \3 A2 S        'menu_icon' => 'dashicons-megaphone',8 P( C+ J9 L. P& o8 H
        'menu_position' => 5,
: n7 u3 v6 i/ Y/ R' ]        'rewrite' => array('slug' => 'site-wide-notices')
0 ~; ]2 `" L1 \$ u* T    );* Y9 _( }+ m* e+ t2 q. [( u% d) J$ p
    register_post_type('site-wide-notices', $args);
8 @* J0 q6 _1 O}' p" ?: x* x; s  m. g" i* ^) ~* u- h( r2 X
add_action('init', 'create_custom_post_type');6 @2 H$ V4 l) Z6 x) c1 i
```4 I  d7 y; W1 d" Y
/ U+ \! T' n4 M) |
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
$ G5 S# _6 H8 ~/ {) X% z2 P7 k2 x9 m1 t' F' h, ?1 O* S$ }% d
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
7 D2 F& Q, v: d( B
& l7 i" a: Y7 ?  T4 X1 F3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
6 @$ k' a+ \5 R) `. f  J$ ~) p; M& c$ v+ q
```* S: O$ }  A$ B2 c* ]( t
$args = array(% i" F& D6 r2 D1 e% u* v
    'posts_per_page' => 3, // 显示的公告数量3 D' ?  G1 N) D8 f" m
    'post_type' => 'site-wide-notices', // 公告文章类型6 g# W7 f+ N, ]0 a
    'post_status' => 'publish', // 公告状态+ P, |; R% Q1 l# R% t3 H
    'order' => 'DESC' // 排序方式
& p+ R8 X* [% p7 e% I3 _);
& {. M. M/ U, r/ k9 b$ v# I
9 ?* Q3 {3 [2 s5 p% V$notices = new WP_Query($args);
) [% X. x4 W. ^- Hif ($notices->have_posts()) :+ Q7 T  [  I" w, i
    while ($notices->have_posts()) : $notices->the_post(); ?>
8 w$ n8 c) F- M) n        <div class="notice">
& q' T* G- k) {1 |! b8 T/ P6 U            <h3><?php the_title(); ?></h3>' P; J3 e! `+ L
            <div class="notice-content"><?php the_content(); ?></div>) W# w! P0 u' H3 q2 [
        </div>/ ]! _: r# I/ a1 f8 Z- n( S  z
    <?php endwhile;5 x' a' @% M  J3 [/ E9 S. P
else :1 \% T* W7 A- N9 k1 E# ]) S: M
    echo "暂无公告";$ J1 X( m, g2 A3 B! j( l8 b! a7 W4 C
endif;
/ P) b" B- ~9 u! m+ w4 ~wp_reset_query();, E3 O: E. O. r/ Z9 `* C$ E
```" `% T7 k4 w! Q0 e
: _) |) ^2 A! _8 n* @' `1 E1 Q1 w
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
2 E1 }/ G! s$ M/ J7 j
: ?/ o* \- r* X7 g' F9 v! w+ M以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

332

主题

512

回帖

3366

积分

管理员

积分
3366
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
* a8 V3 [1 L& r$ t5 k# o. Z, ^6 m, s  J! n8 J4 ?
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。) c; A- b' w9 ]) s# c
/ x, R' x2 \6 c  x; C; B$ ~3 q) X! w
以下是创建自定义插件的步骤:8 \. J1 l6 F1 L( X' V4 D

& a- k  [5 d% h' E1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:7 j. l8 |& [7 T2 }2 I5 e

5 N7 x! g9 {3 h3 J   ```& t6 A/ k8 B& q7 O1 K2 I1 ]
   <?php
5 e6 Z/ |% O- L( e' U- k4 J0 F   /*
0 k& @$ D; \. Y' M5 J   Plugin Name: Site Wide Notices Plugin
) t- M4 ~" Z; \" j  U: B4 y0 l1 R* W   Description: Adds a new custom post type for site-wide notices.: Z! A4 D# d7 T; j  g. F( c7 f$ B
   Version: 1.0/ q! F5 |7 G( i. @
   Author: Your Name  [6 l+ S$ v9 M' b3 B4 A
   Author URI: http://example.com+ B( o/ d1 e/ c. m* A% \5 \
   */7 M, a8 h$ X9 J# ]

  n; j' I! A# B. j  b; f% D   // Add plugin code here...
! ~, a, a! |, N/ d" y   ```
' S+ v0 E' M1 k5 {- u8 M2 t/ r1 A/ }  Y$ U  }
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。+ q1 A, ^9 f/ |& i+ O
& s  o$ @! M# C) i+ l2 n1 R
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:4 Y6 Z1 u/ }" z4 ~+ w
8 a- P  Z9 l& L  j6 A; b# ?3 u
   ```
' d% W; [9 o% H# D# x) n1 q   add_action('init', 'create_custom_post_type');2 q0 _4 f. ^7 C7 |
   function create_custom_post_type() {& t# I/ k0 x1 d0 `0 e% F
      $labels = array(' w5 V/ [# ~, @
          'name' => 'Site Wide Notices',
( O- A) u4 c- |2 a" T          'singular_name' => 'Site Wide Notice',% \, [3 `4 K' {
          'add_new' => 'Add New',
2 l) e+ |( N7 c9 o- B" a8 ]          'add_new_item' => 'Add New Site Wide Notice',
' ]6 V2 ]' ?2 d' @: D) I+ M( I- y          'edit_item' => 'Edit Site Wide Notice',
4 u* Y$ d' v# I0 Q+ O          'new_item' => 'New Site Wide Notice',
) m8 \3 Z0 `" E8 \$ C/ [          'view_item' => 'View Site Wide Notice',5 ~& A! M0 w2 I# o, w1 z+ W$ o$ C
          'search_items' => 'Search Site Wide Notices',
! F5 D) s/ t, h" D) d+ j+ i          'not_found' => 'No site-wide notices found',. P2 X# o* c1 n  q+ ]; Y% [0 I
          'not_found_in_trash' => 'No site-wide notices found in trash'
! N) a$ r2 z7 K+ u% K      );- e! e8 R; k8 M, e% e6 y- S( C* t
* ?# Y9 r% |& T5 M9 P$ I
      $args = array(# D' N1 l, V* l
          'labels' => $labels,) `; F1 v& q. o2 u9 e
          'public' => true,; b, `. Y$ f( R( ^+ R. L+ Q4 ?) Q
          'has_archive' => true,& p; d& v  ^. [  M3 X8 M: U, j
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
, }( h3 U" r2 r( ]  i          'taxonomies' => array('category', 'post_tag'),
9 |" X, J8 a0 S) O          'menu_icon' => 'dashicons-megaphone',4 [/ Y4 t3 L6 r4 M8 e- m5 t
          'menu_position' => 5,
* V/ n9 ?+ |7 M          'rewrite' => array('slug' => 'site-wide-notices')
+ O9 M/ }$ X( [( D, c' Q! X% A! \% h      );5 r6 s7 v* q6 n

: G  U# {* T1 y2 |* x  p- A+ Z: o      register_post_type('site-wide-notices', $args);
! D/ t1 p0 z) m; y   }
7 o7 L( q4 p" k4 u0 q   ```3 Y6 `+ i( H5 C: E+ L" d2 I

% `# q' k1 p/ N+ |+ I$ c; x   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。- q+ U$ W) o! \

9 i. I) Z! Q6 l' F; S; ]5 h9 p( w3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
. ?/ z+ V8 L/ `/ q" S
! i1 `+ E( U9 f& y2 Y) u$ d   ```, a: b; M: `6 o. c4 C! Z
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');2 n1 X4 S! B4 I9 P' V  Q' [
   function add_site_wide_notices_boxes() {5 |/ V% P% D( Z) v5 n5 O
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');2 s% R; X- {0 O+ p6 M
   }% ^+ u# o, a* y0 ]  U3 C
4 _6 T0 [& ^, f* y8 s/ U# ~. a1 l& q6 c
   function notice_details_meta_box($post) {. k6 M9 G% E, {, @' V0 ~
      wp_nonce_field(basename(__FILE__), 'notices_nonce');
2 E$ s- v8 @/ G# K6 ?1 m% c      $notice_title = get_post_meta($post->ID, 'notice_title', true);+ t* R( O5 n7 u2 Z% v
      $notice_content = get_post_meta($post->ID, 'notice_content', true);5 q- p0 @  Z8 I7 w
      ?>, O. v* v9 v" H4 R" E6 n# C
      <p>
* ~8 S( k- {% ]3 J' F3 O9 X( G          <label for="notice-title">Notice Title</label><br>
5 [& V/ P+ M, ~9 q, N, q          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">4 O' T% _7 }8 I" }- B
      </p>
5 C; ~7 ?$ g, z' p0 p+ n. j3 N. N      <p>7 c6 s/ i0 t- D4 [
          <label for="notice-content">Notice Content</label><br>8 Y/ q5 o$ ?  E! s. r
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
$ C. \! e5 i. {5 p5 ?. D9 S" U      </p>
) m4 v- m$ h( b- T, C. q      <?php: S7 n8 u% r8 l2 k0 B. a8 r5 L
   }$ U7 o9 `" B5 p: Z5 f" Y5 [, ]" B) F
" C: s" Z) s% E4 f6 d
   add_action('save_post', 'save_site_wide_notice_meta_box');
5 _1 E0 L! U3 y. h, p   function save_site_wide_notice_meta_box($post_id) {6 }( X* T) `- c2 K' ^7 k8 |' J1 K
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))& D8 Q8 R, Y3 V% j
         return;
) V/ b% Z: g: C" r4 O) e      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
6 M/ B  J' G0 Y* r& S         return;
# E# _+ A: _6 j( ?+ C
9 k! C- S4 U: n      if (isset($_POST['notice_title'])) {
; F7 M1 x1 G+ N' G/ [% ^: F9 ]: R/ e          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));0 x3 w1 T5 ]3 r4 q% G' t
      }
( Z  e) h- D. q+ e) b! j      if (isset($_POST['notice_content'])) {6 f) C; h7 H# n6 ^% W
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));6 k; U9 j$ K( h/ y
      }' o2 s5 S$ l9 H1 G* f8 e
   }
0 k0 Z+ c% J; A2 N% q# P   ```
% j- ~; t  c3 a$ g" m# z2 R+ `  l. j/ V" d' r4 d" H+ x
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
5 t) @% u$ u4 Z- ?& {, I3 M6 W. V' E3 q+ j
+ p. ?5 ~# ?' m( l  x8 N4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:$ i* S: i! `8 `8 z
5 G# J' K8 V' E# Z" @" ^
   ```
1 ~/ X! Z& x2 X9 g; i3 C   $args = array(
6 W8 c0 N# _7 q. h1 I2 F* @      'post_type' => 'site-wide-notices',/ i. A4 b7 ?1 g( `/ Z6 k
      'posts_per_page' => 3,7 w7 m* `( v4 t* K# K5 Q: j
      'order' => 'DESC',( j1 D; i# _% k# e
      'orderby' => 'date': q( L; E* r( L. T; f( e
   );
$ e; N) o6 |& q+ J& m1 N   $query = new WP_Query($args);  X5 M2 w4 K; @7 |8 \0 @
   if ($query->have_posts()) :
8 A' j, p: F' ?  C: W: W9 W      while ($query->have_posts()) : $query->the_post(); ?>
: }0 J& ~& `" Y9 o& y0 f! q! s, t  Q          <div class="notice">
& P& F& ^! b4 ], t* }2 h  k              <h3><?php the_title(); ?></h3>
* v7 M/ v0 [' ~              <div class="notice-content"><?php the_content(); ?></div>. x  S+ @+ {9 o& Y# o! U7 ~
          </div>
) w4 g$ c8 A) v      <?php endwhile;
' s4 ~5 r; x! f6 ]' [; G      wp_reset_postdata();- m- c, G! @6 }5 c
   endif;
2 p8 R6 v  a8 @( S4 \; B, N   ```9 b6 P- t( R% T# _$ ?
$ L' T9 \, s4 W
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|通达产控投资 ( 粤ICP备2023021749号-1|粤公网安备 44030402006137号 )

GMT+8, 2025-11-22 08:45 , Processed in 0.085353 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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