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

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

[复制链接]

331

主题

511

回帖

3355

积分

管理员

积分
3355
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
  ]7 u8 B9 ~  U7 u1 x9 v
. F/ w' Y2 \2 I/ z+ U5 H1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
/ [: H7 r# X9 j9 r6 W- c% a: ^, a7 p4 W( N
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。0 P% e. p' h% i2 Y  A! @$ J

! _; j9 G: ]/ |4 r3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。, y5 i8 I" b9 u/ ^- P) y+ t- ^) h
  J" b8 _" i7 s
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。: m( @( v. H6 k# i1 D: @
0 r% E# f" C3 m
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

331

主题

511

回帖

3355

积分

管理员

积分
3355
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
: l/ t, ^* q+ p; p- k1 G
$ x# E3 L3 I- |7 h8 `# ]2 A: D如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
# L0 m0 |2 s. _' |
8 H) s; B7 N) l% K3 q  w1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:3 v% h- P- C' o

9 C7 x+ \( g- E   ```
/ e& n( G  h& r4 B4 W7 I& n( q   add_menu_page(
. y# M1 b; x, m9 K1 r1 J. R6 J       '全站公告',
2 S5 h8 Q5 j) L1 d8 u- p, x       '全站公告',
: q8 i2 ?" L# q0 i' r( U       'manage_options', //需要的用户权限6 `9 ~6 [/ Y1 O
       'site-wide-notice', //后台页面的 slug
( Q3 ^: m( \) s* V& N% O+ [       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
) c! z: [  T/ a  E4 }/ `8 y' q( B       'dashicons-megaphone', //用于显示在菜单中的图标: C$ O1 P, Y2 f7 ^1 G
       30 //菜单项的位置. E$ X# _2 I6 @" c/ O0 M
   );8 W/ e- W( h! b$ D& P) B3 f0 W
   ```
: ]: Z0 \8 I! |9 V4 b# H
# w. V% G. j. |' e   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
3 }7 M% [- ]1 Z0 c, D' d. q: ^# f3 G% ~9 C  G+ D( r
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:! _5 A& o' J- |

( h) C7 I* m- V/ Q   ```* Y, ^* C7 S! Y# n5 J
   function render_site_wide_notice_page() {- x( Q' H! @( D1 `; L- A8 U$ J; i% G
      // 渲染后台页面内容
1 t+ _. w7 w: R! p+ ?      echo '<div class="wrap">+ W' C3 f/ w) ]/ S5 _! U  J' n- `
          <h2>全站公告</h2>8 ]: ]7 `3 l) G# t6 m# ~
          <form method="post" action="">  _* b5 D; O. b% M
              <label for="title">公告标题:</label>
: t, v% P9 G, f              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
2 c( E( D" ?* L- W6 }# D              <label for="content">公告内容:</label>
' N/ v  k! j9 u              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>( P, }9 s+ v) L1 G" ?8 R( C. c
              <input type="submit" name="submit" value="保存设置">
* C6 C* ], |/ e5 W7 s          </form>+ c7 {* j/ a! ~' l9 v
      </div>';* G  v$ P) [0 U& Z
) N& F) y" P; k3 p8 e6 h+ c% D) N
      // 处理表单数据% c1 f  g* E8 C; U. T/ ^2 v8 A6 }' @8 F# T
      if (isset($_POST['submit'])) {* D$ v4 l; r' w+ r1 C
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
0 n( g% r5 t/ c( L* V6 o# e          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
& y( P; N' r5 S& i* f0 D      }
' s# k& c6 H+ O8 j1 ^   }
5 J. V) d5 g- S# S   ```
/ B) n) d0 j1 r
. }: H) E# l/ k  l! c' u. f5 }/ G# ]+ S   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
0 k" r% ]9 \, c( y8 q8 T2 X7 y0 n% h8 j$ I# R/ X2 G
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:; x# P! w7 u8 r' ~, e* V
4 z7 [( l) H/ l0 k1 f, k3 X
   ```( E/ M: w  e( x, [
   <?php0 X. |* S5 L+ x+ g) d8 D
   $site_wide_notice_title = get_option('site_wide_notice_title');/ }# r% J& F% M6 n1 B4 y2 v7 _
   $site_wide_notice_content = get_option('site_wide_notice_content');
2 ~8 K, m3 F9 J3 v9 ]( }2 q7 U   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
8 r+ v7 A" m: j0 @       echo '<div class="site-wide-notice">';
& S+ p9 ]  g+ {( I4 b5 ~8 c       if (!empty($site_wide_notice_title)) {
# K! i/ u1 ^: n6 l. n5 y& H4 v           echo '<h3>'.$site_wide_notice_title.'</h3>';, Q- f2 P# y4 f6 X: ^3 H
       }* B4 s! q' m6 l" o/ ?6 I# E( T
       if (!empty($site_wide_notice_content)) {
: |) X5 ^% I' j1 `& p, y           echo '<p>'.$site_wide_notice_content.'</p>';  H1 N0 K  u. ^( {4 h/ h/ B
       }
! X! Q9 S% ~6 h7 `& g       echo '</div>';
2 Y  s' g2 Y3 z/ E8 Z   }
% N5 j; T; i3 `1 ~- F5 K   ?>
. z! X* P* J0 k7 P) v3 Q. x# S   ```
* Y) B2 z* r8 |, y5 c: _( ]" Q6 R6 m" H: E8 [
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。5 W2 ~- T6 @2 K

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

使用道具 举报

331

主题

511

回帖

3355

积分

管理员

积分
3355
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?, O, S4 i! k% g3 k0 a% E9 ?, W
5 P. ]2 {7 U: R1 }9 v& i- U* c
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
1 W. r9 F' s9 E9 A* ^( S2 z5 }, \0 p4 y% l. ], }6 W3 s
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:7 b# f% ~! l0 E9 B5 u

