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

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

[复制链接]

331

主题

511

回帖

3355

积分

管理员

积分
3355
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
/ {8 [5 j. E8 |# ?: Y9 B0 b$ L* j0 N6 w5 j$ W% R
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
/ n( q" h0 j6 G+ l( p# |7 i' @5 {0 r; u: A9 p
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。+ |/ M' B' C- b0 B1 d; j( E

6 M: {$ _) O2 L. d0 U( F# D0 h3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
. ~. z9 K2 K0 p1 m! D: ?* O5 Z6 x* `
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。" P9 w, u7 q6 x
' @) }) L' |9 S7 [) ^2 U' N9 C  u
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

331

主题

511

回帖

3355

积分

管理员

积分
3355
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?# [! r5 W- k, T. }. L( C# Y! H
4 t* Y! g$ V/ j9 T9 D: z' w
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
' j. O: O, z, g
; R" a0 \# U4 u3 o1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:" \$ h/ J5 }' B3 n- ?5 |6 _! k

) v6 p- r1 S% m8 }- q   ```3 T1 b. l4 S/ Q3 m; P* ?- l# U
   add_menu_page(
: b* _. R) Z0 B% {' p       '全站公告',; |$ }6 `. x4 m2 ^: B
       '全站公告',
' z, l! ?8 x7 `; ^# j: T* B: y% Z, f       'manage_options', //需要的用户权限
: W+ N* t: e+ m) ~       'site-wide-notice', //后台页面的 slug
) @5 a' g" M" ?/ _! s/ y       'render_site_wide_notice_page', //用于渲染后台页面内容的函数% l( l. ^, X+ e5 c7 I" V- G
       'dashicons-megaphone', //用于显示在菜单中的图标
2 s# }9 Q0 P; z1 {3 c0 e       30 //菜单项的位置- W% h/ s7 k% i4 y  x# X7 M) i
   );  B# L  R# N" b8 q1 ^. q
   ```
; W, d: l$ k, V6 a% K  i+ C
' x; v# T) U9 z0 `   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
& O1 v. e. y. U7 G) i: f$ M! x
4 \, \/ F% t7 c. l2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:% B# M) J% v9 Q8 {0 Q# f
, A& F! @* S! s' S. L' B+ X
   ```
% D% [  @6 |2 B0 r- t! j/ u2 b3 y2 C   function render_site_wide_notice_page() {. D; s6 B5 q0 u+ C. `
      // 渲染后台页面内容
- _( y3 p' h5 c7 H( Y      echo '<div class="wrap">! p3 Q( I, W2 ]5 q: g
          <h2>全站公告</h2>0 p0 U: q( S2 u0 H
          <form method="post" action="">
; H: ?* f. d0 j" m) J8 b7 G              <label for="title">公告标题:</label>6 u( \% W7 u5 s) s9 C9 V
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
5 G2 q9 L3 t9 X4 q5 B0 `              <label for="content">公告内容:</label>
) F" Q( G' Q9 X( L! y) ]              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>4 G; @+ t! _: g
              <input type="submit" name="submit" value="保存设置">
6 d. M2 ?! T% [& }) H          </form>! N8 F4 x. w, C8 j! x% V6 S
      </div>';+ @0 S6 u  f/ e8 K% Q

  x- |" U  Z3 O, K      // 处理表单数据! Y- s* X  q/ W0 E! f- s1 z5 D) \
      if (isset($_POST['submit'])) {. ]! a# |. |9 ~7 h+ y- X& i
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
4 f7 j; q7 D' T9 @2 ?7 Z$ S" U9 P5 e          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
1 S/ [6 c5 D( }" o2 J3 Q      }
1 U; g% {! o2 m0 |- O  I   }* d( `$ m) `; W4 i. u3 x$ K+ }* Z
   ```" ~8 T, U; \# x2 ]
+ f+ j9 k9 i$ T
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
. \! E, ^# w. _' z; t! O# D) c- t3 k+ q1 |1 ^) n4 m
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
) g) \% x0 w& l
0 @0 G9 p  }, k   ```7 N8 a4 [: w* z2 v$ _2 k
   <?php: B' U0 p! F- \  b. v" F$ d
   $site_wide_notice_title = get_option('site_wide_notice_title');
$ P* ]0 L1 t5 @, `' r   $site_wide_notice_content = get_option('site_wide_notice_content');2 [. V8 R! ^) W4 p
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
3 |0 n# W# q+ s: U( h; X       echo '<div class="site-wide-notice">';
+ f5 q# G4 i# J$ T' V9 ^. _- _       if (!empty($site_wide_notice_title)) {2 q/ Y9 W& E$ ~  Q+ ?
           echo '<h3>'.$site_wide_notice_title.'</h3>';& a6 Q- f5 K! |6 H# y7 Q
       }
