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

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

[复制链接]

344

主题

559

回帖

3646

积分

管理员

积分
3646
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
7 U5 w2 `/ y6 i8 H% [/ K5 C2 b1 ?1 I+ \1 U
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。# j( L& n& L* n$ B% c# W* W* n

1 F/ n$ x, P: i: Z/ K2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。8 I( R. j- k% M  j; `

" {. _1 s- j; {, \0 y) p. |3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。! e4 S, ^! V1 G% q

8 L. y5 `+ p" ]2 ~! ]  l4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。" M; y# N+ E+ l3 U

+ _" v7 Z' `) [. p* Q0 x注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

344

主题

559

回帖

3646

积分

管理员

积分
3646
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?! z, p$ `7 F: l! T

( q) z8 o, F4 B7 W5 D* q如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:& t5 B$ A! N9 a; J
0 j% k2 p( a8 \% c3 ]# l
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:# x/ {/ Y: P+ s( \3 ~4 L% [
8 N! w! |4 n' S; o, I$ r7 ?! U
   ```7 f4 \) A! Q% [# l
   add_menu_page(
9 t$ s6 l4 C9 v1 w3 J; Z       '全站公告',
6 \, U$ }* M% Z       '全站公告',# R* G$ q/ W; \( f6 h0 n' n
       'manage_options', //需要的用户权限0 h8 b# j/ H) o$ [0 M) M: m5 x# s
       'site-wide-notice', //后台页面的 slug
* U3 H; Q" E& D1 J       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
7 Y, `+ P- Z8 n6 O9 T1 \       'dashicons-megaphone', //用于显示在菜单中的图标/ d6 P( w4 ~+ k3 F/ b+ S
       30 //菜单项的位置- s% V  ]* N2 B  e7 P* y9 e4 ?2 X# D
   );/ _! o! R8 ^  m6 {$ Z* L- ~
   ```" a' E# M& @0 ?5 l% p
& N0 |& r' W  _5 b
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
3 l( j( `0 W* n
& n2 l# B$ i: a2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
: D. E! m% s3 N- L
7 }3 M$ D9 J, F, \: @. d   ```/ q& w- e4 C# D3 S- F# F6 R
   function render_site_wide_notice_page() {
: b) x: ^4 g& I, Z( o8 x      // 渲染后台页面内容* G  m: ^$ o& l, l# a7 q8 a7 E3 \
      echo '<div class="wrap">' S+ W! U: R% G; Y' Y  C
          <h2>全站公告</h2>
# c, j( R( T2 H& E* H          <form method="post" action="">
9 M" z% h* i9 o4 _              <label for="title">公告标题:</label>
3 E8 E8 Z: E& @              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
- T; A8 p8 s5 E2 _              <label for="content">公告内容:</label>
. M9 ]# x$ i3 r( L* z              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
% W& U7 X6 d2 l8 T0 g0 F2 S5 ~: ]              <input type="submit" name="submit" value="保存设置">7 E6 E* X5 j; \
          </form>
* w* Q  V' H3 H; s3 d4 ?; P      </div>';
" K6 |, |. V/ c) F5 P
4 E; u0 L' j" F  c      // 处理表单数据
1 [* Y) B/ v. W, G      if (isset($_POST['submit'])) {
; X; A( Y, c1 m          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));5 B8 Q7 i$ z" p% U
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
% E5 ], ^4 h1 w      }8 _5 k" y- C4 g2 l) ~7 V. Z
   }