# a. K, S  }9 D- ]: M& j```
9 `0 b2 `5 Y7 J+ g0 kfunction create_custom_post_type() {
) w4 C1 J! g. S* L- Q) ^" b# A    $args = array(
7 {% R/ s5 M/ Q  p/ {% a3 K        'labels' => array(/ `7 t$ S" u. b5 J3 K' F" r" i
            'name' => '公告',: o4 N; s2 v6 f- S1 w# a
            'singular_name' => '公告'
6 z" r. G% w' y" E        ),
" a  g6 `6 E/ h& R0 ~" m        'public' => true,
0 W8 ^: V5 W2 i! Q( y* b, [        'has_archive' => true,
" p) n4 a& K2 b" U. p, V        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
. H( M# H5 O+ t8 Y- a: s( m        'taxonomies' => array('category', 'post_tag'),2 s5 v% v6 h1 s+ T* K5 }' _$ p
        'menu_icon' => 'dashicons-megaphone',2 a( s6 x3 X% e# H2 f1 L1 f% e  Z) n
        'menu_position' => 5,' a  n; C; B+ V/ o1 _/ T8 X
        'rewrite' => array('slug' => 'site-wide-notices')# S4 [' s7 P( n) e
    );, p" U5 _' @) r/ w6 S$ ^
    register_post_type('site-wide-notices', $args);7 w2 s8 c6 W, a, T$ e# Y  P
}; z; o( y8 T' q8 {
add_action('init', 'create_custom_post_type');5 j. y4 o$ T$ H' j& J+ r7 T
```
, T, i) Y, N6 ^4 T9 d* [  L
+ @. r% |# ~& B! j在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。7 Y) _, `% h. e7 L/ t8 a8 V9 k- N
, x2 j; i) i8 M1 M( Q7 N
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
" ~+ O$ O: a: h( u3 c; ?9 \( P$ _- M9 a2 O/ R7 E7 S4 I1 }1 E
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
" D4 c% b; w2 n8 X' t/ U. H4 z" C& n
```* \& c9 ]6 S! e! t& J1 ~7 `) M7 @6 b
$args = array(
  o3 [( y0 T- n) F0 d" B& W    'posts_per_page' => 3, // 显示的公告数量8 G! O1 _+ z* @
    'post_type' => 'site-wide-notices', // 公告文章类型
% X3 Z% q, f% x% h" r/ R3 M    'post_status' => 'publish', // 公告状态% r; Z! ]2 T" k( m6 X( @
    'order' => 'DESC' // 排序方式! w# K' B% U- s2 o% }
);3 j1 y% A5 o! |% N
1 V- ?. {% R! r, h. B) H' {' u
$notices = new WP_Query($args);
9 Z5 [; ?4 z& {5 M1 L' y) A' W8 E# rif ($notices->have_posts()) :4 f& Y  m3 D% |8 t7 B3 W+ W) F
    while ($notices->have_posts()) : $notices->the_post(); ?>$ s/ p* E7 L+ @
        <div class="notice">- W. J8 O/ ]. d/ ~5 @
            <h3><?php the_title(); ?></h3>
' x7 }4 \3 e$ f& _& O/ c) d/ H            <div class="notice-content"><?php the_content(); ?></div>& ^0 E; v2 }+ x# B$ ]6 S. Z
        </div># r( {4 h, ~) Z- b- V/ V  b/ W# A. ]
    <?php endwhile;
& S2 k: ?3 o. H4 D8 W8 Jelse :
3 n% d- H: r# x: g( O, x    echo "暂无公告";: f. s9 ?; b/ a/ w- L* i
endif;) t0 C* K0 C2 d" a6 Z4 @$ M: d$ L; V
wp_reset_query();
* X1 J/ o9 @0 j/ |7 R  v6 G; G4 S, A# _  j```
1 ], ~7 c& I+ \. `. ^0 d% F5 S4 K
: y- z& [3 _" N6 A* H, G9 V这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
# G, n7 B& x/ N3 W9 [( v, V6 x. X
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

331

主题

511

回帖

3355

积分

管理员

积分
3355
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
9 K1 m: V4 r! W4 H- U
: p& L4 Y) h8 B9 ?4 S如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
+ A- J. S4 `4 m9 z. o8 Y0 f7 s  j. n2 V
以下是创建自定义插件的步骤:7 f9 c* v( p1 x+ b4 I
- q( w& R. F; g+ l
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
3 T! e$ q0 d- i% g; ]) P0 z: S5 _9 w6 [4 D+ j
   ```8 T5 L# d% ?# }/ c# B7 W( d
   <?php
  b) h& f  P# u) k   /*8 F& ]' }0 x+ e  S% l$ r5 ^  Y8 H
   Plugin Name: Site Wide Notices Plugin
3 f3 Z$ _: i. y# z1 M   Description: Adds a new custom post type for site-wide notices.
6 m4 ]9 s, \) s0 I4 B   Version: 1.0
& d% E' Z3 y3 e8 ]/ F* N   Author: Your Name4 Q' _# Z0 J% E* L4 ?2 K
   Author URI: http://example.com( g) x- V9 J: x# N1 n" r. d3 Y
   */
8 k9 z. E6 t- ^. C! Y
, l: V8 p7 W! `" ~/ U2 v   // Add plugin code here...
$ @' M/ Z' M5 P7 B$ A, P   ```
. f7 V9 Z7 x& z1 u/ z! m' S
4 ^3 e1 U/ n( E! i2 C   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
# |% [" ?0 J, D' \# I
, t5 j; H7 S. m! b+ t0 w; Y" }" w2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
! W3 g4 e( n8 R$ t) t3 f( u) c8 n& B
   ```
$ W) m: g  l  f  A   add_action('init', 'create_custom_post_type');. |8 B- r% v- K) B* |
   function create_custom_post_type() {/ |' }* `) m- s9 ^. E5 n$ w
      $labels = array(
; G, f) ?3 s2 I7 m% @) Q          'name' => 'Site Wide Notices',
' f2 v, {2 I+ ?) @  V! H. ]          'singular_name' => 'Site Wide Notice',# b3 Y/ w# t' K) m" d: y
          'add_new' => 'Add New',9 P2 Z9 l4 k, ]2 `3 M, `! v, x; e
          'add_new_item' => 'Add New Site Wide Notice',
/ q& M7 v! o0 Z6 P          'edit_item' => 'Edit Site Wide Notice',# j" p6 k; |  e3 X+ w
          'new_item' => 'New Site Wide Notice',  Y2 h8 X2 b. g2 T( H8 h8 U, w
          'view_item' => 'View Site Wide Notice',1 R$ e$ j& m& k
          'search_items' => 'Search Site Wide Notices',
, L: N" C$ {; K0 R+ P0 a/ c          'not_found' => 'No site-wide notices found',
- x2 S8 ]& A5 V2 _          'not_found_in_trash' => 'No site-wide notices found in trash', v! o9 j3 A8 |: P; q
      );, ~% `  v. a$ W( j0 w% D

  X* B4 J5 s! n. a% F/ ~      $args = array(
0 a  o# O) ^" \; f          'labels' => $labels,# S( ]" k$ S  l5 y- w
          'public' => true,5 A+ \/ U) I; |2 W) F
          'has_archive' => true,
  n' l0 W6 O5 i# p# [1 R0 \          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),+ ]: F' I* n- ~" I
          'taxonomies' => array('category', 'post_tag')," N$ T" |) G3 Z2 @# O
          'menu_icon' => 'dashicons-megaphone',7 m& b! j9 A' y' M3 z& H9 A  a
          'menu_position' => 5,
2 U6 A  @3 M3 @8 k/ Z          'rewrite' => array('slug' => 'site-wide-notices')
3 O" T1 ~$ e7 C- T9 i& r      );9 s1 g+ {- c4 a8 _3 r6 z
  h4 n' a  q7 Z2 r) S# j! p
      register_post_type('site-wide-notices', $args);
! M, k8 z& F9 `: V* a# m; g   }6 a3 h$ \/ e/ g/ |
   ```1 M# V; O1 R- n7 y) P, t: w2 l

# q0 g9 q. {6 Q8 `2 h! d7 }2 S/ r   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。5 G$ f6 B3 N, t* p

) ]' P: r. \' r8 N! F1 R* P3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:, G7 n* x! E4 [0 O# L, x7 k

