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

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

[复制链接]

338

主题

520

回帖

3454

积分

管理员

积分
3454
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
  h+ G  {& P2 t9 \- L4 p" S
  V5 s6 Q, j( `* M: T9 R1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
1 r: N0 Z& C1 p( D
6 }' |; Y& i" s3 G# Y" i. q2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。% {4 l3 G" Z1 n' m  q

) {: Y( S  S& ]0 J3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
8 X+ _. [5 H0 O6 C2 b* ^9 O  C( O" s1 H
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
/ B% ~. y% o4 L! c/ C) e& a# v3 E
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

338

主题

520

回帖

3454

积分

管理员

积分
3454
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
. T8 ~( g, q& U# k* w$ h; T$ \$ y# ]" j& R" N
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
$ {0 Q. ~6 c, l. Q
1 @% K( U9 G. A2 g0 D1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:# R% a4 K4 t2 b' N2 J

; R' \9 Q* ]' R) I$ r8 D3 b' F   ```# P5 t9 Y  }6 k1 \0 Z/ D
   add_menu_page(& Y3 h/ ]1 p3 g  w
       '全站公告',
  k/ X/ A7 j: _( i; J+ v       '全站公告',
- L9 b( Z5 c, u( }- z9 s3 C       'manage_options', //需要的用户权限. V& ^8 j6 \: _3 r# e/ V: O
       'site-wide-notice', //后台页面的 slug4 O0 a) e: [$ k/ }: ]1 B
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数; y1 z7 y! o& p' p
       'dashicons-megaphone', //用于显示在菜单中的图标; C# U$ @5 r- v
       30 //菜单项的位置
. n$ x! M. w' M% O% f% d5 {   );
- W& T. i* c% v# }# p: t8 d5 _+ a   ```5 k6 m) R% B  s9 W! {6 I/ S

; I# m) l) W, j% s4 h* o   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
/ F2 a9 F5 M; y% }& q/ G
' L, \- l8 u+ T2 @5 R% m2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
- G% E! a" p# h7 d8 J5 j
& T" V, h2 ^; F$ Z9 W  n   ```6 t# k: b7 p; l
   function render_site_wide_notice_page() {+ D1 Q( ^' a! {& z
      // 渲染后台页面内容
7 H2 O  e: [, T3 c; O      echo '<div class="wrap">; X# v% p8 a1 R8 h' I
          <h2>全站公告</h2>
. [/ H$ m, q4 k; o7 h* y3 g          <form method="post" action="">2 H. S+ C. {+ X/ Y1 J" U
              <label for="title">公告标题:</label>
% l! a; }' k* F& z* G              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
7 f6 H. B$ I! x8 @              <label for="content">公告内容:</label>) z: b4 E$ m  G; M. F' r0 U
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>! k8 M0 U. V4 w5 Q
              <input type="submit" name="submit" value="保存设置">$ k! z% G# X4 G
          </form>
7 Z! _1 \; G" i      </div>';
9 m4 k3 O. M( J9 d, Z' h- W% E' O6 {* v( W" z) M$ j0 H
      // 处理表单数据: @7 G/ a# e- M' \
      if (isset($_POST['submit'])) {; e. t2 b9 k7 W  x, j
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));$ [2 f4 E" G6 M3 O5 }
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
) Y) G8 ^2 B! @8 N  h: Z$ P6 x* P      }
. v& }3 |% q$ G- ^8 G   }
: q. c& m6 i, j% ~0 J& S) n) D   ```; a6 y$ a4 f% F

/ [' X$ j0 r7 j8 h2 R   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
5 {1 y7 t, z  ^( R2 R& [; k1 \0 x, l# B8 V) c
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
, l4 I' m* k) b1 g, A* G! t
8 S' B7 f! g& l6 I' k   ```
: K9 ~/ V: `" s% I0 x0 Q1 J   <?php
! {0 g6 ]% ]  ?& x) K   $site_wide_notice_title = get_option('site_wide_notice_title');
3 {, @" S3 p+ d6 e7 ?! i/ S   $site_wide_notice_content = get_option('site_wide_notice_content');: ^  ^* R: t' c9 M& O: V( i0 b
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {  \  a5 ~4 V/ t. n8 D5 Q+ j
       echo '<div class="site-wide-notice">';
5 K  l; m2 z) z0 |       if (!empty($site_wide_notice_title)) {
6 I- L3 q5 p: s           echo '<h3>'.$site_wide_notice_title.'</h3>';
% G% ^- o( J3 P9 [7 H, U) Y- j# I' `+ P       }
8 F% @' b1 W* p, _# _) l       if (!empty($site_wide_notice_content)) {
- n3 o& u$ X1 n' Q' S4 _6 @           echo '<p>'.$site_wide_notice_content.'</p>';. s3 }% m$ J% }9 x, ^5 i; F6 w
       }
