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

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

[复制链接]

340

主题

529

回帖

3532

积分

管理员

积分
3532
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
) i# [  |  h2 M* J8 |, W
0 U; ?: R9 R" Z* h8 P  E& i1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。$ R) W. b1 k2 m/ S/ m+ z

3 x/ W# o: f; k/ j/ _2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。8 V2 [# u1 a" e' O

9 Y3 `; X) \3 D9 u# `5 M2 t, n3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。6 {( `% ^* g* H; q: z; `2 {
, s  k5 o" y( \% t
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
1 T2 p* x2 ~) ^" l  }4 |8 f- G! X* c; M
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

340

主题

529

回帖

3532

积分

管理员

积分
3532
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?% @, R- ~5 e* o5 y; {
7 S( G$ ^  H0 \
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
( a# o/ b9 J0 }" r+ S4 f/ A9 z# p$ ], Z- K4 ~+ n8 U, }) s; l
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
6 c5 V5 X5 n4 ]& I( q8 S
  Y& y( Z5 z. H" w+ Q' e   ```# g& R5 D9 j# \& p/ @
   add_menu_page(
4 E0 r; _$ t' x       '全站公告',+ t( y2 _/ w* e& B
       '全站公告',
7 i2 h3 B$ C  p' A) j       'manage_options', //需要的用户权限; Y2 t5 s7 }8 V3 W& H
       'site-wide-notice', //后台页面的 slug' H0 I$ j0 ~0 B+ @  L0 ?
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
  o7 \- E; I5 g6 l( R       'dashicons-megaphone', //用于显示在菜单中的图标. s  X6 S( A$ t1 P$ W  t8 ?
       30 //菜单项的位置7 k. z. a" P$ T+ i/ B
   );4 ]- \1 Z- T4 u$ W
   ```5 ^1 R9 k- i; T, _
3 u7 Y0 M# N) h/ @1 i# L
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
& s" M) `6 C4 f. p& t4 R8 q, l7 T. M) j7 L  h$ l0 ?- f
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:1 e4 I/ V) y2 Y2 e" ^
" [% w7 c5 X# W" M' A
   ```4 q6 A' _7 s: U4 n! V
   function render_site_wide_notice_page() {
+ n$ G3 }3 M' \/ ?6 M      // 渲染后台页面内容
- u+ k/ L4 R# @" S2 Y      echo '<div class="wrap">) S6 m9 x7 C5 d- z: y+ {% w
          <h2>全站公告</h2>9 M5 n$ d( x# Q3 |1 d( q$ q% [7 o
          <form method="post" action="">
, r# A$ B6 S$ H) c              <label for="title">公告标题:</label>
0 ]5 Z, _0 C5 |              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>$ H4 W$ F+ J5 {* U
              <label for="content">公告内容:</label>
- s4 W2 D' a8 i' o+ ?; |' F& Q              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
7 D  B0 l" b/ n  O              <input type="submit" name="submit" value="保存设置">) C. b4 H: P- }7 ?  m8 o
          </form>
- Q- g( m9 D% w  Z0 q      </div>';
: |' o+ @! p1 @- V+ B  J* l/ j
  @0 d* i, u9 d+ ?6 P9 p7 B      // 处理表单数据8 N; J2 Q, P' |7 q$ o/ z( i4 }4 T
      if (isset($_POST['submit'])) {* H, X$ q- R2 m6 W3 }/ ^
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
& R; P1 M) p' ?  V. r          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));' o( K5 L4 H5 n6 q  E
      }! t6 L0 G, V' i. p; ^
   }- m( a' M# @# o/ q3 K
   ```  z; L5 g3 U2 {8 a- A8 H! A- @

0 X9 b; G0 M3 H  b5 F2 R5 V   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
( t6 i. ~+ l% w- _8 t- u* C- u/ i
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
1 q, \- B3 \9 q
; I* l+ r% @+ b. b   ```. ^  T  A- S% r: e5 A7 |/ c9 m
   <?php
) a! Y' a! y" B   $site_wide_notice_title = get_option('site_wide_notice_title');% G% \( O- J2 o  W' ^( f* C
   $site_wide_notice_content = get_option('site_wide_notice_content');5 ?: f3 E- v3 i( o! T- t- f+ c
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
3 [9 k3 [2 o; S) s) ^( k       echo '<div class="site-wide-notice">';7 X6 l% `0 [# ~5 l& G/ k$ j
       if (!empty($site_wide_notice_title)) {
6 ?  ]2 h% Z" J) ~) K: m4 u           echo '<h3>'.$site_wide_notice_title.'</h3>';( n* n, Z3 N- C) M: T8 i
       }
# Z' d" \8 x/ q$ O) o' J3 p4 Q       if (!empty($site_wide_notice_content)) {
& ~% {& z9 I- C9 r! q2 E8 ^           echo '<p>'.$site_wide_notice_content.'</p>';8 @8 E3 x0 `& U
       }5 y% x% `; _* f9 q5 A+ ~  @
       echo '</div>';# o0 R: `- `2 `  M, F/ v
   }; O. m) U. A# b& f  f
   ?>
2 Q1 T# ?7 m0 A   ```
' ?1 u( E$ c: c. j. `  _$ a/ W9 T
* K- Z5 a0 [+ J& i' ^5 {   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。" K$ q: \0 s/ S1 B
& ~9 E3 L2 C2 u, }* B
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

340

主题

529

回帖

3532

积分

管理员

积分
3532
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?5 S- \0 F# U5 |
$ U! t4 x2 A  {; |( r
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:+ j+ g, e9 \; n% @
0 E9 [7 G, f+ C$ ]/ w
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
$ K) w, M" S3 ^1 k6 q9 U# k# Y/ Z/ F& B% H+ o( ~
```! R& E; J4 B. D3 U4 U& @
function create_custom_post_type() {2 K5 W& U4 D3 X6 y! b; e0 ^: O6 W
    $args = array(; o$ ], z& A" z3 B: F
        'labels' => array(
( \( A! k5 k3 S3 t1 t! V5 L2 _            'name' => '公告',5 C" M: N( l6 j' J  ?
            'singular_name' => '公告'$ X) C/ Z/ n( v6 ^
        ),$ _, j3 @. n% {: h+ Z2 b/ K& o
        'public' => true,) [8 E- b; u% g
        'has_archive' => true,/ c  f2 f+ h1 ]' ^4 D" v, e3 m2 T
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
2 z& x( B; f! i        'taxonomies' => array('category', 'post_tag')," P6 D% K6 F3 T, u% Q/ J
        'menu_icon' => 'dashicons-megaphone',
, ]# \5 `# V$ ?0 w$ l! [        'menu_position' => 5,
& f9 V- }- l7 s* I  I        'rewrite' => array('slug' => 'site-wide-notices')3 f' }2 w3 s% A  k1 c9 _5 f, P* K
    );
6 S1 v0 ^. q8 h6 _    register_post_type('site-wide-notices', $args);
/ j2 N, X: K  F4 s8 n}0 l: S& R% i3 l0 G( h3 E- W: x6 w
add_action('init', 'create_custom_post_type');
7 g% V+ P4 ]4 y1 ^```3 }- s( j; W* E
. f; U+ g- D. z9 V' @; h
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。( e$ \- K4 l: g, _* z
3 g4 n( E" `$ k% m* q7 K
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。( T4 W# T/ g2 c  q& A1 @

& H1 Z# ?; h  A6 T; x" c2 Y% ]4 F3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:6 i% @9 o8 U" o! w: [/ C
/ p" Z9 u' C& }1 I2 f6 E
```& t. y' I6 I4 q8 b3 O  N) p8 G
$args = array(
; ~9 k# v5 i8 Q1 ^    'posts_per_page' => 3, // 显示的公告数量
/ Q/ U# y, Z6 V' X* r+ J! q    'post_type' => 'site-wide-notices', // 公告文章类型
; v5 w- r/ R! D9 Y7 w) f& p    'post_status' => 'publish', // 公告状态' @6 ^- R/ P/ r& h5 Z5 k
    'order' => 'DESC' // 排序方式
' M2 T( }- ?9 c+ q);
6 n4 Y. x/ W9 ?# M) F2 ~0 S- k4 I0 i  Z. t3 m
$notices = new WP_Query($args);
, G3 k0 R7 K4 R/ |if ($notices->have_posts()) :, d; x3 K5 A$ i
    while ($notices->have_posts()) : $notices->the_post(); ?>
" s; F9 O/ E$ ^) ~2 t( i  i/ |        <div class="notice">
1 j# T  ^0 }8 U0 o; I' [7 \, y5 H  ]            <h3><?php the_title(); ?></h3>. f. s& c$ l% Y8 t
            <div class="notice-content"><?php the_content(); ?></div>
/ A  [2 j1 b& G( |$ r2 P! Q: B5 g        </div>6 `1 S. f2 ?* K" ?6 Z$ s4 W( p
    <?php endwhile;
5 `- ^# i/ M# w# Z1 j* aelse :
! o. I  K3 N9 Z* m; v    echo "暂无公告";- L" w6 X7 D6 Z  P
endif;/ C; s- I# k0 b
wp_reset_query();
. X/ T. F- A7 J  g: q3 l! `% \```4 v7 e- o# X, P4 z1 ]- Y
3 [( K6 Z' d$ H/ B
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
! T% t, I7 T6 O7 y. Y
; U" Y: w/ ^! K' v8 Q以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

340

主题

529

回帖

3532

积分

管理员

积分
3532
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?6 [3 P; Y. n+ \) e

1 q, w# x9 m2 F# P如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
+ Y9 f: r+ L+ Q: k  @6 b7 b
. q4 P& s  a$ j1 k) R( ^以下是创建自定义插件的步骤:" J/ j' M8 b; P3 E. }7 e7 t# r
9 j, @/ |5 W6 e: h2 j, j. q# R/ K
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:) l7 z. Q# W: P! M
/ g) a) h- Z) d
   ```' {. ^8 e2 W+ g4 o5 i7 z
   <?php) z4 s1 `/ y* N: r. B& b$ _: f3 l
   /*: A  E  W: V$ D7 ~
   Plugin Name: Site Wide Notices Plugin
  v9 O, E0 o$ I: B# W   Description: Adds a new custom post type for site-wide notices.0 @4 b+ o5 ~9 g) x
   Version: 1.0$ V& I% \2 Z8 J5 Y/ x( d% f+ @
   Author: Your Name
+ j- a# k1 I$ v0 W7 ?: q% P6 S( {   Author URI: http://example.com
7 }2 k7 W4 y- E& u  y/ i: [   *// Z. M# `# C" t- y) l
" l! V! d% E* N( K- `6 j
   // Add plugin code here...0 b4 n; e1 Z; ^0 B% _  R4 [/ L: G
   ```
2 L! t! k1 W5 c3 ?& {/ Q9 N4 G3 z! }) d7 Q6 F- J% O
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。% h5 b- i& D$ u* X( Y7 b# S* G! B% j
% z# P8 B$ c9 ?' z' U
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:. i/ u# m0 N" U0 h

3 z+ I+ E7 b; |2 y& [   ```
. L, _6 u' `6 K  ^( @! ~5 H   add_action('init', 'create_custom_post_type');
* J; C2 ~/ X; X   function create_custom_post_type() {9 w7 C3 P5 ]3 l4 ^' Y- \/ |% y
      $labels = array(
* n8 P5 Z* x5 l' `( B          'name' => 'Site Wide Notices',/ v5 \! a/ \# p
          'singular_name' => 'Site Wide Notice',
- m6 {) B* r! \  w8 W1 S/ M          'add_new' => 'Add New',% u  r% o# y6 i7 c; ]6 L" ~4 K
          'add_new_item' => 'Add New Site Wide Notice',. `4 B8 p# _* K4 {9 S+ e
          'edit_item' => 'Edit Site Wide Notice',
6 ?; Y+ V+ X" Y9 H          'new_item' => 'New Site Wide Notice',0 ]9 R/ M# H" K
          'view_item' => 'View Site Wide Notice',+ k& d0 a% X) b3 I" p
          'search_items' => 'Search Site Wide Notices',9 f" n% W, J, g) H( B. _
          'not_found' => 'No site-wide notices found',
; t3 A! ^4 z' c9 M& d9 F* m5 i- C          'not_found_in_trash' => 'No site-wide notices found in trash'
9 `* L# Y9 m- K2 R( W: M      );- |, |* j! [9 ^" R+ Y

+ M3 q5 s" L3 ~% @' ^      $args = array(; n0 x2 U) b3 U  w4 @$ V
          'labels' => $labels,' M  F2 y8 V  X0 {: V
          'public' => true,* Z( c, V& L& G3 [
          'has_archive' => true,4 z7 P; F" j/ a8 k
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
* V& f% f1 C3 }          'taxonomies' => array('category', 'post_tag'),  o6 i/ K0 D$ B2 [% @8 ^
          'menu_icon' => 'dashicons-megaphone',' h3 S- n/ {! V' }6 ~
          'menu_position' => 5,
% o( f! f! T: h' t1 U4 M9 T* C          'rewrite' => array('slug' => 'site-wide-notices')
) e2 u, `$ i  C2 s+ W      );) S2 Q4 A: @! Z5 ~" G. a# P2 r, y

4 Y) o$ J7 p5 N4 A      register_post_type('site-wide-notices', $args);
1 [/ {, y$ @2 r3 p   }9 p* O7 c. \% _( K3 T' C/ M- |
   ```
7 n+ F* @2 e( O2 m5 E) ]6 t9 x  j6 F" a0 ^7 V( B! U9 [
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。# w* E! o+ Z1 p3 d

& H/ X6 N# Z/ @: _; u# j3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:" Q( e1 b, M0 `7 c
# n9 o2 e+ R4 n
   ```
  z' t- i$ |2 q/ X& C   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
, k1 O, n2 L0 q/ k8 `' A( Z9 C4 v   function add_site_wide_notices_boxes() {9 B; M- f7 K0 T. x9 Y
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
* H) a$ m) Z; o   }% F0 p* B' H- g: o
0 ?3 ^/ v! k2 U
   function notice_details_meta_box($post) {
7 J4 z* V, C# s      wp_nonce_field(basename(__FILE__), 'notices_nonce');
' s. D5 k0 M$ ?1 o0 H6 I' A      $notice_title = get_post_meta($post->ID, 'notice_title', true);
/ l7 f" G8 s" B* E. a! y      $notice_content = get_post_meta($post->ID, 'notice_content', true);% T3 u5 q0 s% g: Y! j
      ?>
) }# O1 p7 [' _: P) D& H      <p>
: d6 j2 R6 \! Z- \  F          <label for="notice-title">Notice Title</label><br>. ]1 q, J& k9 Q( V! `" Y( P
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
  U! g6 r, m/ I1 r5 K9 ^! d      </p>
  q. A( a. Q+ j+ U# R* S6 ?  f      <p>: M" \$ a- N* T
          <label for="notice-content">Notice Content</label><br>! @4 K% |5 f- X' X( _- f
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
0 a% s; C: ]- D8 h! A      </p>: b6 k5 M8 ~" [% l2 v/ o
      <?php
# F2 v5 f) x) p. l$ Q" V; v+ z   }
+ ]% U) P/ b; S+ u( M( Z
: o# Q& u3 X' F2 G( u6 u1 _   add_action('save_post', 'save_site_wide_notice_meta_box');
1 `/ C5 y3 K7 }$ N; N1 l: ]   function save_site_wide_notice_meta_box($post_id) {
. H# `8 u4 a1 \0 A7 |8 ~      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))/ K/ t" i, W6 \% C+ w  X
         return;
3 B, U' @2 O9 r& ]: u/ i/ ^      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)0 m. V8 [) y% N6 _) N$ N+ |
         return;
* Z  n. p: Q1 {  ^' |
6 y6 M5 {% U+ h$ _* @9 i+ o9 X( R      if (isset($_POST['notice_title'])) {3 Y2 z- S/ J" H! B5 R: M& C3 B
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));" u9 M7 B1 I5 Q) H" {" V
      }
, g% t) o3 J' ^9 u9 F      if (isset($_POST['notice_content'])) {. B; n3 I$ n6 J/ z* Y- R1 b1 x& G
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
6 k1 q3 p7 U) X' E. j      }
. o1 T* T, T. i& M2 M  e   }8 E2 X2 {5 ?) l+ {* ?
   ```
/ t( M' K5 Q( e! e6 I- F) x
( o3 ^0 H# u; U( a/ P' F   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
. j5 A& p6 V! Z* y6 ^, p- R1 _4 l* ~  B9 F0 ~2 t
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:( u/ L, ~# \2 Y% e8 t5 X: j- D, r

: t& \# r; u/ _7 l6 D8 w& v   ```
, {# {  \  t9 K" m3 K% N   $args = array(
& r! |8 P" ]% ]; Q, D6 x      'post_type' => 'site-wide-notices',
1 L' D: x2 ?4 y) m! S      'posts_per_page' => 3,  Y# l  {. g2 N0 T
      'order' => 'DESC',
& I+ }& Y, q+ X* y      'orderby' => 'date'5 \6 V7 y2 z$ ^( n/ r" ~
   );
, I1 U7 q; M) {# ^   $query = new WP_Query($args);  H4 T  X( J5 l" a! P
   if ($query->have_posts()) :) V: L* Z$ x/ _/ f  I/ N; V( T
      while ($query->have_posts()) : $query->the_post(); ?>% ~0 M3 ^; T  F4 W
          <div class="notice">
  E7 V) Y/ X5 T: h4 m9 E              <h3><?php the_title(); ?></h3>- _9 z, f* a/ w4 _0 V' B6 {1 h
              <div class="notice-content"><?php the_content(); ?></div>
. p  b* Y( S1 X) }) u          </div>
8 D8 O& p4 ?9 T  G      <?php endwhile;; T& c6 S/ b9 e7 L
      wp_reset_postdata();) }$ d; |# m% m( x! f9 U% k7 R
   endif;$ s8 e/ S2 K5 `6 B% I: s  A
   ```- P3 D3 ~# j6 c8 U4 d, {

& E0 M6 m4 O% ~8 ^7 `# l   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-21 00:00 , Processed in 0.038445 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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