" d' N1 s- i1 Z5 N0 I6 |9 C+ t1 m   ```' Q6 H5 c" t$ C  e& P9 s
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
# {0 k. g" ]0 d" e1 i   function add_site_wide_notices_boxes() {. F  K' |8 g; K' T# W8 ?: N
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');  q7 r% a" Y$ m: x6 b% y
   }
- m$ |( x; b: @* z0 m- D4 A0 p: ?* d) c
   function notice_details_meta_box($post) {
! C: L0 s) f1 M9 K$ _      wp_nonce_field(basename(__FILE__), 'notices_nonce');
  Z, n) k  ~/ _% K      $notice_title = get_post_meta($post->ID, 'notice_title', true);
3 E9 `; J0 F* T7 ^      $notice_content = get_post_meta($post->ID, 'notice_content', true);
! h$ S& S$ j$ Y  f      ?>3 P8 G) ?7 w& @1 M* N. @4 H
      <p>
" ^0 u4 v2 B+ f( U8 [$ r6 u          <label for="notice-title">Notice Title</label><br>' K6 _8 A. U) w6 w! a1 u) ^& s
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">2 W& M7 C! |" u" P8 W7 i5 q! P
      </p>
" q9 o- O+ T# k, ~/ ?9 ^      <p>* n/ n) f$ V" `% \
          <label for="notice-content">Notice Content</label><br>/ r) r4 |- V- ^3 T0 a
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
1 f$ q+ p$ _! ~* G      </p>
5 z; o, V9 b! L* N: ~: B6 \& o      <?php
3 K( K* ?; N9 u0 v; }9 H' P   }
+ u& ?: M/ R$ \9 }4 E3 B( v
' J& v# Y; d3 ^* c   add_action('save_post', 'save_site_wide_notice_meta_box');
4 ^" @+ X* |8 e4 I   function save_site_wide_notice_meta_box($post_id) {
1 L8 H- M/ B. k! w      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
$ n3 a# a8 l* y7 ^  E! d, w" u8 p) T         return;' s) P" X. U0 ]; P, ~) W
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)! w" c6 p9 m- k2 C! w& x
         return;
