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

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

[复制链接]

340

主题

529

回帖

3524

积分

管理员

积分
3524
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:% Z( e9 y# E. r8 x; Z5 x; [0 u

( `9 K) {% d) }+ P2 n1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
# e) F- E& d+ G) W" A- ?( o$ ]5 R3 C5 `; `& k5 c% o
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
& @4 z( ]6 K7 X! {8 R9 g0 j- H" L' y$ F3 E
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。$ Z- ^& B- {' q9 A  l  a5 `
5 U3 R5 N: G  @- L6 S0 E
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。$ H0 N& O2 k+ u: ~9 _* v; c
+ h3 J" c1 h6 f# r
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

340

主题

529

回帖

3524

积分

管理员

积分
3524
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
; ]. N4 e5 [' }* f% J: H
  ~1 a/ S! s- w如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:" ~8 j! B  {1 h4 |3 {- ^- B: P+ q
) e& j, F# ^% a5 Z7 k
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
  ?0 p: D1 y. |8 u" n
, h% H1 ]4 ^- P* ~+ D   ```
& }: i9 k5 V  _/ N4 q   add_menu_page(
. z+ Q: n$ r& ^* U       '全站公告',
' Q) [5 O- Y) X5 T       '全站公告',1 S7 X) R. E5 g6 `1 S6 N8 }
       'manage_options', //需要的用户权限
9 B; K3 W3 r5 o6 n' a       'site-wide-notice', //后台页面的 slug- J- m# Q  s$ G8 A$ E
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
: R& o% U! k7 s; @/ u: d3 \       'dashicons-megaphone', //用于显示在菜单中的图标
) R1 P; e0 E. @5 x) F8 W       30 //菜单项的位置! }* d1 M! F. T# d& W5 N" \' m
   );
0 D2 v, `2 _; u8 n- g- d   ```
, u% V( U0 p- [9 x! u! [
: {' f( }6 p, H  ?   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。' I* q2 G2 p; }

+ ?# x7 D4 m( k& Y2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
- E, |) ~+ w' _1 M$ x. W, {/ z: S
( ]7 O( V8 T0 N3 O& Z; \   ```/ I7 C. |: W$ s% x1 ^/ i* |9 s6 y
   function render_site_wide_notice_page() {
7 {& F3 T3 B/ b# Z9 |6 a( F, t      // 渲染后台页面内容- l, t" m: r  Y: F6 U
      echo '<div class="wrap">/ k5 M# G8 t* X& s
          <h2>全站公告</h2>, F& X! Z  z4 B/ y
          <form method="post" action="">. L3 m2 R' w+ F) s+ r  p
              <label for="title">公告标题:</label>) o+ ^: p* k0 Y! x
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>( O  P2 y- t7 x% S5 d7 V2 m1 ?* K
              <label for="content">公告内容:</label>
* k7 e6 G' Z  s% S              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>! a2 |8 ~1 `- ^- c
              <input type="submit" name="submit" value="保存设置">
. j( A, k' z+ _9 A. L          </form>7 B' r! ^2 a; u+ P8 w7 v+ `
      </div>';
# ~( h0 a4 l& C% B' ?
& ?8 p$ c1 N" E( B4 P      // 处理表单数据
) I# N4 v- p1 V! Q% }/ v7 o      if (isset($_POST['submit'])) {" P! ?3 o  S+ p" i
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
# E2 R2 \" \; A8 K1 c% w' t          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));  J+ e4 e5 G8 ?1 h9 P' X
      }
9 N( h7 m5 D! F2 ^6 \7 h- I/ B$ a& T   }) C1 ]1 r' b  V. e+ r
   ```! O! ?4 P' N5 g# c. E+ }" \! W& W8 u
' D" B  X% u4 D9 r
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。1 E8 x; F3 T. p9 a, O/ g- F7 G

5 ]- n" m, X4 ~: W6 o1 v/ v3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
" `  `1 l' C, r& a/ j+ G4 z) \
' n7 K( x+ `, H0 ~7 D! j   ```( B/ D" l" P* t+ a- z# o
   <?php
! I* s: ]/ v( o- f) m) ~1 Z   $site_wide_notice_title = get_option('site_wide_notice_title');; W0 h- p0 z! Q3 u# e
   $site_wide_notice_content = get_option('site_wide_notice_content');, `) \! r# V1 T4 Z2 d& @$ J6 F
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
. i* U8 F' k  ^% i& x; p7 `       echo '<div class="site-wide-notice">';
4 D" b5 w9 K; z* R0 M; W  Y* [       if (!empty($site_wide_notice_title)) {5 y, N9 y/ c' B% r
           echo '<h3>'.$site_wide_notice_title.'</h3>';8 ?4 n3 A" h. P# y
       }
