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

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

[复制链接]

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
" {6 b! l' H% o. D  b3 U' f* K" Y9 q5 \
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。& Z- y0 L, M1 }& y. v* V3 H3 F
- ]0 }, j& V8 V$ a; i2 e- C- J, |" X
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。* N9 u" d7 ^1 ?" v
& y& s7 w6 q# H$ ~% ]: \( V3 `7 q
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。- r& m8 u5 k" T' }* g

( W0 u$ ^# X0 j  u* H4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
  u0 @5 k) T, V' L: F+ J, H& y/ N" K3 \8 g' {
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
. `" r, W1 x% [7 L; e! u0 [2 E# V7 L- M7 e. c
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:$ J# g1 t( |' P" N" q4 n
6 _7 u4 _( y' G# c
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:; n$ G; ^, c2 x

8 E: B, v6 M# J   ```
# R) g4 q* S4 F, W   add_menu_page(/ W+ x4 P1 W+ I. F0 M
       '全站公告',
$ V) o) ]- E3 s, P" B. F       '全站公告',, L" ^3 {- Q+ S% W
       'manage_options', //需要的用户权限0 y1 O9 m; W7 K& I  k- V
       'site-wide-notice', //后台页面的 slug1 a2 K. h3 f: p  q! h0 X. P
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数! L& j8 b$ Y4 c6 J2 J2 P
       'dashicons-megaphone', //用于显示在菜单中的图标  [% U2 `$ P# T1 ~- L3 o
       30 //菜单项的位置) d  S$ l4 ?' ?5 b# @
   );! Y' `: B8 E  u- ~: z6 M
   ```  z. R0 o  ], G
9 s9 A! A5 r  t& |. s' D' ]8 H
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。) v/ Y7 N7 S6 E7 b2 z0 l- I
3 t- Q+ L7 p* A6 ^6 _
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
; X  O- `4 T( M( W' k4 k. ?$ J
8 a1 b' m, C/ [7 k' B   ```
+ O' i* Z/ T' U% L7 r9 |6 a   function render_site_wide_notice_page() {
6 l5 N% \  F6 G% J$ {      // 渲染后台页面内容5 O  C9 P+ e( O: d: I6 `
      echo '<div class="wrap">
% a$ n. ]2 N9 n9 N& d9 Q/ O, R7 N$ ]          <h2>全站公告</h2>0 w3 {! F  M6 p; O7 h" b! J
          <form method="post" action="">
$ P/ ?2 S# @, ]; }              <label for="title">公告标题:</label>, j5 ~, T0 j/ e: I
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
% H! E5 X" A# h4 i9 s4 g% w              <label for="content">公告内容:</label>
$ q0 J7 w& w9 [9 _              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
( E4 z8 u* E( j. K  l8 s* P" ]              <input type="submit" name="submit" value="保存设置">
+ e2 w. O( ~( w) }          </form>
! \% Y  p- w- Y( U+ {! H      </div>';
& c  f4 _1 C5 S. D3 M
, A; V) ~6 ]8 R/ l+ ^/ a/ E( ~4 ~% W+ R      // 处理表单数据5 M/ R  A! v# E8 p  \- ^
      if (isset($_POST['submit'])) {
6 j8 ~5 _. [0 t$ b2 Y1 ~          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));. x# ]! o. O% ]" S
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));* d% P7 s( r9 w
      }# K0 B9 }1 I1 ?
   }" D8 l* ~6 p; l+ C3 {
   ```
. Q# h  V' d. p4 V* x7 ~9 W1 ~' x7 d1 e5 O6 ^
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。' X9 r$ U& N0 Z* F
5 C: s% k6 C- k5 B+ ?, Q& M
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
- B# U6 r; K: `* i
5 I. Z) @- H/ a) f   ```  n7 x3 D  T# H4 n
   <?php6 b4 Y6 o6 q" ~' B* p) d& ?( j, b: e: x
   $site_wide_notice_title = get_option('site_wide_notice_title');/ P' k* b# b3 }+ m8 J) c. m
   $site_wide_notice_content = get_option('site_wide_notice_content');
" q! c) x6 Y3 D, t   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {: |3 p8 z4 N+ S7 }: P$ n$ S
       echo '<div class="site-wide-notice">';$ b+ @, \- y; N
       if (!empty($site_wide_notice_title)) {
% @% D7 o1 Y9 P' p           echo '<h3>'.$site_wide_notice_title.'</h3>';
% n) |* F, Z# J" }. d; e. O1 a       }5 H- u: Z" W, z/ `* G& w
       if (!empty($site_wide_notice_content)) {
3 b. F1 x9 |0 O  c% s5 ~' U4 m           echo '<p>'.$site_wide_notice_content.'</p>';
  f2 \, o8 O! d) R       }
