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

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

[复制链接]

340

主题

530

回帖

3538

积分

管理员

积分
3538
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
" S- A: U8 D% u0 }& R2 K
5 }0 F/ |: }8 [) M( M1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
" X; k3 x! J% h0 F" a/ d
5 N! _" z9 [2 u' F9 n0 Y2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
+ ]' @+ s2 _5 o! g3 v. _1 s
4 p! T" j" e6 U% j: {3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
; H" `5 @3 \+ K" u1 c, q$ D$ \
6 x" g3 Y2 S1 P* V. p& T4 i4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
1 o7 n" D8 b- ]5 V5 ]" i' e
, H3 x% H8 f/ E  y# P! @/ v0 N注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

340

主题

530

回帖

3538

积分

管理员

积分
3538
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?. p) X9 X  O9 U4 A# v
; L! ~6 |( `( t$ e& r/ s
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
4 a" u/ ^# [, [8 I5 Z2 _! W) D+ b* G+ v) M+ s# ~
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
- i2 N9 w1 H* V3 h6 |* U7 p0 B* g2 x& q7 L1 V! }& {$ z! Y
   ```
; n( F7 r. {+ f   add_menu_page(9 x5 K  \3 y2 m) a9 k$ O" A3 x# Q
       '全站公告',
. l* }8 g9 X4 L% S" _5 {/ z1 Z; i       '全站公告',$ U. R6 ~. R  t" T; v$ o$ _; ]
       'manage_options', //需要的用户权限
0 u% o& q. T) M, h9 E  J       'site-wide-notice', //后台页面的 slug
) C) ^- X0 M3 m$ \; [) @. v8 Q       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
! a. o; U5 z9 p  P/ ~       'dashicons-megaphone', //用于显示在菜单中的图标
3 Q- D" B) M7 Q4 B$ e* E" O* i( E       30 //菜单项的位置/ M5 E  T8 I+ I3 T
   );7 I$ I& h3 {+ i1 g0 k
   ```6 X; N9 Z8 S/ [; P% L6 x

! k. f0 M6 p, }( @9 J( o) p   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
0 N2 D1 H- j5 D6 j1 B3 Z0 ^( N) L0 C) B+ z
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
9 }2 G* P# j& S$ }# D6 p5 o1 m. A; W1 E: q( L- ^
   ```
1 R- q3 B# y0 y% w; O   function render_site_wide_notice_page() {
; b7 D/ U, s# z+ W, n: {0 j) j      // 渲染后台页面内容
; a% Z7 }% C; Q4 Q+ T7 Q; ~$ A; \      echo '<div class="wrap">$ o0 `9 n& h( C* i2 t. o
          <h2>全站公告</h2>
' V; a9 n7 \0 Z! `3 v: @          <form method="post" action="">, a! c: p& U- d0 A
              <label for="title">公告标题:</label>! g: }( _; h9 d0 v. L; A% z
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>" s/ E% L* l3 B( V
              <label for="content">公告内容:</label>
- N" V8 o9 @, }6 G  L! u& X8 p              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>1 f4 x/ D$ \5 `! x" ~* S% `: H
              <input type="submit" name="submit" value="保存设置">
* `2 k& o+ F, L4 s$ i9 y9 z          </form>
4 Q' v( c! u7 n# m* z9 G, H, u$ C8 }      </div>';
' }5 t- u2 d' n) s! E8 R6 O& z9 P7 m, [' u5 U
      // 处理表单数据/ ^& Y! z1 N1 z/ y$ t6 Q
      if (isset($_POST['submit'])) {
, U' ~0 {( ~2 O9 T          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
5 e, a' B. ^0 S. I! x8 A7 a          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));5 m& |3 j# Z6 b0 F
      }
7 G3 v- W9 D- p   }5 a0 G4 ~' S# w
   ```. M7 I: |7 U+ {3 o

) H1 L: k8 x( w+ E   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。$ O3 t: G4 \% K4 k5 J
/ n1 s1 u2 v, E; r* C6 u
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
# x0 |0 |; d0 m& v0 C
2 a8 W2 q- p# [3 r" @2 _* ]   ```
( K: x9 q  p2 y4 @1 C   <?php7 `, `" f4 U% D8 [, x0 n
   $site_wide_notice_title = get_option('site_wide_notice_title');
0 G) m1 o$ O6 g$ S" w8 c9 l   $site_wide_notice_content = get_option('site_wide_notice_content');: H+ i. G+ c3 F" P* P
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
/ `- m9 M1 c6 v; l" V( ^       echo '<div class="site-wide-notice">';; @9 T+ s5 v# c, w
       if (!empty($site_wide_notice_title)) {
+ U8 z- A8 `/ a  v           echo '<h3>'.$site_wide_notice_title.'</h3>';; G2 f% ]% w) T& {+ c. w1 @
       }