: w% d, \3 e8 j& l       if (!empty($site_wide_notice_content)) {
, X' @) Q$ @7 q2 A6 j" H( z           echo '<p>'.$site_wide_notice_content.'</p>';
4 v2 P6 S/ f/ U/ Y9 @& C# E' B       }
2 A6 E5 Z: p' b9 w9 ]       echo '</div>';
( l- Z3 n  N) u( M1 ^2 ]   }
+ Z, w' y" [3 O$ `: i. ~7 w   ?>5 R8 ?" e* R% t) {' h
   ```; n; |7 R* k! G1 R/ q7 H
% {+ V& A+ c" Q: x( t- ]4 N: t
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
8 H6 F4 T8 C# Y! C$ h+ I
) W7 a. J+ o& @3 _6 Y( n请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

331

主题

511

回帖

3355

积分

管理员

积分
3355
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?& Z" }! B( m) l

2 s; Y+ p( l  ?# t; g, ]9 N: r$ j  T您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:, N2 G$ b; A3 C4 G
  G4 q7 `+ z+ C* z8 g
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:. \% L, m  \5 H6 K
0 h4 T3 i( o. l! \' i
```
  G8 g5 m1 X- A" l6 Cfunction create_custom_post_type() {
: C, p# L9 \3 M2 o) H    $args = array(5 y& W/ F8 j% O
        'labels' => array(
3 M1 _4 L3 o. t) t: C1 H            'name' => '公告'," m( a7 }$ o6 T* Q. |
            'singular_name' => '公告'
4 `3 s6 F6 _" M6 r        ),
) f/ F# U3 ^: D0 \8 {        'public' => true,
- r3 c; _; L( Z' C        'has_archive' => true,  O# n! E( a/ O3 _$ v3 t& r# H
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),0 r. @" ~) ~7 |4 {
        'taxonomies' => array('category', 'post_tag'),& ]- K( r7 K% R3 \5 {9 [
        'menu_icon' => 'dashicons-megaphone',
4 ?( \, Q) o+ r: z* I, E        'menu_position' => 5,
' N& e7 b7 y* ]        'rewrite' => array('slug' => 'site-wide-notices')$ N. S- V! O; M2 d/ ^
    );
8 v& ~+ e5 J+ e3 }" ?. D* U, _    register_post_type('site-wide-notices', $args);
9 t' G; N6 U+ V}- r' ~# \5 X% p$ K. r9 G
add_action('init', 'create_custom_post_type');
. N8 J, l5 @' w& H```
! P4 P) ~; v9 d9 }1 \2 {: K8 }1 J+ {2 ~  T" n
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
0 W8 A" Z6 ?; X
) r  U) z; M$ I: r2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。# o, D! \& y: C: a, c0 I3 M

! y( O' A) |# F2 p( l, t3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
8 I% Q$ Z* j# a
/ n# m4 w! g7 C: o# P/ |' k6 H4 h5 J```
: i: u7 x" d: [" w, E1 u- N4 C$args = array(
* P, n1 h# W3 t6 e2 B    'posts_per_page' => 3, // 显示的公告数量" P$ Z& \0 m2 N3 ]( P' U
    'post_type' => 'site-wide-notices', // 公告文章类型$ W. x$ O( Y8 t) u: C2 t
    'post_status' => 'publish', // 公告状态( P) q3 t! ^" s7 V( r. m+ ]
    'order' => 'DESC' // 排序方式- j2 T6 B9 R/ R/ M- \
);
$ ]$ B- E2 k) N
, H3 f$ s4 R5 T. m$ }3 t$notices = new WP_Query($args);
- `0 z' A: C/ k& L: h& d8 A1 kif ($notices->have_posts()) :
: d5 o5 c8 o, j0 j4 Z5 P# E    while ($notices->have_posts()) : $notices->the_post(); ?>3 A% M0 }# _& Q# p2 p) Z
        <div class="notice">
  g  |! J5 D4 X            <h3><?php the_title(); ?></h3>, l' g8 h3 W# i: I4 N+ ^& P
            <div class="notice-content"><?php the_content(); ?></div>' ~! b! `& z3 W" s  W1 a
        </div>