, S7 h' F% e* d- j" Q. M       echo '</div>';4 h3 K7 n- _+ {8 V
   }
& O7 j- R7 w$ b! x* ~9 T   ?>
( g0 V0 J4 Q. x) ~' \: @3 p   ```" C2 p- _% s/ Y4 F4 S# m
7 ^: f9 [0 d: P7 G% J
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。" K* p! z4 d% C& T0 N/ i

3 ]$ x. ~* `1 v4 B$ E4 _请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?5 G6 F7 ~! `4 P

) T! c5 `4 T3 @1 a2 e1 G您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
4 e- i2 ^1 G7 A! [/ E2 \3 j8 I6 w
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
" h! U4 |6 Z0 J* _/ U  f& I3 a4 c' v/ d! a9 r
```
+ @) i7 h! S+ k! z4 K  D! nfunction create_custom_post_type() {  I( \3 s7 p6 S1 \" ]# B$ h9 S
    $args = array(6 J- P1 ~3 U, B  ]' x7 ~
        'labels' => array(, d# a2 `: p: E. Y$ f
            'name' => '公告',
8 M6 Z' e1 v1 L7 c; P4 J            'singular_name' => '公告'
" Y" \$ U6 V) d3 b& f2 {7 N        ),
% h/ e1 X+ U! S5 G  z: u( V        'public' => true,
; f3 g" \  b, z6 A- H# d0 d        'has_archive' => true,
! {0 n4 r% c; Q7 c5 }1 o        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
; k5 n- o; Y& V& R+ c        'taxonomies' => array('category', 'post_tag'),6 O9 n) w0 J7 k3 u8 P
        'menu_icon' => 'dashicons-megaphone',+ a# P: w0 D: Z9 i0 X) [9 c& n! O
        'menu_position' => 5,
5 _# k7 |( }3 I0 K' ^- Y; `        'rewrite' => array('slug' => 'site-wide-notices')6 W4 h; x. E$ |' _! j2 o
    );
9 C- |; Q/ u7 z4 s    register_post_type('site-wide-notices', $args);
2 ]! W4 r  a$ _; D}
0 K* ]- ]. H) ]" P. J' U4 a- h7 Zadd_action('init', 'create_custom_post_type');
7 S8 d' N7 S- G0 J```1 y$ q3 B& d+ [" n* M
0 S' i( Z7 @0 j  \/ ^
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。: q$ a: f7 O1 z' F; w8 n
9 L: a8 P# v* ^
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。9 A9 H" m, O9 t- Z0 Q1 y$ K. y
3 D: B2 @, H% z8 E) V) o7 p
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
5 o& b5 F3 v8 w* U/ ^# L; p$ a0 r5 B0 g% f6 ?, c' ]+ x- G
```, Z; q; O+ n3 ^2 l0 x! F
$args = array(- k, }8 T4 K& D+ t
    'posts_per_page' => 3, // 显示的公告数量
1 h) P$ Z" x7 s# w0 A6 M2 Z    'post_type' => 'site-wide-notices', // 公告文章类型* Z8 f- |/ E3 J" W- y4 t, p
    'post_status' => 'publish', // 公告状态3 m$ L( s) Y  \1 H. J7 y0 ~; r
    'order' => 'DESC' // 排序方式
0 X8 ~5 f  O8 d( {, H/ W);
1 t4 q$ ]3 G5 \* f" r7 ]7 ?, R, W' Q3 g3 p7 m
$notices = new WP_Query($args);( ]$ o0 w, H% b5 F1 k
if ($notices->have_posts()) :) H0 o% z! R4 X2 N0 G9 ?  m
    while ($notices->have_posts()) : $notices->the_post(); ?>
+ j: J8 W. f  \        <div class="notice">: U& M3 Y% `/ n* t) B- S
            <h3><?php the_title(); ?></h3>  Z' L8 H  |& r' E: r* f0 z
            <div class="notice-content"><?php the_content(); ?></div>