: p. C% J5 B+ k. L* Y       if (!empty($site_wide_notice_content)) {
( e1 G) }. y7 O& ^- e           echo '<p>'.$site_wide_notice_content.'</p>';
, k' \, c2 V) w: K+ i       }
5 A" O9 o8 J/ o1 ?4 w+ [5 q% E       echo '</div>';1 ?1 y4 I5 a: O$ ^/ q
   }
9 @# l! V" \- o8 C8 J- V   ?>
/ b" k4 R- G- _4 ~5 ?   ```. O8 ]! c& S0 `1 c- G7 a# @
2 q) Q+ Y. f) b% h$ Z3 ]
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
& N/ y0 e* N) V' S! T5 k3 C8 Y# l3 m/ K  R
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

340

主题

530

回帖

3538

积分

管理员

积分
3538
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
5 _' v+ d8 F3 a, h, O  F9 h  x- N/ \; [  }( O$ l) S8 {6 M7 d
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
& q. s! t+ a) w8 F9 s4 ?2 s+ ~4 T7 K8 l
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
- D- d! E& C& q, O0 R6 F! @4 j) J' f  N' m9 m! r
```
5 @- R, c5 c$ q  L3 t, R# zfunction create_custom_post_type() {- H% Z8 M# l$ t
    $args = array(" m/ W2 b/ P; y! C$ i6 z
        'labels' => array(
  q* y9 k/ J( G9 Y9 B1 j" `4 M( y6 B            'name' => '公告',( I& D0 I9 q" s1 y- G6 i( ?
            'singular_name' => '公告'
4 P/ |, S; o8 u$ O        ),
: b% e0 T7 B2 p8 ~8 V. Z1 a  f        'public' => true,
  t4 p7 d4 q: }( X& e+ u, v        'has_archive' => true,
2 m$ |- l5 X2 S2 |: f9 I& T        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),7 X8 g6 _0 W5 j8 k  m1 @
        'taxonomies' => array('category', 'post_tag'),
; Z$ z& `+ A" T  U1 P- k        'menu_icon' => 'dashicons-megaphone',1 H  c5 r  N" w$ r+ b0 v4 Z  |
        'menu_position' => 5,
- G7 H) ~* H/ Q        'rewrite' => array('slug' => 'site-wide-notices')
1 A9 {, U7 P  u    );
( D  H1 g; c) z- Q8 j+ l6 m0 f2 r    register_post_type('site-wide-notices', $args);
/ @- G) E: s  g" ~}+ b0 x5 \2 N  C
add_action('init', 'create_custom_post_type');  d! x% N. m4 S* P7 ~! G: e
```
; T5 K- }% l; U: h
  {2 Z! D9 K2 m6 f' G( f4 V在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
5 S& w' W- N! |. a) C! N1 C2 `3 d/ K+ q4 f: k. f
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
5 u0 S: Y- a# O0 e) m8 J, i+ N
  l# |5 u/ L* g  m0 z3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
( K8 z' {% r5 K9 p3 j( X* }( P! Z. o( @4 D- [) v' ?- D3 ^
```
: Q+ x3 k  ~" _4 C: G4 i$args = array(
% r5 u1 S( W. }) l    'posts_per_page' => 3, // 显示的公告数量
( j) h& \5 ?( I5 L    'post_type' => 'site-wide-notices', // 公告文章类型
' k3 s' }# G& ?; x3 J( M    'post_status' => 'publish', // 公告状态9 r, Q% q; x9 q+ N8 }% m
    'order' => 'DESC' // 排序方式
& G% z" x8 h- |* r. X1 }4 ^. d- J! C);  b6 ?3 ]- \7 O& h

+ t: M& m: M) _6 q$ l$notices = new WP_Query($args);
, U. I0 S) ]  d" ^% E$ {% {1 \2 pif ($notices->have_posts()) :
/ B3 X2 h. H2 Y3 ]7 z' |6 n    while ($notices->have_posts()) : $notices->the_post(); ?>
# W/ {* r5 F+ i        <div class="notice">
' P! i; j6 y! X/ O1 g( N            <h3><?php the_title(); ?></h3>
9 B1 N1 w  ~3 e) `* _            <div class="notice-content"><?php the_content(); ?></div>+ V+ H/ D4 ~' @  }9 x; a# _) Q4 J
        </div>; j0 s6 T; d$ U
    <?php endwhile;
9 n0 ^, }' H/ V. @else :: ~6 _3 o  N1 o
    echo "暂无公告";
* K' j% p" W, k) \& H; Kendif;
+ X5 @) Y3 z- n0 c5 b, \: ~4 `4 b* ?wp_reset_query();" N: w: L" R2 _2 d
```
% K8 [# C9 |2 `9 j
6 I8 e9 Z# {+ D- g" r) M# g3 X9 d' I这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
  T: }+ p! q% e+ S
