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

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

[复制链接]

340

主题

522

回帖

3498

积分

管理员

积分
3498
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
/ b- t) n4 n% B0 ?* a# n2 R. l0 \, U: h  v# l( G  d5 a
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。" ~/ M( \8 x6 Z

. t2 {$ q/ F# k( ~$ _3 i2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
( s& J( q: U& A0 p' u* a4 J3 ?1 L8 N$ h# ~3 a, S
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
" [" P8 m+ ~' }
- Q. t. H5 X7 s4 d% W4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
5 i0 a& T! Q4 ~% x. h8 [/ m3 D' a. i* x9 u( p5 c
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

340

主题

522

回帖

3498

积分

管理员

积分
3498
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?* w2 x" t- {' X+ _

9 x; o( Q8 a( D3 _; E- n& f如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:- K" e! L; H$ B# h/ ]. k; }

! o: [$ D. B5 A# e# O$ ^1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
, ^/ X( u: @, h; Z& s% Y' D0 H7 b, ~9 y
: R) ?5 g3 l+ \- y! L   ```
  K7 ~$ P/ x' Y   add_menu_page(% {7 m3 v5 M5 n& t$ U# J
       '全站公告',3 @) L6 {5 e  K& b6 U' C
       '全站公告',5 k; M7 F; Z! Q0 K# P* Y$ T8 q
       'manage_options', //需要的用户权限; ~  ~) e( {9 R" z2 f
       'site-wide-notice', //后台页面的 slug
$ e4 r: S9 C6 ]- v       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
* Q. A- h& ^5 ]) y6 B3 I& M       'dashicons-megaphone', //用于显示在菜单中的图标1 h1 _& l# u" |' r1 s: d
       30 //菜单项的位置* y7 e; D! n, p; j( h" {
   );: y4 `! q' ~! v! J
   ```
9 Q" |, x3 I; N- s3 n  H9 M0 s& g8 E! P0 J3 `& x: c' S* }! A" I
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。6 _+ [8 |6 \. J. O1 Q
2 x' P8 L3 J$ O0 E8 d1 v/ j5 K
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
, `5 K) s6 Z2 x: H0 p  T
: ?  ?$ Y$ E5 N   ```
8 D) c5 N) n  k  C; c   function render_site_wide_notice_page() {
! _9 a/ U. P8 Q1 y. Q      // 渲染后台页面内容
3 F; o# c" d: C# x% G      echo '<div class="wrap">
/ J  @. c( d" W- n2 f          <h2>全站公告</h2>& m+ \  V5 Z. ?4 }1 q! a$ ^
          <form method="post" action="">! |; o( c6 \7 ~% r: Z4 E* n% G
              <label for="title">公告标题:</label>. W) B% A! F) T# _. `# y" y6 G
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
8 c" u* I7 O$ u4 n              <label for="content">公告内容:</label>
8 S6 e+ w: J( Y$ d3 b) o              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>% H6 U5 {8 U' c/ q5 y
              <input type="submit" name="submit" value="保存设置">6 e  C6 i  h2 I. g
          </form>, t0 j- P- c0 V$ M
      </div>';$ L! [- |* @7 }' Y( c. z7 I
* O( |% \& {1 H4 `( l" P
      // 处理表单数据
- U1 t, H7 A' |& W9 @3 W( f      if (isset($_POST['submit'])) {
+ u" D) O# p3 `9 L! f, G/ R% \          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
5 e; j, D6 b/ x) t( Y& I" |. ?: m          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
5 i9 y% w# h) s* k, t( }      }
" ~3 `, O2 ]( X; B. b/ L   }
/ `6 P  G1 {- j& q+ X1 {0 B   ```# t# Q0 K% P) J
5 M( x! `2 n* D) K
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。7 I0 J3 t9 ?/ R+ ^

8 j/ M/ s2 v  I' e+ y$ k0 x3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
  w/ q% R! B% t: T( \1 X. ?. ~( p$ [- r+ _
   ```
3 A: u" y1 D! J# i6 _0 p   <?php
+ M! T% k6 Y* a' V7 B; q   $site_wide_notice_title = get_option('site_wide_notice_title');4 ~! j0 D, l  U* J( {
   $site_wide_notice_content = get_option('site_wide_notice_content');& W* Z2 H* }: }" v: A8 p
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
; O+ ~5 K- ~8 `0 b( H1 P       echo '<div class="site-wide-notice">';* @/ {# }/ O1 K
       if (!empty($site_wide_notice_title)) {
$ ]) r; U. o5 A5 l7 ?4 T; ?. k           echo '<h3>'.$site_wide_notice_title.'</h3>';& Q9 C, X8 W: m  B2 `) ~
       }
5 z1 h$ z4 S$ f4 d8 z2 f       if (!empty($site_wide_notice_content)) {
9 {. [6 R1 g) z9 @3 ]           echo '<p>'.$site_wide_notice_content.'</p>';% a/ Y2 @- o* L. e& V0 I, t9 E
       }
8 ]5 n- K$ z/ p, J; W# {       echo '</div>';# [5 {$ g4 o6 `
   }
/ ]4 F" W( J8 E1 F   ?>
/ i0 ^. C! `# ]) K' x   ```
( f  _. _8 `4 k2 |9 p  g) H' F6 e! n! c, }
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。. ?  y4 i4 B" o& ~1 Z6 e" j" F

7 I, q1 @0 b5 h: D7 R; _! C6 c  Z) g6 H请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

340

主题

522

回帖

3498

积分

管理员

积分
3498
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?. v+ J1 X1 C( ~9 R6 z& w; w4 a

1 ^/ M. ]0 N+ y5 C7 `" S您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
/ H0 V- M( R% D1 _2 J
0 R( Q4 m. U) Y1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
% L  Q/ j* L4 J8 N9 ~0 v% X# K3 e" `* ?0 U
```
) M* [3 T: b0 M* f2 ?3 Ofunction create_custom_post_type() {
! G# U2 j. [4 i& e5 K& h  H0 L    $args = array(
% |+ ^' @9 F1 _9 k# _. Z6 Z. P+ O) [        'labels' => array(, a# ?* l$ P, L" i: w! s
            'name' => '公告',- t6 R) n  _# \5 t
            'singular_name' => '公告'' n6 }) z0 i, U2 c- A  H
        ),
- s1 x8 d( e( z4 b! A) r& u        'public' => true,# u+ o; F+ I5 F( r& H
        'has_archive' => true,# {) e$ G# A- @& M: L7 b
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
5 Y) l8 G2 c2 {' y7 n! q  k        'taxonomies' => array('category', 'post_tag'),! h6 c# _  d; t
        'menu_icon' => 'dashicons-megaphone',
  M6 \! r* v5 E) }5 G  B0 S- Y8 V        'menu_position' => 5,& h. L6 J; g7 u8 i! X2 \3 q
        'rewrite' => array('slug' => 'site-wide-notices')
, ?  J+ q) T. C. k. Y    );& ^# ?2 K- v: X+ F5 q7 r' R
    register_post_type('site-wide-notices', $args);
' |, O) R/ `5 {8 V- ^( h% S}
6 z0 S) N( m+ X! Dadd_action('init', 'create_custom_post_type');
( k# T% Z8 j+ |6 Q4 L```
3 D) [+ x$ T; J  A4 d3 T1 Q* q# `5 u: g+ x
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。) b7 `) w9 z$ i- t5 H/ R- h

" \; G- T2 w( m$ ^2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。6 r4 a9 S& d# u% x

/ a. f3 k0 Y; E4 k* r3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
; m2 P; ]4 I6 P8 O! ~
: E3 n# C  K1 G! |```* N/ W+ X3 n6 t$ @
$args = array(
8 W' r0 z0 V: D$ W    'posts_per_page' => 3, // 显示的公告数量
6 J" b' B2 n5 Q( [7 }    'post_type' => 'site-wide-notices', // 公告文章类型
0 q6 s+ R( P) @    'post_status' => 'publish', // 公告状态; _) U9 s' i' u" l/ u) [
    'order' => 'DESC' // 排序方式  I- f) r* F) f( }
);
( e4 ?. P1 Q4 N, y8 b1 D8 n0 u" M) }/ h& L5 A) x+ ?! G
$notices = new WP_Query($args);
3 d/ e" u, q. W( o1 L- E( zif ($notices->have_posts()) :- S" E# }% F& G. Y) ?& }3 _2 u0 |
    while ($notices->have_posts()) : $notices->the_post(); ?>
$ ~; o  A/ _% Q. h        <div class="notice">
7 A: q/ e% W. d6 v( V3 J1 j            <h3><?php the_title(); ?></h3>
% O  G6 i0 k2 ?9 r9 M            <div class="notice-content"><?php the_content(); ?></div>8 f) O9 Q0 R% j
        </div>5 k' G* R! e1 ?2 G0 C' Z
    <?php endwhile;& Z2 h* i7 `, V5 r& r! c: f
else :
1 {- J& F" ?3 T3 A) l    echo "暂无公告";
4 }2 \1 L2 v( C3 o8 B1 p5 Eendif;6 r! I2 A& l; b% E
wp_reset_query();/ s* t$ D+ O+ a8 O5 V
```% T2 j4 i3 R6 i! b* D( m
! m: Z/ M. O0 A: J( V  R9 R
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。! @1 ^+ O( \$ q$ v! M2 Q
( @) R; F' i9 s, t- u
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

340

主题

522

回帖

3498

积分

管理员

积分
3498
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?% Z1 q; B$ [# b8 h0 n2 E/ c

( |* r5 \9 o( Y; G如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。; M$ |$ N5 X1 P+ k
- |3 `- [% n0 _; ?2 z. \% J
以下是创建自定义插件的步骤:. e- m' P, \2 N& J7 g1 _

5 h& G7 ]; k- C; A$ Z1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:! s+ s# B- t% t
3 y: C; l2 k/ f8 t* D
   ```+ ?, E3 q  G  j$ |5 ~
   <?php
- r) D3 u0 r( X/ |# M) }0 D   /*3 m! u) K% w3 b' A
   Plugin Name: Site Wide Notices Plugin
$ _( k/ Z* B9 e, g   Description: Adds a new custom post type for site-wide notices.% p+ ^/ L" {4 k% h
   Version: 1.0
. f$ G$ J$ n5 S( q5 v1 @, X   Author: Your Name8 s9 H! h- f% v) h) r) g
   Author URI: http://example.com
; a3 y# m0 x  Y. i' l8 P   */
" d/ r, C# B' G$ \. C' X# W9 ^( x3 B9 j" X
   // Add plugin code here...
  J% f2 l8 P6 R# b- o; x   ```; q1 O& T0 s5 v0 f0 q

/ L& F$ R! M2 {' ]1 `! j( ~! r   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
8 l, A- n8 ]; `3 n* ^6 ?! ^
1 k3 u& s, \" i8 I9 b2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:9 s% n1 A4 h( ^* D( U0 z

: x. c) {& a8 {  Z( o6 G( C   ```' u1 L1 L1 Q7 q0 T& B1 r
   add_action('init', 'create_custom_post_type');9 L- n8 M, Y8 b/ C( f  M& R
   function create_custom_post_type() {! s4 q2 z1 n1 R7 }1 A1 d
      $labels = array(
, W7 K7 y+ T: N1 J          'name' => 'Site Wide Notices',
5 p2 K2 }3 j! L1 J0 n          'singular_name' => 'Site Wide Notice',
! p% o! A' e8 X$ S: U; {. d          'add_new' => 'Add New',8 s  O4 }, W& J9 x
          'add_new_item' => 'Add New Site Wide Notice',
" P9 Q) m; P! y& D& K          'edit_item' => 'Edit Site Wide Notice',
. W/ n, J1 C% K4 d" E2 k! ^: }          'new_item' => 'New Site Wide Notice',
  i9 y8 `+ b, Y; b* Z          'view_item' => 'View Site Wide Notice',9 }9 s/ r# P6 T9 Z* X
          'search_items' => 'Search Site Wide Notices',4 V4 c* ?9 w6 h9 r$ q+ o
          'not_found' => 'No site-wide notices found',
7 j( O6 B* E2 y7 q  p. H          'not_found_in_trash' => 'No site-wide notices found in trash'
9 P3 S6 b* ~. K: L" S/ @0 q* D0 V      );
  O+ ^+ ^" o% ~. i/ [0 l' D2 z# {# t" a5 S
      $args = array(" a6 u9 T) T/ d' G7 ~! L
          'labels' => $labels,
3 }! V1 D' F/ l+ v3 L0 O          'public' => true,8 n  v; V- f, C: u7 e( k' I
          'has_archive' => true,
0 I& U$ i. b0 L          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
2 p) Y" E" t# B. ~          'taxonomies' => array('category', 'post_tag'),
/ e; B$ ]+ ^5 H# ?% h, A          'menu_icon' => 'dashicons-megaphone',& \2 H0 h/ Z5 r% f6 q7 k# L/ a
          'menu_position' => 5,% B- U+ o( |5 ~+ ?% R% x: a5 f
          'rewrite' => array('slug' => 'site-wide-notices')
2 w' P' B# O6 L$ X0 w, K      );6 t/ H1 J" w: @4 G) _# x4 ]% Z
2 S9 E  Q% T0 ^( W6 U
      register_post_type('site-wide-notices', $args);% j" [8 B: x. y. e: P: p
   }
& B6 t/ P9 y; _   ```9 j3 |5 N  ], j! `$ N4 l

5 ~. u2 _* W- l8 z( G+ Q, c   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。: c  J% e- f- V9 H( ^

3 |8 e. e/ T/ l: {3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
$ |' O+ f$ A* p4 i% ?; M1 j) _
1 i  ]$ ?" V! `. M, |   ```
4 i9 d0 i' j* v. I0 @! j  v  P   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');4 [- c6 V; S+ J
   function add_site_wide_notices_boxes() {" T0 @  z2 @  D7 n' _
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');$ C% X3 V" J/ K* _" w
   }$ b+ `6 s! |5 }/ }& m9 B. P

1 B5 B% D3 o1 L$ Y( B4 w   function notice_details_meta_box($post) {5 i: A5 B( y* d" D
      wp_nonce_field(basename(__FILE__), 'notices_nonce');
% u+ j4 x/ I9 B7 ^9 H0 e# N2 I      $notice_title = get_post_meta($post->ID, 'notice_title', true);
- b# N" u1 }# v( F7 s# D6 V  K      $notice_content = get_post_meta($post->ID, 'notice_content', true);+ m; L1 o8 R& [- S
      ?>9 {5 m: y/ c. t- m8 J; l, ~5 p5 Z0 d
      <p>
0 b- A' N4 G$ U9 Y; ]( w% [          <label for="notice-title">Notice Title</label><br>) a0 R) R# D7 L5 O6 T7 Q$ N" y. {! C# C
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
+ r1 Y4 W9 |: r: x3 H1 ^      </p>
9 S# u" }! o% h2 t' U' `      <p>
! A- f, j' I4 \6 a* y          <label for="notice-content">Notice Content</label><br>- m2 S9 t' R* y+ M1 F4 W0 m
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
' u" ]  o# S7 n8 B+ O: b5 i      </p>) b' {/ M8 L( m& K
      <?php
) C: ?& y+ d  @- h( h! |$ ]   }  i3 \/ p1 k2 I7 q8 r6 L+ l
  F8 f3 ]/ b. O
   add_action('save_post', 'save_site_wide_notice_meta_box');
- U" u/ E6 q( w( O- t# ~   function save_site_wide_notice_meta_box($post_id) {  Q5 y; @# i( d$ j6 ?) [% p
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))8 K' m8 U, O% A3 Q, n% S
         return;( \; s6 {$ A  S. m" L9 J, T% p
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
  L) j! B- `( G" J0 U, x         return;# |! W4 N/ f% H, F3 _, X
# f) m! Y6 R- L3 m& u. H4 u" P$ J
      if (isset($_POST['notice_title'])) {7 y1 F8 ]9 ~. |5 V0 L
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));2 v% H2 Q( b, i/ G6 A  Q& S, U! b
      }6 f! e2 z+ j1 e# U& l
      if (isset($_POST['notice_content'])) {$ E# s- n1 |7 t' |8 G3 f
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));* ^! W- s$ C' M( x$ \
      }
8 l  ?0 [# y; h$ O$ G' K   }
( u. M1 m  \. c$ `) Z2 Y8 E   ```
: D) Z* j0 w% z( O' {1 V- b; I1 L  W( y- P7 q) s
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。1 [  V6 u" d; n- D! n+ ~, H+ X! p

( F# ~; H, Z/ k0 S/ q4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:7 l! j% K' l2 P
8 \& E" i, O+ R6 p3 L
   ```
& ]& k6 ^' P0 {+ \   $args = array(
/ ]! Q0 \, D% i+ q' J: f      'post_type' => 'site-wide-notices',
8 I  L5 c) q" o- V) k3 }  L7 r& C      'posts_per_page' => 3,% \$ g# X/ u4 W. R4 H0 s# A, Z
      'order' => 'DESC',/ \- r3 Y( O5 [- W/ t8 n
      'orderby' => 'date'& T1 ]. h* R, p9 y& H
   );! ]# h- w  s2 V0 g" T6 F
   $query = new WP_Query($args);  e) X# w$ t7 k! [3 }
   if ($query->have_posts()) :
: Q  Y1 F% J: H3 D# W0 i5 n      while ($query->have_posts()) : $query->the_post(); ?>
, E% z* c9 n5 g) c! y' I: p; D0 }1 T          <div class="notice">
8 M( H7 M) v! D, E9 C              <h3><?php the_title(); ?></h3>
; Q, ^. c- c, p. d              <div class="notice-content"><?php the_content(); ?></div>
: O9 W8 X  L# z2 l1 \          </div>
$ x) m5 }  K# m; R' K2 T# Y      <?php endwhile;5 n+ y0 f0 H- [9 g  L
      wp_reset_postdata();
$ y0 V3 {  z  ?. c: _# D/ T4 P   endif;
6 z$ t" o, P( U) F" l+ r   ```7 U1 r% i8 e5 b* Q  `, i

* G" G7 ]+ h9 Z1 m- ?   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-13 06:14 , Processed in 0.014263 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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