& q/ c0 F/ n  e% j    <?php endwhile;
: X% H. W# U1 m  G, a) b5 Qelse :
) {! C* V  S, o4 ?4 |6 _/ _8 z    echo "暂无公告";
$ K  Y' K$ ~0 q6 }8 E  v; P/ E& tendif;
4 Z' w9 G9 n7 J! `+ qwp_reset_query();1 [) j% c% }8 j4 H
```
% ]0 J, Y, |+ W& z7 y/ a
( z0 c/ `' O" Y, ?( q) x1 O- h这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。2 E6 ?  A' f7 g# R( a' d

8 E  X+ W& X, G2 ~以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

331

主题

511

回帖

3355

积分

管理员

积分
3355
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?$ r3 ~# `  s& G
3 o! ]: w# G7 l, w, q
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
3 o+ X2 L7 |, @% m* E9 K, G7 J$ m* j+ W3 `
以下是创建自定义插件的步骤:
# k3 @- Y: Z8 T7 z2 i
0 Q3 c# L. V3 `  U# m+ [1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:, B) x, x" D6 e

% i- I+ R- F$ X$ M" ]  P   ```: Q' @6 W* o$ r+ M* _' W
   <?php4 f1 {( s: c; O: p; k$ A; a
   /*/ m) F8 {4 S  i' h3 z
   Plugin Name: Site Wide Notices Plugin( g  b' }+ _, b( V4 I2 i
   Description: Adds a new custom post type for site-wide notices.+ |) R" g  V7 \8 q* n) R
   Version: 1.09 e7 F3 R% p' q, P0 w3 N
   Author: Your Name
" x) y3 a5 \& [: J0 B   Author URI: http://example.com( q, K$ z3 K0 ?0 y" o& X+ d
   */- s$ p" S4 u# h( G, L

; V  F3 n8 y8 i. B% [   // Add plugin code here...
# v7 o  L, a" `  F   ```
; q% i: ~/ |/ A" ~3 w' L1 {
- P% H  f! V/ e& L: T   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
" O. V  `5 L, C% S6 @0 q+ I. i* |% D9 g3 \  J
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:' U2 ?" @2 q1 X. j3 H+ {4 t. B

8 J. `6 [6 a3 b4 Q   ```
& e: s* @6 f2 u$ X* ?+ \8 `   add_action('init', 'create_custom_post_type');: j, k: j+ G7 r3 }7 U
   function create_custom_post_type() {) L$ k; ?2 w/ e7 }3 ~" D% n
      $labels = array(& r" q- v7 X% s) Z
          'name' => 'Site Wide Notices',
9 A. V2 _. g* t2 V9 v8 P. G5 A, p( V          'singular_name' => 'Site Wide Notice',+ I8 j  n+ U  {- O1 @
          'add_new' => 'Add New',
8 L; [/ s& \( K: d: G( I+ `          'add_new_item' => 'Add New Site Wide Notice',
8 v1 F) m& `' N9 L. O8 U4 T4 N          'edit_item' => 'Edit Site Wide Notice',
6 m6 c+ u1 L9 S5 t7 I+ ]' l9 \          'new_item' => 'New Site Wide Notice',( `6 {, G0 [8 g
          'view_item' => 'View Site Wide Notice',& N$ @# b9 ?+ g' J9 R5 p& T
          'search_items' => 'Search Site Wide Notices',
$ y- C; T% f2 z2 C* Y* T* u' I          'not_found' => 'No site-wide notices found',# G' _1 z3 W2 c/ _. a
          'not_found_in_trash' => 'No site-wide notices found in trash'
7 m2 ~+ f; G1 }      );
$ e! q# G: A& O% I( w. a4 Q; H" o6 E7 h/ E. B- j9 r8 H
      $args = array(
9 B$ C3 z0 d3 k0 m) `          'labels' => $labels,4 ]9 X- u, f5 p& i# c8 l& q( T
          'public' => true,
- W) g% G0 e1 Q0 h/ U' _# t          'has_archive' => true,
: ~) q3 ~; ?4 T; W$ L$ [          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
: q5 h9 c, V( T) G& [6 F          'taxonomies' => array('category', 'post_tag'),
1 p- Z, d" l6 ?8 o          'menu_icon' => 'dashicons-megaphone',
0 W9 R# J! l3 K6 i; X9 z  Q0 b          'menu_position' => 5,& J! d- g6 {* c: h
          'rewrite' => array('slug' => 'site-wide-notices')) ?9 J4 _+ o$ a  r% K9 q9 ~! I
      );
2 n+ Z* t. K. y3 `) d! ]1 ?- [% a6 J+ I0 \# q' f- Q
      register_post_type('site-wide-notices', $args);9 J: s0 F( E1 g8 T, Q' ]+ x
   }
7 z2 X6 I% G, Z   ```" A. ~9 v9 d( k  O! u5 D

3 Q5 m0 F( Q: a9 M   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。9 E5 p( D# s" z! H# r
0 y& {# H' u/ g  H8 J
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:% G7 J) o1 a, D. U9 ?

9 t# O1 @5 Z6 @/ t& \   ```
# q: Q/ Z- s, d2 p" _   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
4 @( y  S, u& M2 ~4 l! e/ X   function add_site_wide_notices_boxes() {
1 r& a: P( M' L( e9 i, ]( F- b      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');# B# P1 [5 G9 G2 n
   }
$ H# D" I/ f( A) z8 `  Y
; F/ ^& ]% @0 f. ]   function notice_details_meta_box($post) {- ^: C2 z  E4 f; b! I1 o
      wp_nonce_field(basename(__FILE__), 'notices_nonce');# E* i" A- q) E1 [2 n
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
! P6 d6 q8 U. v$ H1 ^      $notice_content = get_post_meta($post->ID, 'notice_content', true);
! ^, x! g2 ^0 B2 `      ?>7 f) Y  f% o& u3 n) ]; ?) N
      <p>, D4 g! F/ U3 p' g
          <label for="notice-title">Notice Title</label><br>
" c9 L! b& t1 x7 f4 e* l* T          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">6 x2 {# L% T, G: o0 N
      </p>
4 V9 |/ A& m) Z! n7 N+ X      <p>& z" m4 R5 l9 W" k/ M, m
          <label for="notice-content">Notice Content</label><br>1 N# d+ @+ M+ l
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
" j  z# {1 ~& k5 Z1 u      </p>: U4 H3 C1 G0 @1 D, Y
      <?php
5 M4 ]6 m" R6 w1 p. D   }
. E) Z1 q& y4 w! l
2 v0 u1 A8 ^! ]+ V, L& B5 v   add_action('save_post', 'save_site_wide_notice_meta_box');5 r. d( d3 ?% ^( E( [
   function save_site_wide_notice_meta_box($post_id) {' H* R7 T! O- M2 Q
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))+ Y6 [/ N  o( M4 C- ]' a5 G/ g
         return;6 l5 I/ g6 O% F# q
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)& [: i$ a0 P6 G) ?* W6 g4 R/ f5 W. q
         return;) Z: R3 u3 B) \) N2 \( C0 T" s+ I
( B7 p. L7 Z# o8 U* U3 {$ D/ H) l
      if (isset($_POST['notice_title'])) {
; d4 }, Q( b2 e6 I" o; z          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
! s* p5 t! Z* x7 C8 V, N      }6 T( \. T" {/ l7 L
      if (isset($_POST['notice_content'])) {
1 H; T( [2 T: o. t" H          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));8 s5 v9 l, |. ^4 ~9 Q( s4 T
      }
2 O0 d2 B% ^5 i( z8 Z; I8 [5 H! ?% H* G   }1 N, `/ n" ^; |- Y" T( ?4 N7 F3 N
   ```/ F0 V  @$ U# z; L6 e

% ?+ F4 ~( o: H! H; y5 J   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。: p! Z( `" e( I) X, V# c
3 y! Y9 F. o0 Q- C' o4 ]# W- C
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:7 d# O- S9 Y5 A  P1 J# n+ m8 x
! }* B$ @! k6 c+ B% f
   ```9 @# i; s" U* L, m# g
   $args = array(
5 u4 |( q! A4 K' l2 {# S! M& J7 Y      'post_type' => 'site-wide-notices',
7 J. g% }) h; p- u! ^7 Q      'posts_per_page' => 3,0 b2 ]' X0 M* ^$ w* [$ Z, V: h
      'order' => 'DESC',0 |! k6 s! I! i% s. r- e! W
      'orderby' => 'date'# N8 F- a. i$ n: X; L% ?
   );
& Y2 H: G8 C1 c: f9 g. B   $query = new WP_Query($args);
0 R, f, f3 h! O/ g4 Z+ y   if ($query->have_posts()) :5 M% g3 l! Y* T% d( l, Q9 T
      while ($query->have_posts()) : $query->the_post(); ?>
9 h6 n2 k9 ^% b: _# u          <div class="notice">3 f. W0 U1 \: A' N, K
              <h3><?php the_title(); ?></h3>3 G) J2 F* f* y0 F: M: H, w! v
              <div class="notice-content"><?php the_content(); ?></div>
/ ]& F9 v1 d3 b& v          </div>  M3 b, f3 ]+ l7 P; b
      <?php endwhile;7 q: T# }7 k2 b" A/ f
      wp_reset_postdata();
* q" q& w, x% T2 u# _5 K, \   endif;# `5 s' E1 y& ~- a, Z; c: G$ M
   ```
8 ?5 F& s1 \( O) q% u, t1 i5 P" p+ H
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|通达产控投资 ( 粤ICP备2023021749号-1|粤公网安备 44030402006137号 )

GMT+8, 2025-11-21 06:58 , Processed in 0.077722 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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