& v# U+ F/ j4 X- t1 K以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

340

主题

530

回帖

3538

积分

管理员

积分
3538
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?. S; P1 x+ ]1 D+ Q2 _% c

# O0 [5 ]5 ?/ m! O5 s+ |如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。4 B4 F/ w, m' |3 |* m
, y0 t! e2 j, J/ K
以下是创建自定义插件的步骤:
1 E0 X6 n6 t" K; `1 }
8 \$ O# |- Y/ Z7 |1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
" N: e5 _! d  ^, w* _. k; s  w* O* d- }! }4 I. O: e$ {" \+ A
   ```- @1 Q$ c' L' _7 m! G9 m+ {
   <?php
9 v0 c; s% j' M" ]1 V  u$ m3 S   /*
3 T/ Z  q, D8 B* Q+ ~# D   Plugin Name: Site Wide Notices Plugin6 {# o, J; T  Y* z& s6 C' o' w
   Description: Adds a new custom post type for site-wide notices.
- P; B4 D- c2 ?# i1 u   Version: 1.0' O. `) t/ L0 q+ h+ F/ ~/ b
   Author: Your Name
8 |. w$ L1 x7 a) M/ N   Author URI: http://example.com
5 {; T& t+ n* K' f   */
7 d7 J/ b4 T% i. z( r1 _7 c; M& p; I) W5 K' ?
   // Add plugin code here...3 w+ a6 d9 C* }7 C6 `
   ```7 I5 n8 f" S5 C9 b* y+ `& s; E

2 V- w  f  Z( {   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
0 b2 F$ g% R$ f, r7 U  v; S5 L* y! s* M' s0 r0 c
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:/ j/ `. b) k& K# |$ M4 l

+ k7 d4 z/ o; O* Y, c4 y   ```& Z2 x% W* g' K+ ~# E" o1 J
   add_action('init', 'create_custom_post_type');: j, O* _- C6 E: _+ c
   function create_custom_post_type() {
, T2 ]7 d, r% ~/ C8 m      $labels = array(
8 ^$ Y. U; w5 X  d' E# r          'name' => 'Site Wide Notices',
0 o- ^" B8 X; }          'singular_name' => 'Site Wide Notice',( N7 k4 S  b( n/ H
          'add_new' => 'Add New',
  C6 U# j+ w- ]# ~- W# T! f1 p          'add_new_item' => 'Add New Site Wide Notice',
) O9 ]) j! v) W% O; ?          'edit_item' => 'Edit Site Wide Notice',/ m; b5 m) j3 z% t! Q5 o
          'new_item' => 'New Site Wide Notice',  N2 T% O' O; \$ E
          'view_item' => 'View Site Wide Notice',
! L# K6 T* z' H* y: k/ W$ O          'search_items' => 'Search Site Wide Notices',
8 z- V7 P6 A# _" v, y( M          'not_found' => 'No site-wide notices found',. g7 `. F! u6 ~6 z
          'not_found_in_trash' => 'No site-wide notices found in trash') b/ ~+ g( L7 ^1 f* P
      );; O) h' ]* F! F4 j, Y

5 ~. c6 o) ]7 T$ F: Y      $args = array(, S6 F5 m9 e# H! F
          'labels' => $labels,
# t6 M" T6 w5 }( c% V2 x$ ]          'public' => true,
8 ?/ U/ P0 d& T          'has_archive' => true,
$ S. A  l$ t2 w5 N1 j! x          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
6 f5 d5 K' L- F/ q: T$ c. G' c# Y          'taxonomies' => array('category', 'post_tag'),* Y( T8 J: K" h9 s1 t
          'menu_icon' => 'dashicons-megaphone',: f2 ^) v$ O* o2 q% f& t8 d
          'menu_position' => 5,