5 O: s6 b. j. a0 Q$ R" q8 h       if (!empty($site_wide_notice_content)) {1 w/ C6 j6 P- W# C6 J5 q/ U# x
           echo '<p>'.$site_wide_notice_content.'</p>';
" A0 @) n% i/ t. j6 d9 }6 M       }. g- O; i0 N4 y$ b1 V/ a! R  |
       echo '</div>';
# a+ s, L- F" n: o/ E' U( E4 r   }
- g3 G, c( L" q6 `3 |8 ?- J" q   ?>6 Q$ r. ~+ t% Q
   ```: j! Z, q% R- ?1 o6 O
) Y. U$ ]* {7 x2 }
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。) q( _# w2 W' ?$ m# p8 C& {. `7 x4 U
& B- `5 P* ~0 l- x3 N  ~/ H
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

340

主题

529

回帖

3524

积分

管理员

积分
3524
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?6 P5 I' G! c" J6 w9 n

- g+ p% C2 \' P! d您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:$ l4 t0 U6 {6 J" h7 U
' b9 Y! g" }. i2 `4 A
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
$ J6 W( p! u4 c8 g
% O/ ^1 x  I; Z  r3 \# g; L```
- Y$ P6 f6 O  z5 bfunction create_custom_post_type() {$ i9 L; A" A( h: `) ~
    $args = array($ N; N0 L; u  S' r! _! y/ W- V
        'labels' => array(
8 A; I$ c! {' R: y! n            'name' => '公告',8 A4 K9 i" Z/ Q
            'singular_name' => '公告'8 ]; V8 \- N) W5 }/ F4 t+ u
        ),+ {* s# Q+ w/ K$ s; ]+ c: a
        'public' => true,
3 [1 J( J5 w) G4 D        'has_archive' => true,
, x7 k% Q! |0 a4 M        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
; Y, Q6 f( T% Z& b' p. n6 j        'taxonomies' => array('category', 'post_tag')," R' m# @4 M+ Q5 U6 ~! J
        'menu_icon' => 'dashicons-megaphone',* b! Z. \6 _6 P) N
        'menu_position' => 5,
1 L8 S( _: L1 p# m        'rewrite' => array('slug' => 'site-wide-notices')
+ G8 R0 a( ]8 g$ l4 E    );
0 Z% F0 a5 G& w: A) t    register_post_type('site-wide-notices', $args);/ M$ Q; @& I1 R
}
- X: L: x+ `: I9 h- `/ j8 V+ ~* jadd_action('init', 'create_custom_post_type');
0 ?4 I5 S2 v) p; S6 D/ o```
, X1 C6 s& W# a
* T) t+ @( M9 `4 r在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。$ U) ~$ d/ T) |+ D3 R" B! P
6 A( @- D3 j. V5 L! I$ o
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。( O, _! S$ r* f* R; H

7 O/ b4 B7 \  C- D2 I3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
$ d! i7 w, z/ P/ m4 R9 K' B. H9 F: O) D
```4 I, W3 W- ?! Z( k+ o% Q8 h$ j" I
$args = array(
: p3 [* G* A9 u( @2 J% ?6 N$ l    'posts_per_page' => 3, // 显示的公告数量, ^( l# D' r" C( ?7 h7 N- P
    'post_type' => 'site-wide-notices', // 公告文章类型1 L3 r/ w/ r9 ?2 b
    'post_status' => 'publish', // 公告状态
6 R9 W' c' {2 C2 l' O0 W    'order' => 'DESC' // 排序方式( }8 k7 k7 t- g; `' y/ W
);
% W5 t0 n& B# ^$ a% d
, D; |/ w4 W& R# E( J$notices = new WP_Query($args);* X6 Y! n  \) L  E, U. b, d6 w
if ($notices->have_posts()) :
% e3 J4 v) u+ `, b) D    while ($notices->have_posts()) : $notices->the_post(); ?>6 Y. j; _) m" P4 Z3 ~- h
        <div class="notice">8 O& }- b. J' `# A
            <h3><?php the_title(); ?></h3># \* E1 c! Q& Q2 d
            <div class="notice-content"><?php the_content(); ?></div>
