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

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

[复制链接]

346

主题

559

回帖

3656

积分

管理员

积分
3656
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:2 G2 |4 l6 X9 h* B* u
: A- R, I& ]6 n/ [1 {
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
* c! x0 h4 L4 A. R+ n( r% v! t" Q% M+ `* y" _8 o7 x3 c
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。; ]% d* d0 }9 m8 |% f

1 D# ?2 q* n. a- n0 u3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。, p' C  Q1 V" E  G
% R1 m+ V1 v: l
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。# E* ~' @# y! r1 x$ {# r5 v
! t+ f$ z4 c0 K6 ~
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

346

主题

559

回帖

3656

积分

管理员

积分
3656
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?/ K0 D7 J4 M" Q- G

2 P- G2 K9 i% i- J7 ~& @如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
7 k  \% m2 C# U: t* Q2 U; A
1 m1 z6 ], ]6 Y' T: B3 B1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
$ \7 l. r  X, X4 \% Z
# }5 a/ Z% o' @3 ]& c* J0 O& W   ```
& ?$ }& d/ c+ A) ]& |   add_menu_page(
8 Q" D( v9 K- f       '全站公告'," l% v; C* v, b& ^7 j
       '全站公告',
0 ^( }9 c& S1 N; b       'manage_options', //需要的用户权限' x+ F7 b/ l  d9 N" b
       'site-wide-notice', //后台页面的 slug
4 N1 @6 n2 _6 N, ?6 W3 Z4 Y       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
# _! b; r$ Q% G$ P: i, i' s       'dashicons-megaphone', //用于显示在菜单中的图标; n3 r( M+ X' L  c% W" u8 O
       30 //菜单项的位置
& E6 x8 @, ]9 ^   );/ m, p4 ]2 {  l: Y. d* R9 I5 y
   ```
4 O# |- @$ I# v5 @, X0 M
0 Q; x5 s; a  e& r( H8 c   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
% `. _0 C" A9 j! I: |1 z) ^6 h8 e
  O$ T7 N! A  ^. h7 ^2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:' i& O0 i) B0 k5 n
% w7 V1 _) r5 x( |8 m
   ```" }+ V8 ?8 j/ F! y
   function render_site_wide_notice_page() {' o( I8 a0 X. W% Q
      // 渲染后台页面内容6 b" k" L& _: B0 {* O: I8 t
      echo '<div class="wrap">
# I* A' s9 U* ?& i+ J) K7 _          <h2>全站公告</h2>5 V. R" G/ ^" J, s  g% f$ R
          <form method="post" action="">
. E* R( G1 P8 j  a              <label for="title">公告标题:</label>/ a- B. v+ z+ p$ e
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
; R) c; _% Y4 v$ f              <label for="content">公告内容:</label>
. `' ]; w/ y! C! E; x" ~. f+ }              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>9 G6 p3 n" z2 s7 X% N
              <input type="submit" name="submit" value="保存设置">
$ T4 |1 W; Y4 t          </form>
) h. A/ O  R9 ?8 H( j8 b, D+ f      </div>';
+ i. g) |4 Z' q/ {5 ~3 `/ [" `5 C8 n5 T  H; }+ R7 ?
      // 处理表单数据
  d% H/ ]! h% g      if (isset($_POST['submit'])) {
8 h4 q. E. N2 H! `          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
# e" J5 R- B$ [9 c! I- V: }8 ~2 v& f          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));3 g0 h  C$ ^& [: H' k
      }
0 w6 M  u  u& R$ I! `4 Q   }
3 N; f# B/ H- y( I6 F! u' g   ```/ [  O% n" {' A  L' X
; W# L6 V3 }0 y, X" z8 v
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。/ H% |3 B1 G; Z, d  e, M0 i