3 z% b( p2 |* ~& O) D   ```3 {# x. i" D* M7 P2 h/ \' e
+ e& L* n7 V& E4 Q
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
7 _4 }. J' f2 L+ @' E+ _, \
$ @( Y, p2 M! H( s3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
" ?* K% W4 r* w$ M/ Z7 ]8 v( J$ H! k8 v  p( `, Q
   ```
0 l% A+ {4 V- \: [9 Z5 B   <?php
% C# f$ H# B5 \# O) c8 v, x   $site_wide_notice_title = get_option('site_wide_notice_title');
% G$ u1 X$ }. k! X4 f   $site_wide_notice_content = get_option('site_wide_notice_content');5 [$ ^0 t$ [: H* A
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {0 j$ c" \! m. k- v) S. w* h# x
       echo '<div class="site-wide-notice">';. ?5 U8 N4 S2 P4 f+ Z
       if (!empty($site_wide_notice_title)) {
# S: O7 H) `) n6 b           echo '<h3>'.$site_wide_notice_title.'</h3>';
, X1 o" t7 e; _8 q       }- \, Y; n. v* ?# p1 j8 y, O
       if (!empty($site_wide_notice_content)) {( J# l, k: V" ^! V; h
           echo '<p>'.$site_wide_notice_content.'</p>';
4 X& p, Y% V7 X" p( N* ~+ z       }
& |# g  b1 B3 [+ l; n       echo '</div>';
- ?' M: `) E- l   }
6 t4 E% f5 @/ Y6 @. Y! Q   ?>3 B2 g. J6 ]( G0 L9 j# Q
   ```. b: R7 e! f4 @% S7 T& ^
8 k  K1 [) s- c7 L, m6 t1 h
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
  n) b# @& u8 v$ X5 ^/ ]
. F1 L, L2 b/ v* ^请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

344

主题

559

回帖

3646

积分

管理员

积分
3646
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
" j7 T) H  @# @. X. f8 s. P% j  u  v" }+ w. O4 N8 k
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
" m* A0 g0 h' d+ l6 l9 y; Q7 V- V6 }% o: \( X
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:6 j/ F0 B& m1 r- R
2 U: a) |5 N  M$ [& X  Z
```
4 L* Y; i: W; j6 \, Xfunction create_custom_post_type() {' K) y  m" b5 l9 U; j( u
    $args = array(
: u& K) R: v: y, ~2 R+ c  G        'labels' => array(
7 o& n0 w, W. D2 E( T& F6 O7 H            'name' => '公告',* _6 W/ G8 P) |
            'singular_name' => '公告'' g( `/ u$ u9 _6 _! [# B
        ),
+ B; A4 }3 z4 x1 g& u        'public' => true,
7 W% _7 X& w# [8 _9 ?        'has_archive' => true,5 _( t' j7 N: N5 X0 D6 u+ d) m
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
* Y' f, P, W4 i+ u0 y- @9 X8 J9 G3 ?        'taxonomies' => array('category', 'post_tag'),( n% r/ k$ D" E
        'menu_icon' => 'dashicons-megaphone',
/ I' F0 T( Z/ d* H( k        'menu_position' => 5,; v: a. I! J8 \: N9 i
        'rewrite' => array('slug' => 'site-wide-notices')2 {  ~, P, U  t
    );
1 n2 d: t$ _/ O7 H4 l    register_post_type('site-wide-notices', $args);& w( A  H+ g% m
}
) o; {' Y0 A* @+ n; {8 A/ [% ]$ Qadd_action('init', 'create_custom_post_type');, R# m8 }; C* e# u7 w! J- b) b
```1 Q' o- V8 o" _0 m( k

4 i1 {& l, J6 k& J2 S在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
( k: w4 ?- C! W1 I/ y5 `
. Q, d# `% S0 J8 D2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
2 b5 m- l2 x8 r% P% s' B% H/ C6 ~
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:8 `0 s( w# T. |) g8 T
, e9 Y3 R; O6 x5 j' V6 f2 i+ B. V5 Q( M
```7 F3 u) P5 i  {2 |# s. }
$args = array(- r7 [  S4 H) j' O6 n% i8 ^
    'posts_per_page' => 3, // 显示的公告数量
& T+ A2 {4 P, A) @9 K6 l3 O+ |: W    'post_type' => 'site-wide-notices', // 公告文章类型% x+ t( p' x' t0 i# Z
    'post_status' => 'publish', // 公告状态* p1 R3 E0 R2 x7 F
    'order' => 'DESC' // 排序方式- s8 z" K0 [. u
);
; u2 S( s8 E7 M8 J* X7 E$ u+ y+ C  Y! Z, \* \
$notices = new WP_Query($args);
7 g. v- v6 [; a1 a, e3 @if ($notices->have_posts()) :4 I. ~& X% x8 t7 Q! ^. _
    while ($notices->have_posts()) : $notices->the_post(); ?>( X: i9 r/ B* f, r  r8 O
        <div class="notice">" A7 N$ N: A! N+ i( c
            <h3><?php the_title(); ?></h3>) Q. G1 W4 S% B  @
            <div class="notice-content"><?php the_content(); ?></div>
* G4 V! J7 p( k2 O        </div>3 u6 O1 Q+ W. o5 E$ i0 V+ v) B
    <?php endwhile;
: U+ [7 f7 h" Uelse :
2 E5 h! W3 N. L! T% v* H; O    echo "暂无公告";* z) b* |9 c' E) t9 y
endif;
& Q: Z5 {9 u2 R& `% T! Kwp_reset_query();
- z, Z- U/ t' }& P$ z- I. c```
9 ^/ S# w6 |, w; T5 w' D8 h( [% k5 A4 I7 m3 z6 x- Q
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。4 e4 \0 Z4 \% [' u, H, }5 `3 q

( v, e8 O6 @, G, x$ ?- G以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

344

主题

559

回帖

3646

积分

管理员

积分
3646
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?* j1 v! t* h! S' U- ~- H( K, U

% I9 v/ P: c$ k% j5 H0 M! O如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
2 g$ J  ^, ~  z# a( Z: j! g( G+ w7 s& m0 O
以下是创建自定义插件的步骤:
& {# Q2 I* D! ~# L
! E! v1 H  V2 A1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:3 |# O* |0 Q( _! L8 u4 U- ~/ s
9 s3 o! l, L. G; X5 h
   ```' w. }2 p+ i+ v' h  U
   <?php
. y; K( R. S, z0 }! ?+ ~   /*& Z5 `3 `( n9 V8 d) ]9 @" q( g
   Plugin Name: Site Wide Notices Plugin  K3 \& J! x4 b& r# S  Z
   Description: Adds a new custom post type for site-wide notices.  T9 e, b) Z" S% s
   Version: 1.0
9 [% w1 E5 J  W* ?! F9 V   Author: Your Name5 _, K. o1 y$ ~
   Author URI: http://example.com
/ ^* w3 J0 `* g- {" u3 H   */
& o+ {/ \. q! L% M2 Q# o) i; J1 G. _
   // Add plugin code here...
; G, l' g: F& D   ```
" @3 v. z6 k) V1 n" o4 N
6 R' g, K4 S3 r: W4 b   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。6 h8 h& |: I: e- |' D" K

: R1 F9 R* T' d6 T+ o# f2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
$ i8 g( M1 p7 o& E+ b' b
4 N/ [2 ?# b* H' Z   ```' V3 j/ ~& r, ~; R+ a4 o9 q$ l: _
   add_action('init', 'create_custom_post_type');5 s" X8 S# B9 K$ q0 u5 H
   function create_custom_post_type() {$ }3 r$ S7 a$ w& K4 e
      $labels = array(
; b( \: v: z4 c( O9 Q/ x          'name' => 'Site Wide Notices',$ m. C, Y) d$ S' C7 P" B5 t: v
          'singular_name' => 'Site Wide Notice',- C( s( {" Z2 N- p4 `1 [
          'add_new' => 'Add New',. k0 s+ m) |7 n- ~! l2 Y' V
          'add_new_item' => 'Add New Site Wide Notice',
# Y5 M* K4 G( F' L: u+ u& {4 B6 N. u          'edit_item' => 'Edit Site Wide Notice',) g# b4 j1 N1 @6 ?9 K" w
          'new_item' => 'New Site Wide Notice',
# K# Z. n6 y8 w  a( e! ?0 K& c" u  R" @          'view_item' => 'View Site Wide Notice',
2 G* |( M3 ]! G$ s. Q- w          'search_items' => 'Search Site Wide Notices',
, O" E% J$ ^/ [) |8 A  B$ N0 i; Q          'not_found' => 'No site-wide notices found',
2 x2 z0 P1 T3 `* l' K' Y          'not_found_in_trash' => 'No site-wide notices found in trash'7 P* V/ ~! ]0 @4 X6 Q( x
      );
, G9 f4 p1 \2 r! k" O
2 \* z3 v9 m1 W: Q! l7 c; V      $args = array(
# Q9 t" z* q$ C$ c# b7 W! D+ E$ T0 y          'labels' => $labels,
5 B4 z" o$ h7 h          'public' => true,, ]% V6 k9 O% A6 S
          'has_archive' => true,, E1 M. k0 Z  C5 l
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
+ m. T$ t. F  ?0 t+ L+ U          'taxonomies' => array('category', 'post_tag'),
- b- q/ _& {6 z+ ]& j0 |          'menu_icon' => 'dashicons-megaphone',
& i' o) j( w6 H( R  }          'menu_position' => 5,
8 I7 y2 ?- s$ m$ z! O, C/ ^4 ]5 b3 {          'rewrite' => array('slug' => 'site-wide-notices')
5 ?: J/ w2 m* {! Q- L6 Z' X) |      );
) Y: c0 A, J; R+ {' }6 \: W, j- v9 q! @3 i: C
      register_post_type('site-wide-notices', $args);
! z3 j  l* S7 [2 ]4 j   }
4 a0 F1 B' u9 G& b   ```/ ^/ M6 ~) O: T. R

0 N$ z& [2 z( u5 h/ m# F   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。0 x% u% t' h2 M$ @+ j; x1 I
, W% ]! T) B+ r
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:7 L+ Z: \, d3 Z7 ?% r" [

/ h6 U+ v! J) X% t- Q7 ~; V. F   ```1 n1 u) m( ]4 d9 ^5 ~1 L
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');. V; n: L+ |+ e: n6 m# \
   function add_site_wide_notices_boxes() {- w3 Z+ }4 ]& ^1 T  T
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
! M4 U: g+ ^3 M( {' s: ]   }3 P, V! ?9 o, Y6 s: j- U- L9 l! M

" k6 e( C# S& k+ Q1 d' g  o7 _   function notice_details_meta_box($post) {
: R" K4 ~3 u$ Y8 G$ A      wp_nonce_field(basename(__FILE__), 'notices_nonce');
5 q8 j' r0 ~6 Z      $notice_title = get_post_meta($post->ID, 'notice_title', true);0 n( e' k5 F) {- ]4 z& D
      $notice_content = get_post_meta($post->ID, 'notice_content', true);% r) ], ^8 N. d$ t) `
      ?>
$ S7 Q8 x4 w5 l" O      <p>
, S! Z2 c1 [) H" I# T( c          <label for="notice-title">Notice Title</label><br>
2 g: e8 x0 t8 t% o          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
% f5 {8 f1 V( l6 A6 H- _5 s% t      </p>3 g+ Z) z* P- a8 Y& g- _
      <p>
9 v0 r* D5 |& r- d- m3 u# O9 a; `          <label for="notice-content">Notice Content</label><br>
. y( y* o( w+ y8 e: [          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
7 y, e7 J. S( e" P% t, Y      </p>
* F, ?5 F& w9 ^9 H' b4 g( K, K: p      <?php
0 }; m1 |: x% ~. W0 t   }# l) x8 k7 I& l+ J, P4 b
# }8 |: x8 B' E4 b) K5 a" [2 f
   add_action('save_post', 'save_site_wide_notice_meta_box');
7 }3 Z: d3 t% C8 }1 B# [   function save_site_wide_notice_meta_box($post_id) {
; Z+ h1 I5 v+ G; J9 `      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
7 N6 V' T( w1 ]$ \1 k$ M1 J8 o4 B4 O         return;- }! T1 R0 S5 D& J6 Z, C
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)0 m$ J; T, v( f0 h
         return;0 L: p0 {! I9 y3 O! S+ \2 f2 D
8 o8 s/ O  |  x% q9 E$ E& V5 R
      if (isset($_POST['notice_title'])) {- d5 S! }+ _; I; }. S" f2 h/ V
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
- {0 R7 a1 G7 k0 _: H      }
% }* a$ ?2 Q% c& k      if (isset($_POST['notice_content'])) {
$ y6 y5 K" Y) k) W          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
& |9 c8 M7 @9 \* J# `6 g& h$ E      }
& I. U; H+ @" M   }' i1 ]9 W2 ]! B$ P  {: H8 O$ d
   ```
4 N2 U+ J# x( d% |9 @' [- D! ^% b# {" M! M* q4 f0 }
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
) ~; ^5 r7 U+ f, `5 d) H6 {+ T# @& l8 r1 q
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:8 F" Y( K7 j1 Z' `4 F+ w0 N
9 K" t& }6 w2 \6 |% Y* j$ q& Y
   ```" e0 `$ X: q7 j' _4 x: `
   $args = array(
; r0 S# b1 i  Z      'post_type' => 'site-wide-notices',
- _, a- G  C5 o* ~! ?      'posts_per_page' => 3,# k& C0 Q, @4 b, r0 m0 X& L: e' z
      'order' => 'DESC',, p/ j# b2 X* |2 s- M" m
      'orderby' => 'date'1 T" H; ]" l/ v; v4 F
   );4 U' M. S3 R) [% |( b
   $query = new WP_Query($args);
9 n8 b8 t- {' J) C- C   if ($query->have_posts()) :
( S( }' w0 F8 n% w' k) J      while ($query->have_posts()) : $query->the_post(); ?>
4 J# a2 q3 d" T' f6 R4 a2 `" I; T6 O          <div class="notice">
; y% H1 B) }* a5 x% Y6 j7 ^+ A$ P              <h3><?php the_title(); ?></h3>0 A3 y# S2 L. L& J4 t% L' [
              <div class="notice-content"><?php the_content(); ?></div>6 Q. q& R% d  Z4 `' m0 G4 K
          </div>. M1 U$ p1 }* x* z7 s
      <?php endwhile;" x; C" |, T2 p: k
      wp_reset_postdata();
1 @% T! i1 m4 d' f   endif;( A0 F, e3 p* s" d# s& F
   ```0 T; ?5 h: E/ y& Y

, ^1 f" a$ Q1 r8 \8 R% K. O. v   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-3 14:13 , Processed in 0.013432 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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