* D0 R: E. S1 C8 m+ V7 @        </div>) t- w8 X9 {; N, p( W5 T1 p  F! K
    <?php endwhile;6 P+ f( b/ {8 s4 T, [
else :
# V; X, X8 t2 q! y    echo "暂无公告";
6 r+ F4 O+ W/ T3 Vendif;/ H+ o2 D3 i) A. {/ T
wp_reset_query();
0 M9 g  @1 L+ e, `: J5 d- d- W```
8 Y9 E3 {4 M( G0 ?( t  i2 Y% m7 X) p( @- C- v+ M
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
$ K! O2 l+ D' l2 c  v! N& R, |/ ~) z
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
, x  i1 \+ c$ E/ G1 T
5 M4 P, n7 V1 ]7 g+ J7 S如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
1 w. A+ M9 B: j* M3 E8 W* d8 N% W* t" I! y4 Y2 K0 M
以下是创建自定义插件的步骤:. S4 j/ w( B6 T) c3 j  w7 D
; M6 d2 {# j# |
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:1 v% ?" `" ~3 ?. i- m4 K
- K! X! b) G/ C5 A
   ```
& D5 S7 n' U5 Y8 }) k   <?php
' g( _1 I4 M( i: i* i   /*9 _( o" [+ f7 K1 s( m, V
   Plugin Name: Site Wide Notices Plugin
! ]' e7 P; c" z% _   Description: Adds a new custom post type for site-wide notices.
0 s1 A9 C1 S) r% E! D, R! r; G9 {: z   Version: 1.08 Q3 d, P9 [; Z2 n2 H: V2 M4 V
   Author: Your Name/ [3 j8 g! ^6 N8 i
   Author URI: http://example.com1 @, o8 r7 f, [
   */1 f7 S7 z7 y3 X9 a
, T8 a9 {: _7 u! h  {* V
   // Add plugin code here...0 G9 y/ n) Q. h8 O
   ```# ^, p; z1 S& A$ a& t: b0 \
; Q+ R- H! T, F7 q, L* q0 v
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
' Q1 e9 O0 m) N5 j& g/ l! I1 Q6 k- l* Y: h( ?( u
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
4 _1 G+ X! t1 [% f# ?+ Z; A
5 p" ~+ p) }/ q, s   ```
( f( f( B! r* ]. o  V" c7 `! [1 |   add_action('init', 'create_custom_post_type');
1 t2 ]3 H+ Q5 K8 Q   function create_custom_post_type() {  U% X, N. K+ `6 J
      $labels = array(
" R  |3 I+ e3 H" X) T          'name' => 'Site Wide Notices',
. ?- ^4 ~5 x% Y3 _+ g          'singular_name' => 'Site Wide Notice',
. W6 U: R# {+ U+ ^8 ?; [          'add_new' => 'Add New',
, d. Q; |) ~$ J9 \& r9 O          'add_new_item' => 'Add New Site Wide Notice',# ^! C# f, J1 Q8 e/ n' @/ c% w
          'edit_item' => 'Edit Site Wide Notice',
! ~( t! D: x( |- x& h8 b          'new_item' => 'New Site Wide Notice',
/ q# I4 V. x% l) U% z, P+ E          'view_item' => 'View Site Wide Notice',% P  o6 \. j$ C
          'search_items' => 'Search Site Wide Notices',9 k: x& l) {! C! t
          'not_found' => 'No site-wide notices found',+ E/ p/ ~  k" f
          'not_found_in_trash' => 'No site-wide notices found in trash'4 s& [. I3 ?  L! W8 c
      );8 B# {6 u$ G, Q' x6 f2 }

6 i! D$ V  }' t* N& v      $args = array(
# n! K5 ?8 N% K  T* ~" K          'labels' => $labels,
$ ?6 ^# D9 Z/ }- X          'public' => true,. L: z3 x0 ~; z4 A
          'has_archive' => true,
8 A+ j* y2 }# C& F. O          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),3 P5 d2 e; a( O: B  {& _
          'taxonomies' => array('category', 'post_tag'),
; v+ y* ^( ~" `! R5 L          'menu_icon' => 'dashicons-megaphone',
+ L! l0 W% P7 _% R4 c" K          'menu_position' => 5,6 o! u* y8 n( ^9 }' u* b
          'rewrite' => array('slug' => 'site-wide-notices')
5 g8 x& u  ~+ Q2 ^$ T      );4 k& ?# ?: n. \0 J" M6 H

9 b3 N7 Z+ d$ J0 x( H& J      register_post_type('site-wide-notices', $args);
3 C3 S* L5 Y) G1 O9 s; Q( a* x   }
3 y" k  _- h0 R% i& N5 S2 l" ~   ```
$ q# `( m) r- P2 E- g$ L& I% y
( q4 U& x$ J( }+ i2 ~   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。# u9 [) T! u/ k+ e

" j6 x/ `& w* P: ]9 x4 @5 }+ b3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:2 F7 ]/ r* i* h5 ~, H( @, `& f

; s8 k4 s* r% C   ```
. p7 @: z# |+ d8 s$ {   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
% x; o5 o7 F! u6 a( ^   function add_site_wide_notices_boxes() {8 k# E7 `' o2 c/ p# T% }. S4 U3 ?
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
- K: Y) t3 o! p3 P0 Y- V6 e   }
0 k7 [5 B3 c* a- G: [; ^7 T" w( U; T# D) z  q8 B4 z
   function notice_details_meta_box($post) {6 X$ [% C  w1 X3 U  {) Q
      wp_nonce_field(basename(__FILE__), 'notices_nonce');2 D0 n* G5 L2 f- `/ L
      $notice_title = get_post_meta($post->ID, 'notice_title', true);; t+ L" g  K; M( Q) f- j
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
- ?. [; K3 R& m3 S1 G2 X9 r: X      ?>
4 k: n, Y& z) X" w0 J" R      <p>
* Y8 q$ k( L' P2 F9 H$ i          <label for="notice-title">Notice Title</label><br>5 ^7 e( r- A$ ^9 ~0 f8 g# K
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
& K# }% T# \5 A6 w7 {      </p>7 b, |6 D# A% T: v0 d
      <p>. ^8 ]1 i5 Q% {8 [$ c% O
          <label for="notice-content">Notice Content</label><br>
( S, ~- C3 q( y6 t" `0 D          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
: I% X& n9 N( @      </p>
" R; {' ?: P* t- F% n) v9 s! {! Z      <?php
; G# t3 D9 K. [/ u  {   }
7 d$ f2 H/ N) j1 u1 L
% Z3 j& E. u! ?) y/ i6 S( {6 Y) ~. L   add_action('save_post', 'save_site_wide_notice_meta_box');+ H3 t7 s# ]  W* i# ^0 l; _7 w9 N
   function save_site_wide_notice_meta_box($post_id) {& m! e$ @' m- D" M
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
1 Q7 r9 J! A3 M% W2 C& N         return;
  `  k2 A# A" p: b. c7 t      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
) [1 R2 m9 z4 a% F         return;" k& y( c" H, r/ U( `, ^5 |7 }
% P6 y5 G& p/ U  I1 \4 ]1 \
      if (isset($_POST['notice_title'])) {1 W( S9 M" l3 U3 D4 z/ n
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
8 u$ S8 m1 a* S" b  I      }' F# {% O% z/ Z; E
      if (isset($_POST['notice_content'])) {) p' F) C* ?5 r2 i) e
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
6 Q& i5 L6 O) J      }3 @5 A% U8 p8 R: R! H" ?1 R0 s
   }
; g+ ?7 n! D9 D& J8 M8 L2 T' Q   ```7 n( y& d- c. @$ g7 }

+ S5 a; |9 x, S: o, o" m, R   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
  y" W% l* K$ v
/ A% @  N8 G- }) U! m3 t4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
: v" z. ~: o# u7 V! r9 Z3 I8 s  y
! l: O: P1 `$ d3 M   ```: ^* B5 a% m- T8 R# I. b2 h3 L2 x& c% E
   $args = array(! h9 o8 R! J/ }7 o0 x( q
      'post_type' => 'site-wide-notices',
7 F2 C/ D0 a; A( c& P      'posts_per_page' => 3,
$ m! |$ [) x$ D* n. A4 @$ K      'order' => 'DESC',
) F6 h4 M+ Q/ p9 s* c# T: o* u      'orderby' => 'date'
% y. x) s1 c. ?* [# h% j; o   );5 w* w% B: E5 ?9 f
   $query = new WP_Query($args);
" Y- l, F% t( Y- n  Y   if ($query->have_posts()) :- V5 }* s8 Y. O& }
      while ($query->have_posts()) : $query->the_post(); ?>
& G7 a# l: ]( S/ G          <div class="notice">0 V6 b& y7 @; K6 n1 p9 b8 e
              <h3><?php the_title(); ?></h3>2 Q( D8 `: @3 u9 m4 X1 i; e$ m* u1 F
              <div class="notice-content"><?php the_content(); ?></div>
% L) s, ^( Y  r% U- g          </div>5 ^% g+ x9 G4 ]2 ], h8 X) e6 I
      <?php endwhile;( m* o3 Q8 [+ h% X# Z
      wp_reset_postdata();
, G$ e1 h( @/ ^0 j8 Z   endif;6 d2 Y; M, v4 V7 Z8 y
   ```
8 b9 f1 _& ]5 J. H  U# u! L" F3 R+ e7 B* |0 Y' c# [; B8 V  E
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-23 08:26 , Processed in 0.014816 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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