9 y2 @+ K- s* _+ n3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
3 Z6 y# [5 ?* v8 T% E" ~, k+ S7 `5 U# y9 R0 g  Z/ Y
   ```
+ P3 O$ Z3 g% m  a) {   <?php
/ ^6 i5 G" `0 p- S" v) _4 j1 x+ k   $site_wide_notice_title = get_option('site_wide_notice_title');- \2 d( C; M6 N8 T* ?! B
   $site_wide_notice_content = get_option('site_wide_notice_content');8 A% d) {% C: R9 m5 {
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
5 Q( n: t% i" p  D" b% v% C- A       echo '<div class="site-wide-notice">';% p' L# f3 G0 j3 `8 C2 {- S
       if (!empty($site_wide_notice_title)) {
' _! A1 D3 R/ ]# L           echo '<h3>'.$site_wide_notice_title.'</h3>';& \; A1 ~6 V' @- o: b  m
       }
2 M0 p& @  P( j5 O       if (!empty($site_wide_notice_content)) {
7 C! k$ P' x7 H- o) k' {           echo '<p>'.$site_wide_notice_content.'</p>';
  G' ^' n5 ?( B# i       }
5 p1 z8 H4 l" ~( C, S- ^5 U       echo '</div>';
' X; C( a+ k. a+ y7 A* V1 f   }
5 Y( G2 A' k1 _* S   ?>% q* L3 N- V2 ~% \
   ```
; @8 b8 D4 p9 S! X
/ y" f3 ]) c; r8 y2 C7 q   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。( r& K: L9 e8 c( U( W
' L0 A8 Q" b+ M8 C8 l# {
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

346

主题

559

回帖

3656

积分

管理员

积分
3656
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
/ @6 F/ q4 _4 W2 J/ K' b1 S/ e# Q6 Y3 h+ k5 q; P6 `, w
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
& I* l$ Y; S2 P, b4 y* r1 Z
0 T3 ~3 |. Z; [4 P3 @" J1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:* z' E. D! b: m' W" `2 S

! G; ~3 h3 ^0 R```
0 b; X4 N! J5 m9 Q0 Afunction create_custom_post_type() {
6 p2 F$ H% l% M. ?! L    $args = array(
2 u: J' C5 E. W5 @3 j; t6 N8 l        'labels' => array(
% J6 y2 D, z3 t3 w. k, m5 M            'name' => '公告',8 m; ^( f- B7 L% }* x2 P
            'singular_name' => '公告'
. o. X, B1 K! c        )," I. `. ?6 J& ?5 k9 `8 y
        'public' => true,( L: h& h" S7 w
        'has_archive' => true,
6 a2 y+ k  a: f: B/ E) l) |. s! d        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
) S! y% H5 @& [4 U# j        'taxonomies' => array('category', 'post_tag'),
- b# h0 i, R- K# L  _" Z        'menu_icon' => 'dashicons-megaphone',
& i! L2 g0 N% R        'menu_position' => 5,
' X/ i1 Q% b$ w        'rewrite' => array('slug' => 'site-wide-notices')+ M6 |$ G) }! R2 q2 n
    );
. j  o# c" x* K1 n% h    register_post_type('site-wide-notices', $args);
. F* R- X( ^: H; M}) C, \" J# Z- q6 |1 L
add_action('init', 'create_custom_post_type');# z. H; ~$ w3 o$ {$ T$ c# }
```
% ?, I7 F* Z9 ]3 G$ _0 `3 J( R$ s5 B8 Q2 V
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
2 I. V# Q; Y. R; P2 l0 N, n4 {9 k8 Z4 F$ u. P- h4 R
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。' S. E! S# S9 x7 m+ H# F1 X2 Q

+ j  V& \( h8 \; u( ~' H* l3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:/ U! _# D5 z0 C$ ?4 \) X( b

/ h1 T8 G' _7 k4 y- r0 o- n. q```: Q2 j+ f5 e3 z* H6 u* C1 S& u
$args = array(
/ s( m$ z+ r  w) a" g9 J( H! }, W    'posts_per_page' => 3, // 显示的公告数量
% m( A8 E4 z& U0 A7 W6 F# h    'post_type' => 'site-wide-notices', // 公告文章类型
9 b. l% o9 Z% \, `; f; r$ R/ j- f    'post_status' => 'publish', // 公告状态
: Q1 d, f- _1 B& x    'order' => 'DESC' // 排序方式/ B6 I" D0 v' I, r
);6 x  E! l: O' ~
1 _7 i* q$ o3 o/ n9 O
$notices = new WP_Query($args);
; P8 Q8 h- A, }  q+ Q3 G6 Eif ($notices->have_posts()) :: d4 _1 R9 Z( |5 ]1 H4 U
    while ($notices->have_posts()) : $notices->the_post(); ?>9 y0 @6 d9 e4 L) @3 y
        <div class="notice">" e/ e' T% S1 S5 ]9 w& F
            <h3><?php the_title(); ?></h3>
/ k8 b! S- F. g            <div class="notice-content"><?php the_content(); ?></div>
2 B' f7 o. U0 q1 w' l2 Z' `0 X        </div>0 F& J1 e$ {6 G/ l9 j
    <?php endwhile;) D; |# H6 x: w* x. \: m
else :0 k+ O2 a6 S3 ^$ e
    echo "暂无公告";
. ]; b4 m, H) |, r1 l) @endif;
) E3 q& `1 A- _& X5 w' Y( {wp_reset_query();4 ~7 N: H$ z( S
```$ c; s& u2 E8 S% e5 F0 |7 `

3 D' T6 }' c7 S这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。# y9 G1 k& p% n0 ^9 J
6 z1 j# U! e; ^/ N4 m9 j9 M: x
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

346

主题

559

回帖

3656

积分

管理员

积分
3656
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
4 R  t  D0 t( u* }  r6 ^' v4 x7 r5 J  N6 ?7 ~
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
' k2 _- g& A. e" A! B1 r  I+ b3 z% x
以下是创建自定义插件的步骤:
0 ?8 U4 y3 A$ D4 _9 K9 h& G% `
' ^0 T7 M+ Y+ V! }3 s9 c7 u  m1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
2 `7 b% ?4 C0 F% Z* }9 S4 n5 z1 e. o1 f7 i- ^
   ```- U1 X4 A7 m6 l' Y# |1 \
   <?php
( ^! f8 [- e' q0 h( s- `   /*% h8 s: ^6 i9 h, J
   Plugin Name: Site Wide Notices Plugin
+ ]5 v% Y* `! X! Q! w3 k* w6 \   Description: Adds a new custom post type for site-wide notices.# \; X6 s2 @" T( `1 a
   Version: 1.0! g3 g% |& }& h8 x; M, {/ J
   Author: Your Name
- c  [& s) k+ A/ n/ S   Author URI: http://example.com
4 u1 S2 y: Z' v! U% Y   */: m2 o5 z8 t" O6 M8 i5 O0 h  C

. _) j/ ~" ]* K. j* u% a' G- D6 X   // Add plugin code here...
% b& s+ C; y7 p! P  T# e7 U: G" i   ```
' K/ a% \: H2 T
9 x0 P" t0 V9 h3 v" H6 f! J1 C: g   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。& T: G! e- W. J/ P

, X  g" K5 m$ [$ n( \3 Y2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
( v& ?8 u0 q5 |$ E/ X
  V8 r8 O* \! g/ K6 ^4 w+ Q4 P   ```: r' J& U% ?* \4 p
   add_action('init', 'create_custom_post_type');* H- l9 h# m4 b8 c  B& B) M
   function create_custom_post_type() {
6 v8 e6 i) ]! W5 q  a      $labels = array(' \$ M. k8 M! }4 S2 P6 Q) S* w
          'name' => 'Site Wide Notices',
+ a4 h) x2 x/ Q          'singular_name' => 'Site Wide Notice',
9 p! p  _5 `3 g# k- e3 d7 w, w4 M          'add_new' => 'Add New',
. i* D( x8 b; f8 c          'add_new_item' => 'Add New Site Wide Notice',- g/ F: Z* M3 \5 x
          'edit_item' => 'Edit Site Wide Notice',
/ c3 W/ I$ {  O% ]          'new_item' => 'New Site Wide Notice',+ {& j+ X" V: p' m! m) q
          'view_item' => 'View Site Wide Notice',) W8 `' ], b) Q
          'search_items' => 'Search Site Wide Notices',# M/ k( N' [7 {% I
          'not_found' => 'No site-wide notices found',5 s9 f' J$ G5 m8 M9 ]" s" A  {
          'not_found_in_trash' => 'No site-wide notices found in trash'2 c$ K) k! B6 f/ F- d" ~
      );
1 k/ S' `% V5 j* V- l) [* l* O/ d- R/ e. M. f# \8 ~2 G% Y" p
      $args = array(- ~7 c$ f. x7 e2 k" Q: H  V; ~
          'labels' => $labels,8 \: I( o$ G& Z: H- j
          'public' => true,
4 }( h. R, {" @4 _2 z! ]& O          'has_archive' => true,5 s% J8 I# ]. p% F# W$ O: r
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),! P. I: p. L# x- D/ }7 n( i% G
          'taxonomies' => array('category', 'post_tag'),  |, x0 E8 t" g( M
          'menu_icon' => 'dashicons-megaphone',
( G4 E! g7 j" {* r6 f" v          'menu_position' => 5,
: ^) C7 `; f! O1 s+ D. y& B3 l4 j% B2 y          'rewrite' => array('slug' => 'site-wide-notices')
1 X7 @! s& b+ j5 P4 A      );% [* `. p5 n, N  o- v
0 o( J, d6 n" `9 v4 D, s
      register_post_type('site-wide-notices', $args);
% p# W8 U) V6 m3 A( P' u   }
0 s) C! E# G  `0 t5 c$ }8 q   ```
! D! m5 Y; h; B+ N- T
. }/ d8 p# p" M' l2 q1 q   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。$ }& e4 ]8 a) p0 A
) y; y/ {& v2 S. M& @
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:2 o9 \+ m# ]. ?) M( z
+ `& t4 d  a0 T- a2 Z0 \/ v
   ```3 m8 J  u3 @5 q( B
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
( T( y. j4 [0 P$ G) m% ?) M5 _   function add_site_wide_notices_boxes() {/ `" u1 l' b1 u+ ?0 C+ _) |
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
) E# H2 W0 u5 q6 \7 V   }3 K+ ~! z; O" \' C/ |; b

9 a5 t/ h) |- m, |   function notice_details_meta_box($post) {0 U; c4 }1 `1 J0 c$ Y
      wp_nonce_field(basename(__FILE__), 'notices_nonce');
% E* E( T: O8 O8 }; z) z      $notice_title = get_post_meta($post->ID, 'notice_title', true);- D. D, ~8 M: t( l* T9 m" O  d) A
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
3 k4 x# s5 V; V, L/ M/ s; d5 j0 r      ?>
: T$ N0 }. R8 J* k5 J* v' e      <p>
! [/ p2 E* n. k: Z0 h          <label for="notice-title">Notice Title</label><br># o& l# S; K4 v$ T! p& p$ x
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">* J- P7 O2 W/ t5 Q+ R: e+ T4 @  O, ^; K
      </p>
. W5 Y) f- {% p) @      <p>' G2 c4 f% `2 ^$ B9 q0 _
          <label for="notice-content">Notice Content</label><br>- z" U" u1 B  k( h
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>8 T$ _/ @& p3 ]4 G3 L
      </p>" F( i2 Q5 Y3 v- Z/ v
      <?php
1 U4 `- r2 W% W& S7 U4 q   }* {; I- e, ~: k# J% ~$ ?, F
$ D3 l2 U+ d$ B, f# W  I
   add_action('save_post', 'save_site_wide_notice_meta_box');# R' B2 N# a. @4 B  y
   function save_site_wide_notice_meta_box($post_id) {1 M7 Z. _7 _7 R; d
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))4 g3 Y4 z/ N: }$ M
         return;: e6 o4 i! k7 U  [+ H3 z% T' M, q& Y# F
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
  O; s, [/ K8 o* B         return;
0 P" ]: |. X: s! X: v) Q' k5 y1 j1 N4 p7 Z/ }* n5 f! L
      if (isset($_POST['notice_title'])) {
2 o$ ]& d' K  L8 P$ ~          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
' z; G/ @( R" _      }1 G# `6 K. R/ \" D0 R. u
      if (isset($_POST['notice_content'])) {
" U' ~$ x% j$ [2 v0 Q          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));; n9 y! J) F0 N+ B. T% f8 R* M. m
      }
4 N& j, Q7 N( Z  l   }( [( v' a5 L& {9 y6 T$ ^
   ```
7 z) L! |* p" n- @3 l  F: c8 K7 e: ?& I2 V0 f7 V" S3 V; K1 f
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。! i; V0 R" I: {! v

# D" g4 x6 m1 R/ C4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
; p- z& _/ S- P. w! X8 E1 C3 K2 S/ G  }5 S. R1 J
   ```# b/ [* G# Y! X$ N; H7 c1 i% L
   $args = array(# Q1 k- }! ~8 W/ g# Y8 J$ S' q
      'post_type' => 'site-wide-notices',( o9 t- J% w6 \
      'posts_per_page' => 3,' ~  V3 `* v3 c9 a6 }
      'order' => 'DESC',
% X  v: t) h0 ^" P. b      'orderby' => 'date'
4 q2 o& t0 S. ^( h4 H% Z6 a- W   );+ \3 y" B4 D+ e& W- H2 t
   $query = new WP_Query($args);4 @7 T6 m  g$ u1 {+ W
   if ($query->have_posts()) :
2 Y) l& D6 z9 i/ o. v" v      while ($query->have_posts()) : $query->the_post(); ?>5 R2 a  A. `: N- b
          <div class="notice">6 l/ V$ X# M; w  {( g! O& p6 O" T
              <h3><?php the_title(); ?></h3>
8 N$ @! H: i. Q0 o) p$ d4 z              <div class="notice-content"><?php the_content(); ?></div>& C7 m8 \3 p8 L
          </div>
; w+ Y6 n# Z6 D, o3 a& _/ C. p      <?php endwhile;3 k, \! m; v+ d2 R. F7 Q
      wp_reset_postdata();/ u7 s2 z, {0 {
   endif;8 B' W4 g2 p1 A5 ~% H" C- a
   ```
8 T) M2 G; s0 R  @6 B, A6 {  z& v% H2 T+ f! Y
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-4 21:55 , Processed in 0.013564 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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