& q# z$ H' b  F. H0 ]        </div>
* P1 E  ]1 r6 {* m# k) T, z    <?php endwhile;
2 r; [" U* `* k2 I/ d9 Aelse :
0 a9 L4 F6 T: Z6 o    echo "暂无公告";
! ?+ j; \2 _! [% \4 z6 d  Dendif;: B. J" b, ]; C0 Y: z9 n* X
wp_reset_query();+ R$ K1 ~; B# Z5 w7 w4 H) P
```* G2 A* O2 }) N' x+ r4 Q

# T' {- p) F) u, ]5 k这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
; C" ]2 s6 A1 E1 M* Q" n" g% U1 Z- C
1 n) l: d0 R, i) w4 ]/ ^# z6 v以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

340

主题

529

回帖

3524

积分

管理员

积分
3524
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
% W9 w. |) s% Y* r" T$ M- B) x' J6 ?: M: T! m0 C( B7 Z7 r6 J$ v
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
) M/ e! c( A& J) I) ?, l/ A  q7 d$ L5 G- q
以下是创建自定义插件的步骤:
6 m  S( K& n* m# E% e+ e0 \( S; L
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:" Z' Q( r/ ~' g6 O: ]& c5 E4 z
. \1 c3 [8 [" b: d$ |" b$ W( }8 |6 {$ ^
   ```8 n3 y' N7 L% o3 i  B8 F- K
   <?php
2 H# x8 g0 U! m' a$ ^   /*1 R4 o& V( L0 A6 A% V6 ]
   Plugin Name: Site Wide Notices Plugin
2 @( `1 A5 {4 e4 j$ [5 c   Description: Adds a new custom post type for site-wide notices.1 _( K* M0 f) M4 E
   Version: 1.0& u) `, J$ t& u6 O
   Author: Your Name
& P7 A1 m5 o2 F/ v  o1 x   Author URI: http://example.com" T4 i# ~0 h$ a4 q8 @& p4 M
   */  D: e/ j% A- i. P7 g( M! E# t
2 p) t, E4 W& Y0 N  R+ x; z
   // Add plugin code here...
, e9 m9 |% l1 y- ~( X   ```
9 B/ x% _7 k7 e" ^8 ^
8 f$ y0 H1 M& o# c0 ^2 k   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。) y+ {' L! W" D: v9 ~0 h# F1 j

$ {5 v9 U/ e+ s: d: o7 S2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
5 u+ Y, d+ B! l( s. i6 \& P# C, ^* Q6 \- Y9 j
   ```: X# t/ l1 a  a( A6 m* H
   add_action('init', 'create_custom_post_type');
, v7 I- D# c' b! b% J7 [/ R, o5 f7 [   function create_custom_post_type() {
5 N6 T' V2 y8 d3 u. h) W      $labels = array(4 X0 l2 r. |; d8 n" r
          'name' => 'Site Wide Notices',
6 H$ w  \1 w$ o1 E+ ]" W          'singular_name' => 'Site Wide Notice',
; w2 J, O' U1 A6 Q. |+ N/ g; g6 p  K          'add_new' => 'Add New',
. {" C! A  ~& x) L/ E" Z* y          'add_new_item' => 'Add New Site Wide Notice',9 R1 Y5 T" S1 P7 f8 U- u4 a
          'edit_item' => 'Edit Site Wide Notice',& ?+ @8 ]$ k9 [
          'new_item' => 'New Site Wide Notice',
+ U$ m: b& _; Y; O          'view_item' => 'View Site Wide Notice'," @" s( W1 h' ]
          'search_items' => 'Search Site Wide Notices',' K& b4 x6 V6 A% A0 ^+ j. U
          'not_found' => 'No site-wide notices found',1 Q( U( H5 |0 s* L" `- s
          'not_found_in_trash' => 'No site-wide notices found in trash'$ K* G% R5 N  z
      );( @# @/ V- F! o0 R9 S

& {! [) g; P/ d4 Z3 l: f      $args = array(
# d4 Y! i! L0 n3 \. T  e% _- g          'labels' => $labels,: ~. G- i. a. j0 `
          'public' => true,8 b- y+ y" q! ~! ]7 ]
          'has_archive' => true,5 Q+ s: d/ c0 N: M0 J' C1 X1 T
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
( }+ h( z2 u' z+ h( U: l6 u          'taxonomies' => array('category', 'post_tag'),& o+ ]# c' Y5 C% E5 z$ O  Q
          'menu_icon' => 'dashicons-megaphone',
. J& r. r- s2 b; N1 }6 ?          'menu_position' => 5,  p: p/ M$ P" U. e
          'rewrite' => array('slug' => 'site-wide-notices'); |! r. u3 {6 s" O) z: |' S
      );
- j  w5 E" |0 y9 C  ^# F# Q0 X1 _. @, s+ j
      register_post_type('site-wide-notices', $args);/ o9 w$ q6 V7 @; E
   }
/ J+ g4 x* M4 E. y. }   ```, _) c% {8 P# ?0 A6 q
. Y. J- [$ Q6 D- N9 b( S7 D
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。& j: @3 i7 ^: U2 m4 Y6 c. E0 J7 c
% m9 M+ k) T' s& o- }- x3 \$ F
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
) K7 {/ A+ p) z0 t+ X
! n" p. U$ {7 B/ \" d* d   ```: V1 m8 {" S: }  J- I
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');& ~5 t. Q) m, J; d9 L
   function add_site_wide_notices_boxes() {, @1 L# ^1 X9 F. H$ b+ B; Y  G1 c
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
! E/ J3 O/ v3 X, L2 b+ n" B, |( e   }
9 p' N4 V" ?1 N1 X. e& {( V' E/ x  D3 C1 T. p* r
   function notice_details_meta_box($post) {3 D7 |" @( }6 {8 A$ P2 J6 W6 h- u
      wp_nonce_field(basename(__FILE__), 'notices_nonce');5 @  S, v, }* ?4 q$ C
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
3 Q; @( S: r; \! z# v      $notice_content = get_post_meta($post->ID, 'notice_content', true);2 R) [8 ^) G9 P( h. l( {9 u% N7 d
      ?>7 p0 d- I+ d- T5 L% q6 v
      <p>$ X; s7 r0 n0 w: U' f5 c
          <label for="notice-title">Notice Title</label><br>
7 s7 R; B6 v0 x$ s4 s          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
% y. Y+ w+ v, q      </p>
9 k2 P- S+ ~/ O2 V      <p>
$ ]$ H/ i6 o9 |6 m4 H: [" L5 P          <label for="notice-content">Notice Content</label><br>7 S# b3 O& ^( n2 y
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>' n% K- K8 T+ u7 g
      </p>6 P6 X) Y0 A$ q
      <?php: |5 p5 X  O! j% f6 H" D% a
   }
1 r9 u. s: k4 }. v% h5 l3 J0 p# l4 U7 l8 y) ?: @! G4 I
   add_action('save_post', 'save_site_wide_notice_meta_box');
) \9 L$ \2 ^! c. o9 {9 A: M8 u   function save_site_wide_notice_meta_box($post_id) {; e/ C& N. u* M& \. e+ _' `
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__))); _- b1 j2 j, q) d) X
         return;
1 @2 J, ^" u! c. I      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
; k; P5 a# I& s# k' @/ Q         return;
, O1 l" O9 B+ }- \% x
' p7 t! j4 [- w) h      if (isset($_POST['notice_title'])) {0 j* H" X4 ~% F8 s' D* d
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
$ M# {6 J4 @$ S      }1 K; F; a: K0 D% }3 t7 [0 j7 v5 e) u! W
      if (isset($_POST['notice_content'])) {" M6 v4 \: \* i: V
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));  Q7 P7 I0 B: Y/ v3 A3 B- w- S
      }0 J2 [, e& p. x5 f8 r
   }" M& [, P+ [: z3 T( W
   ```" N) m- r. n- Z1 Y  R, w
! X* k/ _1 S& f+ S0 A
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。& y- W" x6 i0 L4 I1 b
6 a+ I  G& O/ h3 W& P8 M* n1 B' ^
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
0 P, X0 l( M+ L1 A5 }
3 F, H9 S" q& L; z6 P6 }' b' R+ H   ```2 I  k6 n: ?8 L* S& c& O  ]& d- ]
   $args = array(
7 `7 M/ q2 L% `7 ~) O9 |      'post_type' => 'site-wide-notices',( V' ]  x3 H: Z5 e* z  p- D( c
      'posts_per_page' => 3,! o# N5 Z6 X/ M4 R$ D
      'order' => 'DESC',
8 R$ V7 ^. m' \# S( O      'orderby' => 'date'8 P9 g. \3 D( O( E7 p5 q8 L: |
   );
# [: o5 a7 {  v3 f; ]; x3 L4 t1 C   $query = new WP_Query($args);  X$ E* }) A1 f6 U7 v3 P
   if ($query->have_posts()) :
4 W1 C( Z; Y0 ]7 G) c      while ($query->have_posts()) : $query->the_post(); ?>5 c5 g. c' v# o7 |/ t' O$ ?" t. @
          <div class="notice">
* I/ x: l, L3 @) Q              <h3><?php the_title(); ?></h3>% j" Q4 V+ c+ g0 m# b( M$ N
              <div class="notice-content"><?php the_content(); ?></div>
6 E# e3 ^4 g, R* s' @) o          </div>0 T  v" J" E( N7 Q6 Y# ]
      <?php endwhile;; X, i  M8 ]0 y9 c2 r
      wp_reset_postdata();- O9 X" E0 P3 @& J& u
   endif;' G; X9 e+ q  T0 P. K
   ```2 m# e- @( L, F8 b  E$ J) W

7 o- G' Q8 Z6 B1 A8 W$ a1 L   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-17 08:09 , Processed in 0.013988 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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