+ ^3 [0 A+ A% J' E" B6 M0 ^$ h       echo '</div>';! r" {5 A* W/ N3 W/ {( o
   }: k' n! S6 H% L3 t0 n+ S8 g
   ?>
3 }9 a9 O* }+ B4 e" A   ```" n4 b9 s/ t; ?" ]

1 q: C6 U" D6 |  P2 [   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
- G; A. k4 ]% n: U. o! z9 M% {% Q- c2 Q6 ~% m! `
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

338

主题

520

回帖

3454

积分

管理员

积分
3454
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?2 }6 Z6 }: z9 {& J4 ?8 s

6 A1 N, o/ Y* j' r+ A* ^您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
* |2 C7 h& ?4 e: W3 g$ a
) {% Q. A% O1 \2 B" _, n; C, k1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:3 b" d7 t6 E4 r

7 W$ P6 m! h7 j( y5 ?4 K. \1 O3 I```
4 z$ Z& C! `6 v$ t) S, E( Xfunction create_custom_post_type() {
; l% M6 S0 y, i3 i2 D    $args = array(2 ~' Z# o, y# M7 K/ c9 n
        'labels' => array(
* N5 S  {* ^0 h            'name' => '公告',
6 I* s1 k8 p/ }3 g9 {2 I2 t! C            'singular_name' => '公告'
/ n2 a( U( m9 \2 C6 q" @        ),, F' `; ?, u" S: P2 Y
        'public' => true,
" T' Z4 z9 ?, i" e        'has_archive' => true,
+ ~5 A+ G$ O8 [- Q( q* n& {3 e        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
! H/ n$ w8 f+ j        'taxonomies' => array('category', 'post_tag'),
9 W. V6 p' i2 E8 Q        'menu_icon' => 'dashicons-megaphone',6 j$ S; y4 i( ?, ], M
        'menu_position' => 5,+ z& F, n- C1 @& b5 z
        'rewrite' => array('slug' => 'site-wide-notices')
% a$ y1 q. _7 I: {5 B    );
- K7 q0 L& L2 L& _2 A3 y- v, E    register_post_type('site-wide-notices', $args);
0 r# a7 @! _1 |3 b0 r; l}
# Z2 E! R+ g- D% F/ kadd_action('init', 'create_custom_post_type');' x9 i" R. Q5 P$ V8 C9 s8 V1 b, u
```
3 J9 {8 ?$ g0 C8 B: F' Z) Q+ [& v0 B' j- h/ B: O) P/ j" h; y" K
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。% Z3 t: l$ H1 t5 P+ i  U# i% a

8 G' D, T8 g1 r3 V2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
+ |7 u8 M+ z  S3 e0 T; l
+ P$ G& o6 _2 B& U: L, L3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:5 B# i/ f0 f2 u! _' @* w

% b9 ]6 l2 \/ Y0 B```
1 w; g1 ]( b  h! Y* y" H$args = array(/ I! t6 A" @! c9 r' N& m3 K
    'posts_per_page' => 3, // 显示的公告数量/ V/ B7 O' C4 ?7 }! d
    'post_type' => 'site-wide-notices', // 公告文章类型
& X/ z+ Q4 Q. V* i$ e, h5 p# n    'post_status' => 'publish', // 公告状态
2 p( r) ]" E, |& M  j    'order' => 'DESC' // 排序方式
6 V/ X1 C6 q0 d! G& Q);
+ W1 H: @! K: W% t! W6 ~2 _
- [' ]% r. f+ _$ \+ G( o) e$notices = new WP_Query($args);
0 g( y2 z" P; }8 Xif ($notices->have_posts()) :
" M  P! d1 |* M  _    while ($notices->have_posts()) : $notices->the_post(); ?># V+ r+ ^! m2 H: w
        <div class="notice">
% f' d6 _+ E  Z            <h3><?php the_title(); ?></h3>
; z3 I* V; C2 j+ n            <div class="notice-content"><?php the_content(); ?></div>" Y2 E. J$ e# C8 P5 i2 x2 ]
        </div>5 }: R( u' b. ]: \( r4 U  X
    <?php endwhile;
; S  V/ R  c. [/ t4 ielse :, y4 d4 Z- ]8 `) B3 Q
    echo "暂无公告";5 U. k2 G# d2 l4 l2 ^/ z
endif;8 ~% E" U, ^8 S( m* k( s  |
wp_reset_query();1 q  [1 B- L# o. P
```
' q6 Z6 ]0 D, o, @2 d! d. \1 ~0 Y& Q  L. @
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
* ^( W( W4 U9 G. A9 e* S8 x1 D" }" r' A" y
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

338

主题

520

回帖

3454

积分

管理员

积分
3454
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
1 W1 l) g( ~6 z3 g# {  i$ L& @5 J# V" E& m. J0 v" F
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
& p* {4 o; J1 E/ \% ~  R. {0 K$ u' f
以下是创建自定义插件的步骤:
8 y3 |! s9 r" k) }- |3 T  {0 X8 D# g; Z) t2 E$ M" e" f1 _- i: G5 S
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
8 |! A9 [* K3 v2 L
% j0 g$ O' b1 @( b3 u7 w9 H   ```/ X/ ^0 L+ f% l! U- L( m" `
   <?php1 ^" Y: D/ m5 G6 Q# q7 e2 d
   /*& z0 o+ P, i" N3 t  p7 Y2 }% S0 h
   Plugin Name: Site Wide Notices Plugin
6 q1 B+ z' ]/ \$ u. B0 F4 Q   Description: Adds a new custom post type for site-wide notices.4 U3 N+ z! p. O: o4 r6 D: H
   Version: 1.0
/ S+ I- g3 ^, n/ o0 y3 F   Author: Your Name
' }; K$ h+ m+ \9 g1 B   Author URI: http://example.com. v' E8 H2 d  G1 w0 j* K  a
   */
3 n2 m! y- b. k/ B9 I8 y
. S5 K0 v5 r. B5 q$ C* z8 B' S8 X   // Add plugin code here...
7 Z9 R& R1 r4 g; E" [* X   ```6 Y6 r" q% r$ [, z. Z

4 E; E9 `/ l6 O' `& ~   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。1 U- Z% Z5 x- Q# m1 d

" G3 x* N! m# X  T7 \: J2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
6 E1 ~& ^6 [" w
" ]. u8 B2 R! e; Y# s   ```
8 u2 g% y1 P4 r4 u6 V" e( }5 d9 p" _   add_action('init', 'create_custom_post_type');
; I' s. I/ l. x   function create_custom_post_type() {
; I% _4 K: {0 M8 O" `      $labels = array(& p" w# e; P3 g. A6 A
          'name' => 'Site Wide Notices',
( t# v* J, `( R; ?# }9 G* s          'singular_name' => 'Site Wide Notice',4 V( r) t* l8 g
          'add_new' => 'Add New',
4 i, V  O+ Y9 v  g* _  S          'add_new_item' => 'Add New Site Wide Notice',
% }2 }( w9 N9 S# G8 S0 k2 A          'edit_item' => 'Edit Site Wide Notice',
( g; f. `& L' y" I& u1 M* O          'new_item' => 'New Site Wide Notice',
3 g2 q9 V( h. T( j, E1 [2 ?          'view_item' => 'View Site Wide Notice',
9 F" L7 t( O6 H6 C2 n8 g          'search_items' => 'Search Site Wide Notices'," N1 p5 L' j$ d+ x' S
          'not_found' => 'No site-wide notices found',
9 U6 t1 i7 b! ?          'not_found_in_trash' => 'No site-wide notices found in trash'
9 i& V+ N9 q4 c7 O5 r  V% B/ m" n6 F" f      );
! j/ t, F- V# ?. R4 C: l: K* M0 B
      $args = array(
; C$ r8 j0 G8 }( R  q) ~, g          'labels' => $labels,% Y8 K' w2 C6 t" @: a
          'public' => true,
7 Q+ Y7 X% T3 [9 `; Q          'has_archive' => true,
5 |0 R' j2 s# Q2 f( @          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),+ L! q' i0 l( T7 G' K0 o) w
          'taxonomies' => array('category', 'post_tag'),) e8 L" e2 r* ]5 [8 M
          'menu_icon' => 'dashicons-megaphone',4 H/ m) ?; f3 s7 ]# s# z
          'menu_position' => 5,2 |. I9 k% ]* z; h
          'rewrite' => array('slug' => 'site-wide-notices')
0 B9 ]. ]: E- G7 M      );
  ~/ G3 ]8 b6 W) ^8 D3 ?
) a; g( [1 D+ J& }0 Z  Y- o      register_post_type('site-wide-notices', $args);
0 _1 x4 K+ s3 I   }
" F# J- y6 H* [, z4 a   ```
+ ~7 ~+ T# A  U. o# G* j7 Y& ]4 L( F- j# R& Q% g4 R, U
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
6 X& u" C6 e; \7 \; c  @
5 g/ r# l6 U9 {3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:7 Y' \% J: s6 x! n" v0 H' O

: f/ I4 z# m* j- a% T$ c   ```6 Y& J/ z4 N6 l2 @
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');) D0 Z7 V! u" v0 [4 _% Q
   function add_site_wide_notices_boxes() {# L( Y4 j6 c& j5 U- A, d
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
1 e8 a: Y1 [* n' P) v! N   }% N' K3 G3 c+ z( `' _' u
1 @$ c7 E' j8 |4 B5 g& r8 q
   function notice_details_meta_box($post) {
7 ?( ~- N: Q0 c6 G5 f      wp_nonce_field(basename(__FILE__), 'notices_nonce');! C+ ]& ?, `! \: y
      $notice_title = get_post_meta($post->ID, 'notice_title', true);" b1 `, S4 l7 s
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
8 L/ j6 v6 E3 O      ?>4 ~7 j: t( F. D6 |4 U, ~
      <p>
3 W) c4 d7 B# t. ?, Q          <label for="notice-title">Notice Title</label><br>" c& c$ [1 |; z  r3 ~
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
% y! P4 b4 X1 g5 S! \! m9 k      </p>
: c* b# X2 v2 v( V5 C9 ~$ g      <p>
* ~5 c& j, d1 f4 {  j          <label for="notice-content">Notice Content</label><br>' L* l* e' _$ J, J  K4 u3 y6 f
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
  X: R! C# f' H) V# f' N      </p>
1 j7 I# U% V4 {  N' F6 Z5 m6 D# ?; u( q      <?php
  g6 ]  k( R+ |7 a" I; x   }
! x/ t1 c. _$ W1 X
+ _5 b$ [8 ]# V2 b. M   add_action('save_post', 'save_site_wide_notice_meta_box');2 ~- F, m6 d, j7 G6 ?5 z  W
   function save_site_wide_notice_meta_box($post_id) {8 d+ V: L3 j/ U& v# C8 k
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))- p3 p, [* z; ^/ e2 `' u$ C
         return;( h& D7 g! p/ w3 x: _( ?* @$ d1 A' ~
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
; E5 a4 W. d! [8 I3 r: `         return;5 U6 q+ }2 g) f1 g) Q- B! t

+ _! C' K2 Z2 I6 l5 f5 k* B      if (isset($_POST['notice_title'])) {2 `. f. u$ `, |. [( ^- D. H
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));; F; F+ q( r( \9 Y9 J
      }6 L5 W( H- j6 Z' n
      if (isset($_POST['notice_content'])) {) L- j0 [1 d; D4 e0 R7 t/ ]
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));' S  ?9 Y5 \* z
      }, f- C0 p  O* y6 l/ I$ J1 t
   }# X5 t/ ^+ e5 g: D" R4 W1 F
   ```" q# r% |* `  J& p8 m% Z

4 P! S! T6 E" C3 ]# o2 c" m   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。* o2 ^& K/ b: d

# T2 J) C  |4 ~/ B3 |# u6 d4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:! S8 [. K8 E1 a+ j

4 u, m) e4 B; U7 `& h) B3 G   ```' D' i/ z: A% B
   $args = array(5 R. S! d( Q1 [2 Q/ n. K
      'post_type' => 'site-wide-notices',' j( j& y& m* u4 D  J1 Y1 m6 Y
      'posts_per_page' => 3,$ Q' O8 L, t. P% h; x
      'order' => 'DESC',  E- m5 x. r) l) ?1 v  l5 H
      'orderby' => 'date'
8 _* m# k9 h% s/ Z0 o7 N   );* i1 M4 Q! d7 Q3 h
   $query = new WP_Query($args);& V5 S. m1 m4 V
   if ($query->have_posts()) :' B7 v$ L0 G7 S" \4 @. s% _0 w" K( I
      while ($query->have_posts()) : $query->the_post(); ?>8 O" H, _, N0 X3 o" W1 i
          <div class="notice">2 i- d* ^) L$ w0 E0 i$ J
              <h3><?php the_title(); ?></h3>4 h3 Y9 S- e3 r; ^5 c1 Y/ q
              <div class="notice-content"><?php the_content(); ?></div>
9 z" H% Z. D/ n: k8 J! E3 {6 l          </div>4 Y+ s- B& V- ]" u4 @3 f- f- k' H$ X
      <?php endwhile;, w" f: f) G" |3 }  I7 C
      wp_reset_postdata();
( [9 l: n8 q5 X$ p# D7 ?  @7 `- u, i   endif;5 F( _/ q8 K1 \7 p
   ```
5 l3 ^! i/ X8 q! S" W
' z' g& G8 M' j; C* n0 B' H   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-22 00:24 , Processed in 0.026415 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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