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

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

[复制链接]

340

主题

526

回帖

3516

积分

管理员

积分
3516
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
& D, B& x# r0 u
+ ~# p/ J: r/ [1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
+ T, b6 y' L4 W: l) v0 J) n  g' L- U. ~
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
1 u1 y8 }2 N; m& Q' X( E& E9 w( R4 d& M) d3 a
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
8 {- h! e$ Y' P7 _5 e
9 \2 `: h" q9 B+ [8 I, K4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。7 m5 g2 v$ l; Z$ v7 \
' J. o" [$ c$ d
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

340

主题

526

回帖

3516

积分

管理员

积分
3516
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?' m2 L  Y( v  j" D; |  w
  q7 n- _, m" w5 l) a
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
4 d* j* l. [6 l9 S$ B- ^( B/ p2 J  B' v0 W8 d; C
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:2 }' }" Q5 b- R
& ?+ v* P; g. x9 X9 E" y
   ```
9 F: M7 z. `, Y   add_menu_page(& S; D' Z" z, A- f$ Z3 A0 H
       '全站公告',! d3 }& e& p; G/ b
       '全站公告',& u( H. B( d( F; g6 P7 l6 T
       'manage_options', //需要的用户权限) ]8 V+ F: o% ?! B
       'site-wide-notice', //后台页面的 slug
7 U/ |; Q% t! [$ F8 d9 N       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
0 h2 |6 o, t$ L* N/ W! H+ [) l5 }       'dashicons-megaphone', //用于显示在菜单中的图标
/ L- B0 t* U8 [  L3 Y       30 //菜单项的位置0 E) s6 Y- h. X9 \  ?
   );
( I4 v. D8 a1 ?" n: B) P1 l9 t   ```: M: H5 B6 [( h# H: P$ g

$ B: Z/ J2 y% E1 k2 ]   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
, ^5 X6 B2 z  {6 a
5 [# D: y8 \& y7 U5 B2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
9 Y( o7 m( \5 g
  K, O: @. i8 v+ x   ```$ P2 y* m" t, z
   function render_site_wide_notice_page() {; X. J9 r3 ]  R7 j+ f6 g
      // 渲染后台页面内容
, f6 q( L7 }: f7 ?      echo '<div class="wrap">
4 N" M- `2 b# ]: J# [          <h2>全站公告</h2>
0 g+ f" Z9 E* O6 o- u; p' K          <form method="post" action="">
; Q4 B  n$ g7 g              <label for="title">公告标题:</label>
% X8 b0 i( \) e) t" F0 D: e              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
. l# @- x6 q) Y$ ?8 `              <label for="content">公告内容:</label>6 u3 S- }1 w* D% f$ j9 z
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
, S, `+ i6 _- R/ [              <input type="submit" name="submit" value="保存设置">
+ n9 b3 \  q2 L" w+ y7 b* @, H          </form>
% q! `0 ?4 a  s  n      </div>';
# W5 F2 w) X. d7 c& S
, T3 p# ~9 K8 C! _! @8 f6 |      // 处理表单数据2 j1 G/ @6 V4 a" |
      if (isset($_POST['submit'])) {
! P% |" k# l5 a$ W; K          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));" |- m* B6 U* z
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
  N( X3 T) _3 \9 ~1 g      }: F2 u6 ]" V6 U4 K
   }
. x& V1 o2 r  _# o/ w1 ]1 R3 _   ```
% i' o2 q' R2 }1 p8 d2 z, C1 I" i- b; Z9 [* v
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。/ b7 e- e- X6 v. }. }  f; C
6 m& J. B2 h; X0 X# h% V
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
8 `5 q9 |2 C2 p1 l1 ]  w# J. i- C- I0 D1 I/ X5 @5 k0 S
   ```/ h7 U! J# p- ]3 v9 ?1 }4 B8 j8 F! _
   <?php