# E4 \# r* |6 V
* ?8 a" q; ?: @6 a4 z      if (isset($_POST['notice_title'])) {
: v3 ?4 O2 |. c# X  d. M$ [) X          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
7 k% E: P0 r3 R      }
: B; f. Q& t1 @! V      if (isset($_POST['notice_content'])) {
+ `' _0 l0 j0 W9 a          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
3 I; p$ L2 a3 W" C2 b+ ^      }
3 t! W. o: M; Z: L7 Y8 l5 K   }
: T: Q0 q% O+ j5 Z- i   ```0 h0 i6 }) Y1 ^: Q

& G& ^  w" p4 m/ W' J* E! h5 ^   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
$ p( d( Y% A2 y  D! T& D/ U: M7 D$ e( }0 E' d
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
! D* U4 J6 c4 p' m- ~
2 h2 t* A; _6 o9 R. f   ```# V# p3 m. G$ v8 c6 o) S
   $args = array(
' ^& ]2 C" J# Q6 p6 t+ Z: m) k) |# B      'post_type' => 'site-wide-notices',3 V5 P9 v9 E" o7 X) G
      'posts_per_page' => 3,
5 V2 x( M* p$ N  W      'order' => 'DESC',
& {/ J  x. ^& M3 A& c* k/ {' {( }      'orderby' => 'date'
* E! H$ K/ M: u" g! L5 r2 V   );4 u2 W8 V$ l$ V5 X" K$ w" n: k7 A
   $query = new WP_Query($args);
, `8 P8 {& W# N9 z! W   if ($query->have_posts()) :
& G8 k7 H4 w* K* s* H- F: ]0 A6 w      while ($query->have_posts()) : $query->the_post(); ?>. _( ?$ B, B8 S% ?# ^
          <div class="notice">
( N3 K1 a7 y) u; j# X; R              <h3><?php the_title(); ?></h3>! S7 s6 b: w% u9 n3 K
              <div class="notice-content"><?php the_content(); ?></div>: A1 y2 n: t$ f- ?, t) u5 Q
          </div>
  \3 J- U  a4 Y7 f, k      <?php endwhile;! y$ r2 @$ m1 i+ K: B
      wp_reset_postdata();
3 R0 }8 j9 e. f7 g' J   endif;/ \- c! N% o/ ~$ |& W( u2 @
   ```- C. ?. ~& D2 M5 {2 u) q- ~- r

" w. q) a  E& v( g# a5 x4 r   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-21 12:29 , Processed in 0.071660 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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