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

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

[复制链接]

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:' \3 o2 j( b4 ?& N- K5 d+ |% c  j

- i# c5 d$ U5 h9 p* @) K1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。2 U; H, ]5 i1 p( z! `, Y6 S
' G2 p$ m7 L) w$ e/ A( w
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
8 t0 k$ z$ r0 v2 q! S0 L! q( W* z- N% i
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。( N8 R* q) |9 ?$ u% ^

4 b0 y6 b! x( c4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。% b4 s8 g9 p6 S& {: E! @
1 c; C, g9 C) o$ t5 W
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?$ j) v/ O: n( l" u& d0 O
" n+ b6 W! w1 `, h, n3 d
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:1 Z$ C. G1 {' d; {

% J  S1 o. y2 ~9 e# }+ Y2 Y7 H1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:5 D; S7 k% U: h6 K

" H, L4 \3 r9 f+ B   ```
" ?4 H5 u- Y0 ]5 D! D% [5 b   add_menu_page(, ^6 Z3 Z, E- s/ p3 b0 T
       '全站公告',
0 H" R4 r0 B- ~& A( W: [, X       '全站公告',
& W* k4 I  h' @2 R       'manage_options', //需要的用户权限* z. h  c* e, N; c
       'site-wide-notice', //后台页面的 slug7 w) w" J6 O. {' T2 c  B' f
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
! v8 t9 M- Q  }- V       'dashicons-megaphone', //用于显示在菜单中的图标4 }" O! W- ^. `5 K
       30 //菜单项的位置
! W* X5 E: p! ^   );
5 l- T% @+ U2 u/ E0 W; f8 I   ```
; T1 w6 {* m4 Z4 y. n; n4 u. ~" Y7 r* ~7 A, U/ I: }6 f: X
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
. ]/ d1 T2 K/ e8 C- |, k! U% ]4 x' |" e4 C, t: E! i6 j
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
& a+ }3 C5 G7 B+ N# b) b% g  m: b  K5 o0 F6 m( D5 G
   ```
8 M. n" k8 d% U   function render_site_wide_notice_page() {$ |- S( b* r; q# [& I
      // 渲染后台页面内容+ q. H3 ?. j0 Q7 U# e4 A: X, z$ o
      echo '<div class="wrap">
; ^3 t3 h0 ~+ p( @' Z+ ?          <h2>全站公告</h2>& V$ f4 h3 e& x! ]% k( S3 _
          <form method="post" action="">
/ n/ E7 V9 g# m0 @              <label for="title">公告标题:</label>5 c6 N- b. n0 b5 A  ?) r# q4 w
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
& U" y( r& n4 g8 ?5 u& _( m' @              <label for="content">公告内容:</label>" k' n7 |/ L8 h# V8 M$ V7 X/ M
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>4 p' S0 c0 X0 h: J7 z7 r1 b
              <input type="submit" name="submit" value="保存设置">
! Z& c* P5 g3 w! s" P          </form>- U3 u9 ?% Y& H+ c& N4 ~% i* M) J
      </div>';
* }- y2 L" i: b! S' F1 L4 J7 i& U  q9 _$ }8 D0 t0 L$ l' S
      // 处理表单数据
/ _0 \( ^% F' L. R0 i/ U" E      if (isset($_POST['submit'])) {* @- |7 P+ r( [) I, P/ m: A# e0 N1 \
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
0 `8 H& D. ~' O, R          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
9 i2 Z8 C" ]$ v5 W4 _! \; C0 _8 c      }8 A9 q: w7 h1 x; {
   }
# e$ P+ {. f& G9 y- C# [   ```5 t* X$ b9 H7 Y! r1 w3 ~
% C- `. e4 g& e
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。8 P0 k  {3 H6 f( \6 V0 `* m1 ?& i- E
8 _3 Y' `6 l; v; c1 |
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
+ R7 r- R8 _  [: X- k! W! L  \, s! f+ m* K
   ```
( l: R- u2 m  J" D2 _3 R7 `$ ]( [: e   <?php
2 n4 B; o1 E( @; A   $site_wide_notice_title = get_option('site_wide_notice_title');) x8 S% f" D! v2 H1 Y# F+ \1 q
   $site_wide_notice_content = get_option('site_wide_notice_content');+ G) n  V% W( Z8 j( P
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
4 E$ A8 {0 c  a9 w, w       echo '<div class="site-wide-notice">';
$ M2 S- K$ E1 N2 i7 t       if (!empty($site_wide_notice_title)) {9 h0 G8 c8 C( m* R3 ?0 Q
           echo '<h3>'.$site_wide_notice_title.'</h3>';
9 R& W1 [8 I- K$ F" U- j9 Z$ n       }
0 W) X/ F  U3 [) @( z0 _. G       if (!empty($site_wide_notice_content)) {$ @3 Y9 u9 [  w
           echo '<p>'.$site_wide_notice_content.'</p>';
3 p3 j+ z: T: y# L2 j       }
& g' M* u$ S' w4 d9 A2 r       echo '</div>';
. y; C" a0 d$ Y. x' c   }
* c4 N( v* s$ P% ^+ C4 r   ?>
9 ^2 r! O. L- e5 \1 J+ \   ```
! o$ ?! e; K* @- V; p6 l: R' W4 O) V3 t+ K6 ~
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
% Y! Z' f# _: O5 k. U& n) N( J& o. T# `! a  R+ _* I
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?7 F- a8 t: {- k: P; z$ ?# {
, q4 Y" M6 a, U2 L
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
5 C9 B' [4 `7 U8 K6 R  X+ c7 v8 u8 `
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
) C; q8 I: n" g" U; ~, X1 w+ @8 W5 }1 g0 B' Y* ~
```0 F" [# M  d2 ~3 y2 I
function create_custom_post_type() {. \2 |- }7 `' G
    $args = array(
6 S0 {9 t9 t. C, ?6 t1 |        'labels' => array(
, y! r5 t! d; r+ G1 x  i            'name' => '公告',
4 l" [% s# E2 X' `4 X9 D5 p1 a            'singular_name' => '公告'9 A& J8 F, `: _
        ),
- U) h) v% ?/ r8 Z9 S        'public' => true,( @6 {3 w* m6 v2 Q6 C
        'has_archive' => true,
' ]2 f5 p( F6 I        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),: ]: _. d5 i' o* k7 z# C  \
        'taxonomies' => array('category', 'post_tag'),$ ~0 N9 i" d5 W" O0 J2 g5 C$ T
        'menu_icon' => 'dashicons-megaphone',
- _. C7 ]2 q, q0 P$ v% g1 j        'menu_position' => 5,& O, s- C5 d" K, a5 s! S
        'rewrite' => array('slug' => 'site-wide-notices')& @% @. R4 R2 s2 A9 V
    );
4 d  ~; M0 ]. `4 E. j0 S% J    register_post_type('site-wide-notices', $args);0 o5 t2 k" b: S( ]
}
7 H/ X9 g+ P( x& W* Oadd_action('init', 'create_custom_post_type');
  o- P4 W/ |- B```
' d. Q% `; z( E$ U+ q* e0 t& i2 O4 [: L4 l7 r0 q: x4 ?; `
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
: [5 Z* h2 f$ h, D/ S. ~, @' y/ {6 E2 M7 Q3 i
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
: R4 ^7 r: f" e+ `
0 T6 X5 U+ V8 X& ^  _3 Z: _. R/ }3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:9 K' j9 ~0 @, P$ H
& s: U) D) k* E
```
" k8 I& C7 b" J& Q( c% G$args = array(
0 _5 C+ v- c5 A% x. m! b/ L    'posts_per_page' => 3, // 显示的公告数量; e* u' Y% G& N7 i
    'post_type' => 'site-wide-notices', // 公告文章类型
8 L' b! {2 H! w7 K! j- b/ \' p    'post_status' => 'publish', // 公告状态- z7 l7 ?4 l% x) c
    'order' => 'DESC' // 排序方式2 N+ `- W' r$ ^. I; b* j( s
);
& B) v) V: W* @' `4 t! i- {# d( U+ A5 T- T3 i5 m
$notices = new WP_Query($args);/ }  B( P# K( M! P( s0 p9 K8 t
if ($notices->have_posts()) :7 c9 w. y; v0 M! l% Y% [9 @
    while ($notices->have_posts()) : $notices->the_post(); ?>& q" f) _4 \& b. J7 R5 B% R
        <div class="notice">
$ M) s, Y$ m2 n# w3 z) ^% e            <h3><?php the_title(); ?></h3>3 o7 \) S  ?4 B' M
            <div class="notice-content"><?php the_content(); ?></div>
! z  ^5 m3 \/ p9 O        </div>' b9 z1 b& e# r  x
    <?php endwhile;
  P$ c. N/ m8 s- gelse :
% C2 k9 g. ^+ @0 ~/ x    echo "暂无公告";
" B2 N' D" i+ w3 z7 V* H0 h' oendif;& w$ L; |  ~2 Y3 g. `7 n- i1 p/ X% J4 C
wp_reset_query();
* L* p- n8 h: d4 N9 Q; Q; y```$ g; T. |6 d' l! H6 u" I6 l0 F8 o

$ O- N# B) }/ P( h. q这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。) L! v% o3 ]- O( C7 Q# Z7 P0 K4 n

' Z0 |9 m1 D* M以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?( C" M  r8 y$ p6 I  V6 Q

% x: V6 C. D9 a6 P, q) o如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。. M1 t  N  F/ D

0 G- M4 N) M6 _% E3 l0 ^以下是创建自定义插件的步骤:
; Q$ l8 j1 u9 h$ l" W, d
( ?% y/ t# b; s. A$ `9 s1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
" o6 n( f+ `& r5 ]4 ~; O0 Q
$ P5 P' I0 S* a   ```
2 }* X7 ~9 z' z9 S* a4 Z   <?php
4 N0 g. ]- h" N   /*0 @3 Y6 z' Q* c
   Plugin Name: Site Wide Notices Plugin  o4 O! N8 s+ s% m/ M
   Description: Adds a new custom post type for site-wide notices.
) v1 E. q2 f' Y  T9 g   Version: 1.0
" s( ~3 B6 H; _3 |2 e( q% h- |- i   Author: Your Name) v$ m7 y. _* x6 g
   Author URI: http://example.com' J. v, T7 }1 s3 S% c; D( j% L9 W+ F
   */
/ Z6 u2 p! a+ i& D- q! r
8 G9 {' N+ Y+ v0 ?   // Add plugin code here...
' S6 U; z) [7 d6 P: x# A. f   ```& J( F8 m+ m7 {, A% U2 d# Y9 I

4 u$ m9 R: g( ^8 ?   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
' a- W9 T- s$ C) f& \3 Y( b' \' `9 z7 Z# u/ ^3 w6 T
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:/ h- |+ I1 \; \2 S5 U9 t" a- t& `! h
" q! }. f( u! s% h" V; c
   ```% x6 \( t* t- L
   add_action('init', 'create_custom_post_type');
$ l7 [  c6 ^+ C% w% W* I% Y' m   function create_custom_post_type() {
& S  `7 l# @9 P+ i: X. `  o      $labels = array(0 U$ {' ~, M; Q
          'name' => 'Site Wide Notices',
2 d2 w' z7 E1 E' \, `4 p5 W          'singular_name' => 'Site Wide Notice',  |- V) s% B0 ^) ?7 ?( I
          'add_new' => 'Add New',
1 w' u/ ~/ v2 X* E          'add_new_item' => 'Add New Site Wide Notice',
8 ~7 L6 U7 F! E1 B) J          'edit_item' => 'Edit Site Wide Notice',
3 M$ {: @1 O3 A$ H# {, T! Z          'new_item' => 'New Site Wide Notice',
  d. G7 \, f& W* t$ X" |/ f          'view_item' => 'View Site Wide Notice',# Z. x9 q3 J$ F
          'search_items' => 'Search Site Wide Notices',( C% O5 W5 [- |
          'not_found' => 'No site-wide notices found',
4 k, m, i# c, b3 h/ O+ |' {8 `          'not_found_in_trash' => 'No site-wide notices found in trash'
" I  h: V' f+ O& p2 D& W      );
$ D* V. N  |) f6 G; c4 y  Q; a8 y9 j8 F3 _" K; s7 R6 ~
      $args = array(
+ j3 I# Z5 P4 y          'labels' => $labels,
2 f% i2 G9 R: |) H9 _) V' d          'public' => true,
: r" C, ]' g/ o' P: W2 u          'has_archive' => true,
' b* ^& m4 D/ ^4 T          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),1 A) W6 d1 c# @2 k: Q
          'taxonomies' => array('category', 'post_tag'),0 Z. [9 ~- u" D7 e! e' j# P9 C
          'menu_icon' => 'dashicons-megaphone',$ M# b, b, l9 _# D( a" T
          'menu_position' => 5,
4 j/ e4 r( ~2 |7 |4 |8 Z/ G          'rewrite' => array('slug' => 'site-wide-notices')
% X4 P! O& ]& ?" n: i      );' p, F$ B7 q8 M2 c
6 ]. X( k# f. W+ J4 B* m/ b
      register_post_type('site-wide-notices', $args);
7 @0 n" U  z" {+ N( _4 t1 ]   }, Z" B! ]) y: j
   ```
  a  r, \! _* |5 r1 y4 X* X' B
: |7 x) g2 E7 H" g4 T   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
! g$ U7 o" t/ G6 v' T! n
) Y: |0 A: M3 N/ C: q8 `5 A3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
* A6 f+ X" V  g2 }3 X( |; H' T& k1 ~- L) I9 [4 x
   ```
- b, i% X$ K  v. r   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
( ~. e8 `  ~; |" u* c   function add_site_wide_notices_boxes() {
# M+ Q) m, y# I! n4 H3 |1 x+ e9 l      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');2 h& G" R/ @* h: y/ Z$ t
   }
! z( k' e2 t- r! h4 T. i) D( |
! A- c' d1 v4 P9 A   function notice_details_meta_box($post) {
" X+ T( l/ d5 `7 s6 ]* m      wp_nonce_field(basename(__FILE__), 'notices_nonce');% s0 o5 R" B4 z9 ~
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
- \+ ], G' k+ U9 f      $notice_content = get_post_meta($post->ID, 'notice_content', true);8 O; y7 p$ u3 i" E4 Q1 X) K! F3 d7 _- B
      ?>
; U" y: _, {. n. q* l7 a8 t- @      <p>4 ^2 ]: x1 v- j! [" P0 e
          <label for="notice-title">Notice Title</label><br>
5 f5 b- E# E" u5 d4 I* I% q. S          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">6 i- ~; Y6 x/ a  l' B9 k* u+ J% V
      </p>
$ L' `& Q( @# K0 P, x( q      <p># F5 Z* Y" A# Z/ p" _( I- d9 g9 B7 W
          <label for="notice-content">Notice Content</label><br>
/ k. y7 V, v- t* Z3 l. D1 W8 f8 s          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
2 R& H" n4 r, r& |      </p>1 E+ R+ ~5 I- R3 p" j6 n, S+ M/ o
      <?php
* E2 m. G1 I  A0 |4 K1 j. Y  Q6 L% D   }
! E7 W3 M4 L9 o" W$ o9 n7 V1 e$ q0 q# V" ?$ I/ p% H" L
   add_action('save_post', 'save_site_wide_notice_meta_box');
6 r+ D8 v( u# ]: Y3 o   function save_site_wide_notice_meta_box($post_id) {/ K& e1 b- q4 A& F2 n0 p- W
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
7 G' h) h; {9 I* |         return;+ H5 v; m  x6 x: f; R
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE), k: s4 O5 [9 r
         return;
6 c4 O$ x# {7 i
0 }. f6 |8 K) }- U* c* J7 j7 X      if (isset($_POST['notice_title'])) {
# z2 ^8 ?& m- Q! [9 `* a          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));$ D0 Q7 C( i" i  _6 X% l8 L
      }