+ k" b, i# \* O% F$ Y( {& V" N   $site_wide_notice_title = get_option('site_wide_notice_title');: |6 M2 i$ C8 B, A+ A
   $site_wide_notice_content = get_option('site_wide_notice_content');2 u& w) e$ N$ x& w  D! ?9 v
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
% K( \! W0 ?( ]& @       echo '<div class="site-wide-notice">';7 k" J- F/ c: e; C* }/ ~
       if (!empty($site_wide_notice_title)) {% w- L7 `$ r& |- f0 b- }9 \
           echo '<h3>'.$site_wide_notice_title.'</h3>';
- r8 x, ^5 c9 F7 Q% X3 ]       }/ S, F/ C; _7 ^! I+ |
       if (!empty($site_wide_notice_content)) {
& [) l# ^6 _6 ?! o           echo '<p>'.$site_wide_notice_content.'</p>';
' N! [$ T! ]1 J( ], P       }/ D5 F# R0 [9 e* U' K
       echo '</div>';
/ i1 B: _* b( n% ?/ H" |8 b/ T6 v   }
  c4 W* l2 y0 Y! Y! D& Q/ ^   ?>
8 J8 W/ y3 d0 w" v  _   ```
  Q, b4 C" q9 F" N9 f
$ _3 j5 x: e4 k( ]   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
* Z8 D* {$ x4 B( N( w
) J) R1 R4 U% k' t请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

340

主题

526

回帖

3516

积分

管理员

积分
3516
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?2 w- [3 {4 [; h; u+ U. c& H

; Z, U1 y6 q! D# m# i* k您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
  ~* G8 ~+ N8 {4 p% ]# J  v
5 s/ C7 K8 s/ K3 S  m; [1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:" ?! P2 Z6 P, k$ ?3 [# G

/ x& T! P" s; E: ?" |1 Q; w```
, z, p" }: V9 R5 j0 pfunction create_custom_post_type() {
' [% y. _- `: T% L0 _; g    $args = array(
/ V4 y! Q, D" y1 S8 H5 r. [        'labels' => array(9 `' l* U# y# B% D4 m
            'name' => '公告',
2 R3 ]9 K( s: Q9 S% g2 m. w4 w            'singular_name' => '公告'7 g$ g7 A; B5 S$ W9 }- _8 j7 n
        ),
% n1 |$ L: Z0 l  }        'public' => true,  v6 I: Q2 O8 n
        'has_archive' => true,3 u. p5 G3 z4 ~0 [8 g0 t
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
% o, t/ }7 \( j) x& [        'taxonomies' => array('category', 'post_tag'),
% I" Q: p" M" Q* t9 J        'menu_icon' => 'dashicons-megaphone',3 T; Y1 b. n+ f) y3 @8 o( F
        'menu_position' => 5,2 {3 H( Z; @5 p% r% ^- ~
        'rewrite' => array('slug' => 'site-wide-notices')
! d. u3 z( m, c" |# p$ Y    );5 K$ _6 y& e+ M7 _7 g
    register_post_type('site-wide-notices', $args);
/ i+ v% A, A3 I" r, O2 W}
3 ^, s) N4 {, w3 u0 o/ {add_action('init', 'create_custom_post_type');3 Y$ g$ l, B1 U- b4 R& f, s
```
. ?4 v1 j9 I1 C% [( g1 F, _+ a5 H: H6 b( y: ^7 Z- m" g  S3 P
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
# Y4 c, ~/ L' A; c$ Y2 x1 \5 x" G6 G% `
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。! K* X+ F( }& T! D

7 o& [3 }! F& g! I: }3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
$ {% I5 ]9 F9 g- u* _$ v! p0 Q% M; e( u) B; d2 _7 ]( a, K
```4 Y1 Z( B/ e! T4 A
$args = array(+ @; c9 }8 Z  z+ a' c- m  f% ^
    'posts_per_page' => 3, // 显示的公告数量
# e+ w+ q1 S& G  e& ~# J    'post_type' => 'site-wide-notices', // 公告文章类型4 {! O5 x! s8 b- k; E
    'post_status' => 'publish', // 公告状态7 P  T% c7 a8 d5 B+ Y
    'order' => 'DESC' // 排序方式% f8 _6 s5 j+ J) W$ c" m6 y! z
);4 @% @2 N& e! X% I0 c
7 B5 `3 ], f  R& r( o
$notices = new WP_Query($args);* }6 [/ y8 K( |2 `6 K$ H8 N, S6 d, v
if ($notices->have_posts()) :
3 L6 j' D5 }4 K4 O9 j$ c    while ($notices->have_posts()) : $notices->the_post(); ?>
$ ]8 d' T, {$ q1 _$ F2 i& H. |5 B; o  |        <div class="notice">
* C, |: B- h$ y  O            <h3><?php the_title(); ?></h3>
; o' F7 W/ G2 n) |0 M7 n            <div class="notice-content"><?php the_content(); ?></div>6 w; `. w3 `. d3 d
        </div>7 T3 N- T1 W5 \- o8 Q! z
    <?php endwhile;
; U# y3 d( j8 Aelse :
: b1 \# j7 |' `  {+ n5 e; B! ~    echo "暂无公告";
2 _' |0 B; `) \, E) |endif;3 Z7 ?# b( }3 [3 h
wp_reset_query();8 f5 R' t( m3 C+ h, V) b
```" A4 K# L, f. T% q0 N6 j

( n) [/ t1 u9 V: z2 `, ^这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。& S1 q7 i4 D3 F1 J

7 R3 y, w' J3 k- D! R以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

340

主题

526

回帖

3516

积分

管理员

积分
3516
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?# K0 H, Y0 y: n( |
/ |( U  w9 M7 u
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。# a. \+ o% @; N

4 `! e/ y1 w5 h( m' ~以下是创建自定义插件的步骤:, w& Q+ N) j( k% n1 W% S0 @: n, u

! l" B" \+ r1 z7 B1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
; i4 K- u5 d7 g- b2 [$ [0 @+ }0 a% R! D9 J2 n4 u& `, g: ]- @# ]
   ```
4 r  T' U. m- ^5 o) X4 r" D   <?php
  M$ T3 h. U) E. g$ }" x7 ?   /*
0 C5 f2 v$ N3 U; p   Plugin Name: Site Wide Notices Plugin* n" ~+ R! ]/ q$ p: g( N, k% e7 O
   Description: Adds a new custom post type for site-wide notices.- [$ F8 ^$ I9 {9 f5 F" J0 g
   Version: 1.0
/ P9 b$ d% z) o1 {   Author: Your Name
6 L9 ]$ e. n: S   Author URI: http://example.com( V" D* M$ Q7 x0 P: S& q7 m
   */
: }. p1 l  W, u6 P) m
1 ~0 u, D+ d9 s9 G# i* {6 d   // Add plugin code here...
- ~" i. `$ U: n* X   ```
8 h9 e" D" ]  a7 r+ n6 n0 Q, T% p, D3 l; x
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
6 R$ V9 ?- l6 ]9 u1 q  B; b# s
! ^: R4 Z) I  a2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
2 g7 G+ G7 b5 g' {! v
& r; R8 n4 H; ]+ o/ ?   ```
; P1 B  I5 v, _+ y/ z! Q   add_action('init', 'create_custom_post_type');( V  d2 t' Z" d- Q' M+ P
   function create_custom_post_type() {
2 A4 v- r8 ?! ]  }      $labels = array(
; e1 n  c. s8 F& {3 D, |          'name' => 'Site Wide Notices',- z+ e3 X$ V# J( ]1 d$ z* N' l
          'singular_name' => 'Site Wide Notice',
4 h! z* V4 U, n, _          'add_new' => 'Add New',+ c" t% G# }4 q3 c, r2 L7 D2 k# E
          'add_new_item' => 'Add New Site Wide Notice',
9 X2 k0 Q9 q& x1 g          'edit_item' => 'Edit Site Wide Notice',
: k/ a9 V4 T1 ^          'new_item' => 'New Site Wide Notice',6 B$ j8 D, _7 p' ]& ?' {
          'view_item' => 'View Site Wide Notice',
" h! W' t) b4 a          'search_items' => 'Search Site Wide Notices',- {* _0 u' \6 w8 D8 }" Y  ~
          'not_found' => 'No site-wide notices found',
8 P' {- K% v9 a, w* l          'not_found_in_trash' => 'No site-wide notices found in trash') z7 u/ H) F* @4 C9 }; S
      );, z+ r4 c" I% `+ ~( D# o' M. F

, {  C: f$ W& Z7 ?  M, ~* g: ?      $args = array(
% e) D: C3 f, }; C6 n          'labels' => $labels,- M9 S, c; p( h+ d: m$ f
          'public' => true,
4 p: v0 x% o. o8 k% ]          'has_archive' => true,/ L7 v* w+ E4 m# o- T8 w
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),7 F8 T; |2 r2 \- ]6 i6 m4 ~
          'taxonomies' => array('category', 'post_tag'),. p# n6 {5 x7 Z3 n1 I7 t7 @
          'menu_icon' => 'dashicons-megaphone',
5 ?# a( u, a8 m8 a. T8 I$ k+ X          'menu_position' => 5,5 ]% j# m! J; ^* Y2 X% U
          'rewrite' => array('slug' => 'site-wide-notices')% i7 K' Y- F% E; F" v  T: d
      );( Y- h. _$ a1 V
+ C; U6 n) G- \  I* h; v/ H
      register_post_type('site-wide-notices', $args);) l) i+ o! h0 Q+ C1 V
   }
9 z7 _/ K* K8 h. X! m   ```
0 F* E4 @) [; h6 E0 h! m0 G7 m8 {/ \6 ?- @
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。% k. s8 \' t3 @

) ^+ B+ W% ?1 |3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:7 Z3 ^2 c+ l/ r, Z7 L8 W; b
  O( {) T: `5 K
   ```7 w% r2 T# A/ _( A3 l3 C$ g9 M5 ^
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
/ W; w& X: S  {' ]   function add_site_wide_notices_boxes() {/ g0 Z$ E- w2 x* t- G
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');, R3 N+ j- F. f$ y) W! z
   }
6 W) v! Q2 o( E4 n: s6 h
0 @$ }; F( N, R$ T' k   function notice_details_meta_box($post) {, s1 I* J  J' L/ g% ^  u" e
      wp_nonce_field(basename(__FILE__), 'notices_nonce');
$ y& g7 g0 Z* l+ x# {0 d      $notice_title = get_post_meta($post->ID, 'notice_title', true);
. Z3 P4 g$ V( P4 k      $notice_content = get_post_meta($post->ID, 'notice_content', true);
* ~- |& G. p% U9 ?' F      ?>
" ?+ C9 P% m$ c2 c% ?& O1 V! L      <p>4 J: B1 C9 j) X$ H- Y. r- i* t
          <label for="notice-title">Notice Title</label><br>& T0 u) r% T5 i$ e3 u8 q7 Q' O3 L
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">3 j: j, G+ m+ X" G$ T0 @2 N. V
      </p>
, J; N# T1 Y+ z, @9 m" Y      <p>0 U/ C) K4 S$ _9 b
          <label for="notice-content">Notice Content</label><br>3 v2 P; U( Q1 @% P
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>  A2 `  j6 _# S2 i, F2 _# e; P' z
      </p>4 Q& @5 h8 `2 F3 L" I* D3 {, w
      <?php
$ C4 f: \; ~/ s" n& U  L# w  W1 V   }3 n1 k0 s( b# E: J" b! P$ V
5 b; H0 `# s% ~& P3 R$ ?1 B
   add_action('save_post', 'save_site_wide_notice_meta_box');) U( u- I2 v$ \! y
   function save_site_wide_notice_meta_box($post_id) {
1 Z" s. {% ^) F( u+ y8 w. M; m      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
4 i, y* H' L" p2 B! b5 \         return;1 [* G) {7 q: p. N
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
3 V+ t7 Y1 {- r) f  m         return;5 w+ l! @- l2 p, H; N

. L4 @1 I! R$ [3 p0 ~6 z% a      if (isset($_POST['notice_title'])) {
& b- N( L- b7 Z( ^* @          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
7 @. c3 }" M4 A7 M- z* I7 ~      }
' M( N+ b6 K; g8 r/ n9 @1 \- {      if (isset($_POST['notice_content'])) {
" n7 x# O) P5 Q3 i$ f4 a          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));6 H" Q9 M9 u; B6 Z, w8 Q3 ?/ M
      }
$ ^  a5 ]& F8 x$ D0 g- g   }
: ]5 W# `) o9 @* a' j   ```
( {0 t, @: L* P: \
1 D6 v+ Y: d& L# |2 g   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
# y: i: c! \. k; e' a' C
4 |3 E) R. L- V* P4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:  h* l  K; P9 C( T, L
8 B% n! r; M) {: k
   ```* k2 t$ ?  z$ m& q9 b. Q
   $args = array(7 m: y; `# e: P2 E/ {/ G( Q# F
      'post_type' => 'site-wide-notices',8 K: ?2 F/ ~/ j3 i2 d/ [) l5 K
      'posts_per_page' => 3,  i8 `3 K1 ~7 E% T# k7 S$ u
      'order' => 'DESC',
$ N) |: Z! o! R: C/ ?% W" e( @      'orderby' => 'date'. @! p2 {+ U1 n+ ~( o0 w) i
   );6 U/ L  \5 w9 G1 ^8 r8 h7 B
   $query = new WP_Query($args);
& L- N! u0 N7 g   if ($query->have_posts()) :
5 a. p- ?6 h! C& T: f5 h/ d; W- y6 p      while ($query->have_posts()) : $query->the_post(); ?>% \. p% i. l8 E" c; b, B
          <div class="notice"># F% r+ N! K* Q! E8 y. Q9 s! x
              <h3><?php the_title(); ?></h3>
4 ?1 I) ?* s2 p8 X              <div class="notice-content"><?php the_content(); ?></div>* j0 i% t. ?+ A1 `" N7 v* |
          </div>$ Z' G% Q6 n+ a, {6 i
      <?php endwhile;
% k" Q  l, u! u      wp_reset_postdata();
! W( `: B+ u1 v; ~; @3 Y& z0 o! p   endif;
. E" _; m2 I& ^7 e/ I' v   ```
( l. w& p$ g5 ?- z( C: i( X* ]
( \* L( b5 Y( m! h5 U4 Q   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-16 08:25 , Processed in 0.015656 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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