- ]- D. [5 ?. u, Z! O& h          'rewrite' => array('slug' => 'site-wide-notices')
, `7 C+ k6 P  Q  m      );" ^7 \$ e5 `9 i# r* ^2 c
* K4 Z. ?0 N0 Y  n
      register_post_type('site-wide-notices', $args);
. c% p0 E/ v5 F% F" n   }. J  |1 s/ p( q1 m, F# K
   ```
+ J9 t+ i" J( o) M2 o# [# ]  u, V5 F
: N1 B. ~. i  w7 d: \! F   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。8 C2 W* \6 A( e( z
- m$ W9 K! g9 [0 b+ n$ O
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:1 D* z8 E( ?" T% e' B) J* [. \
2 r, B, v  S7 V
   ```
( U% @; ?9 O: S" ?   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');6 V; w( M2 h, n+ }
   function add_site_wide_notices_boxes() {: \; S. d: q3 E! _9 h6 a8 c
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');1 D* Q. l8 n1 z0 [# C. W" P
   }
% v, z, j. |% Y6 D) B/ {2 A' o8 A" p/ M; `
   function notice_details_meta_box($post) {
9 A5 P1 C: Q/ j: M      wp_nonce_field(basename(__FILE__), 'notices_nonce');$ u, I7 t* f: `: M* x& l' b1 L/ v* D
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
( p+ Y- Y  d8 [0 j  c; p      $notice_content = get_post_meta($post->ID, 'notice_content', true);* Q+ [+ N. p6 E# z
      ?>5 ]* z$ o: P" ]
      <p>
6 m% B" E& _7 K- S4 A: e          <label for="notice-title">Notice Title</label><br>
6 |: |% k* J" _0 e          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
3 b; w. e5 ^) r( L2 J( M, b      </p>. R4 S7 b  S+ z  I
      <p>
; ~, `* t5 C/ m; A5 Q+ V8 [/ I7 _' d4 n          <label for="notice-content">Notice Content</label><br>
- F. b' h: Y( i  C+ t          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>% h% K* o. B% ]1 I
      </p>6 [9 B1 G7 q% k. o% L
      <?php; K2 v' i5 a6 d" K
   }# F# {6 ~8 M& W. l  Y. A

- ?7 o0 O. i5 l5 F, D   add_action('save_post', 'save_site_wide_notice_meta_box');: g3 \! m" {" @( Z8 A0 ~
   function save_site_wide_notice_meta_box($post_id) {
" G7 f% N: a3 T9 B% s      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
; g* H7 G* o$ J         return;
# X8 b0 P$ ^5 N+ z/ `- ~      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
) X1 Y' k4 `0 J6 R. d- W) k/ W# x         return;& ^% B  m& e7 ]5 V0 R

' }6 ]/ E9 I0 O. J9 Q8 ~% o      if (isset($_POST['notice_title'])) {
: [! c5 V6 a8 j1 |/ a7 p+ b) _2 l          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
7 B/ v& u% d# Y6 [& ~: T) P      }( O" M6 J' Y$ ]: p+ P+ U4 j$ g
      if (isset($_POST['notice_content'])) {+ r6 w: ~: ]) a. L5 s1 Q
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));' l4 a+ t! u9 T( e2 j- k! i% @
      }
( s; `/ L# J/ _' }9 @# J   }
' `3 i( s0 O; h; j) v! J   ```2 A- d2 P. n4 |4 Z& G1 z  o
: m9 y# i# Q; r8 p  c
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。: e) `4 v* J. n$ t, w' [

3 @6 t/ y. I8 _3 ]* t3 j' }4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:- \* a* c% a$ R/ W, B
' e4 m3 s! J* r" N3 q
   ```" @# [& z5 h" {
   $args = array(
& F. e* E0 `: `* L      'post_type' => 'site-wide-notices',' }7 h; J. _4 Q1 I
      'posts_per_page' => 3,
" k, n1 N) M1 \      'order' => 'DESC',
" w3 _! C* d* ?8 O0 f      'orderby' => 'date'; s7 I" G8 K( T
   );
; T1 H# f) V2 a  X+ c% I   $query = new WP_Query($args);
- ?- B& L  b3 @. N/ h   if ($query->have_posts()) :" G, V  K5 r' p
      while ($query->have_posts()) : $query->the_post(); ?>5 f3 X3 B. r3 X( E& C
          <div class="notice">
% e4 l4 N& s5 o# R4 b& j              <h3><?php the_title(); ?></h3>& J3 C' ~9 m9 N" V- x
              <div class="notice-content"><?php the_content(); ?></div>
( t* B) H, F# J" n4 Q) y* ]% W: r          </div>& B4 z1 E/ y9 e% [9 Q
      <?php endwhile;' g: L1 M" [/ O8 o: D
      wp_reset_postdata();
; h& x. r( l) m8 _7 W7 D  Y   endif;6 D  o/ v: y7 c0 y6 c7 g7 m+ L
   ```
  s" m: ^, S" z3 E7 Q; B
, J" R$ {- [5 T   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-22 03:34 , Processed in 0.021927 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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