* v9 Z/ x% V! L0 U9 J% U5 D; r      if (isset($_POST['notice_content'])) {
. l3 ]0 n  d6 y7 N# \          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));; V, L7 \% |, x2 x' m
      }
6 r4 ?5 o1 K, f: S0 r! Y, q: Y" @   }
# C7 u3 @. O5 o) N1 c6 W   ```" T5 n5 d! z# ]. L" Z# `
1 }4 S! x. F2 s
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。/ F* W! `  L$ J9 m
1 e; C" J+ ^0 |; a6 m3 @3 a6 p2 \
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:5 Q  \% R% l3 \1 v' H

1 m6 f4 p/ S) S) y  H7 E   ```" W* F  R! n7 O/ S' @: `( @9 S
   $args = array(
) I9 _" g7 N0 l      'post_type' => 'site-wide-notices',
) J% B% \4 C2 v      'posts_per_page' => 3,
, v! ~' y2 i. S2 e( E% N      'order' => 'DESC',
+ r5 @$ H" N3 U! m4 _! L$ Y$ v      'orderby' => 'date'7 f; n5 ?4 S. J+ m% u
   );
% O: Z! m* C. }   $query = new WP_Query($args);
, [2 K0 E8 W2 \; K   if ($query->have_posts()) :
# ~! O* M$ ?4 M1 `, h4 H  E5 v      while ($query->have_posts()) : $query->the_post(); ?>% t( ?% N% N$ D; A, o! x: o3 Q
          <div class="notice">
/ p0 [6 _& v; N6 j8 W" Y# @. k              <h3><?php the_title(); ?></h3>
1 S, E" H& n) \              <div class="notice-content"><?php the_content(); ?></div>6 s+ l& a2 J! L: E9 f
          </div>
" l1 e+ _: K, J9 @0 p( j+ H# D      <?php endwhile;
, p* @. H4 p0 O& m8 d/ |5 y5 H      wp_reset_postdata();, I6 J, Y& ~. L2 o7 u
   endif;
$ {! N, N- ]* K% ]2 Z   ```
( R, a7 T( X; i/ n
9 n+ [0 V1 `/ S; {% W: \   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-18 12:59 , Processed in 0.013408 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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