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

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

[复制链接]

331

主题

511

回帖

3353

积分

管理员

积分
3353
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
# ]" _' c' \% P. U" U! P& i& |4 Q: r& G( i! M5 Z. g
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
+ {3 p5 U& y& w6 l( W+ u% ^& D2 L( Q) z3 E
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
2 i" x7 f+ m& E4 W1 n' N/ @2 s; v
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
4 }" a* Q" y7 X4 q9 }4 Y/ V+ n: z' \6 v$ a! l( W& M% P
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。% H  ?% p6 T) ]4 q# x3 X4 g
7 G) @+ q% m6 F$ _; r
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

331

主题

511

回帖

3353

积分

管理员

积分
3353
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?7 Y8 K1 u) K# c% Z: H
$ w" @. {0 c- C/ Y0 b0 z
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:# M/ ^8 ]. T6 I- Y7 h3 N! G0 |6 @

' o7 S% ~$ z1 M: R: `8 x: l1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:  M$ i0 J% N% s. i$ g
6 F# h+ }: I% Y
   ```
9 `0 q; |5 v# G   add_menu_page(
* I! d6 K1 d4 a( X% v: ~       '全站公告',
2 c3 v; N$ M/ m* P       '全站公告',
1 P# u9 T3 h" K1 \+ o2 w       'manage_options', //需要的用户权限2 ]% f7 k- p- Y3 e/ e! G6 ?% K
       'site-wide-notice', //后台页面的 slug
5 G0 r1 W3 q. D       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
$ I% o5 k6 A- I$ G       'dashicons-megaphone', //用于显示在菜单中的图标
3 U% _& U; F' C. Y. O       30 //菜单项的位置
% b4 {$ Q+ y; I+ R& D% A# x   );
. T- O1 ^+ p3 q" a/ A   ```; V( G2 D, T9 O+ f3 W) B- o$ K4 Q

' Z4 q, k1 v' E. _% x4 _. E   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
) [6 e9 f6 l: z* s% ^% O/ n
1 P4 i, W" U2 F2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
5 Z$ L* }* x% r% r: d) O  g# T! B" F7 b" \) Q
   ```
2 A8 k' e0 ~7 t  W   function render_site_wide_notice_page() {
! M, K5 x2 R) j0 V& B% T      // 渲染后台页面内容
9 ^  w8 H( `1 O: n      echo '<div class="wrap">3 }' p  g$ X' {& L
          <h2>全站公告</h2>
4 K! ]  X3 r# ^) t          <form method="post" action="">4 e2 I; M7 B' b$ F+ Q7 i
              <label for="title">公告标题:</label>5 u) f% W7 J5 [- R- t) T& p. O! r
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>0 j# T7 A* a8 s0 R
              <label for="content">公告内容:</label>  E) l* A, I& B" b, d6 d0 }& W7 A
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
" {& e  t# f3 A( B6 @% d              <input type="submit" name="submit" value="保存设置">/ p! H! J6 t: d  w
          </form>5 X* O7 T+ ?" X/ {3 x
      </div>';
$ g7 S- F/ x/ C  Q# _
2 d0 b( p, U+ C2 w9 `% r6 Z      // 处理表单数据+ V" K0 Z' c* O/ ]! }
      if (isset($_POST['submit'])) {! ^. x. S" j; w8 ~0 |! ~/ j! u: A
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
( p! p* y' y: E, D" @          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
; f% Z$ D2 g! R      }
2 U2 O* |% K9 ~9 q   }) w! [+ b+ d9 c
   ```
5 s" [4 ?5 ]4 J8 z1 E
2 ?1 L; m6 n5 C1 t, w, G7 B+ z   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。, p8 @. S$ l' \. v) ]: [2 U
* r  [& w9 j# t( N+ F# `
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
4 |1 n! }8 I! q  r/ I! \+ A# i% u. l# Y" i/ Y9 L# H# R
   ```
! k- u# s9 c2 A; x( X$ V   <?php% |% k1 X! s( S
   $site_wide_notice_title = get_option('site_wide_notice_title');" @# b7 J* a7 ^9 i( ]; ^
   $site_wide_notice_content = get_option('site_wide_notice_content');2 s% m4 P  `% [( u* n
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {3 _# ~$ L3 d5 y
       echo '<div class="site-wide-notice">';
5 @7 @5 h; d5 U7 s$ ?5 X       if (!empty($site_wide_notice_title)) {
0 y' \' z* g* @; Y* E2 n           echo '<h3>'.$site_wide_notice_title.'</h3>';' e1 `& T# H& e0 `
       }. z6 q( s4 t) @9 a# g
       if (!empty($site_wide_notice_content)) {$ z5 m+ L1 E" J/ a
           echo '<p>'.$site_wide_notice_content.'</p>';
- p5 F7 o# d# D; u. p! N; M* P4 O       }
7 X3 i, B# Y4 F  y       echo '</div>';. S) H# ?5 O9 k0 d' ^
   }
+ I1 z' T" S+ ~9 M0 _0 l; S$ z# [) r& _   ?>
, H% |# U: n. J( d3 o2 ], S/ P8 [   ```$ ?" V- x$ R- ^' @+ }  ]# e

- O. L9 H; }& [7 U   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。, _0 m. e) {$ d' i0 c

9 D! b/ L3 h9 `# `请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

331

主题

511

回帖

3353

积分

管理员

积分
3353
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
- S, g0 F0 n4 c" [
3 K- a' u! s- X+ v; @8 u您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
; i' `! j  B% i- g* B" n
1 y# ^3 a3 g7 n* L( y1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
9 P! ]* j5 `# ]4 e: q- D9 k! q! N8 a9 c/ C; K% p5 M
```# F$ q& H" ?8 B, k6 e
function create_custom_post_type() {
! d& X& u7 _* J8 \9 w+ M2 X5 G3 S    $args = array(8 y# C% ]3 D% Q& b4 u
        'labels' => array(
: C7 S5 U4 j  {            'name' => '公告',  W8 t# ], _% ^4 T, c; p
            'singular_name' => '公告'
, L1 y* \+ y+ I        ),- }9 L0 e. o2 U
        'public' => true,
! p# w* T' A8 M7 T! _) n        'has_archive' => true,
1 M( ?4 ^' T: _( N, b        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),( F5 K5 x- r- U% k
        'taxonomies' => array('category', 'post_tag'),
: N0 U' W" R$ }0 _& C& d0 y        'menu_icon' => 'dashicons-megaphone',, g# |9 A# _+ @3 j2 N' B0 b. G( L9 ]
        'menu_position' => 5,; o) ]/ f7 k8 x
        'rewrite' => array('slug' => 'site-wide-notices')6 |2 y# b/ ~3 A
    );* J$ Y9 w+ Y+ U; E) B. Y
    register_post_type('site-wide-notices', $args);
. g$ B$ E/ q2 F9 T" W# m& @" m- W' S}
$ b  n, W; l* S7 K: S6 nadd_action('init', 'create_custom_post_type');
0 L4 ^# w' s( z; y$ A& L```) H* Z! _' ]' n  J; L

' [: [( ?( D2 B& [1 a) e在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
) t1 y2 G, T& g! D7 s% m
" p& `$ }% g9 B- C  i. E3 j% H2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。: `! V+ c5 L5 a& _2 u
6 @5 j$ y* u, d  L# W/ z
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:0 [7 }3 x% z: [) [$ w6 ^/ N
# A) s& b/ d5 n1 `
```/ [4 h7 b, h/ D
$args = array(& }# Q; F6 Y+ A; ?$ Y
    'posts_per_page' => 3, // 显示的公告数量+ v/ }( x6 U8 l( L
    'post_type' => 'site-wide-notices', // 公告文章类型- ]. d3 B% H% K3 h9 n  @- U0 T+ o
    'post_status' => 'publish', // 公告状态
; ^. q( X: E3 h2 n2 y" E$ c( M    'order' => 'DESC' // 排序方式- |7 T" p9 t% G) Y
);
' I/ t- D. i/ ~2 i1 A* U7 W% K0 ^
. [, \( ]  \3 @& c/ P+ d9 \. l$notices = new WP_Query($args);- {0 x/ A7 `  O0 ^4 M/ ~8 G
if ($notices->have_posts()) :
) S; H0 x2 v" i    while ($notices->have_posts()) : $notices->the_post(); ?>
2 m" |0 F1 ?. Q% q  X4 l        <div class="notice">& e- J: Z: A6 j+ o  U
            <h3><?php the_title(); ?></h3>
' l2 ?& g' [- |6 [            <div class="notice-content"><?php the_content(); ?></div>& t* p; y( u4 A6 f) ?
        </div>
! n% D. c/ ?* G    <?php endwhile;
# r8 k3 D$ \: I7 Helse :
3 w. I7 X* w1 j' I& e    echo "暂无公告";/ V, `1 E8 O* s( d9 Z/ i
endif;& G0 {2 C1 {# n! r/ |( G0 l
wp_reset_query();
1 K" p  L) w& x) w8 y```
( v: y2 S) r: Y9 ]/ ]7 B+ S* A' Y
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
9 N( c& _% @+ o
$ n, o$ q4 F0 Q, i4 a$ }7 }" }以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

331

主题

511

回帖

3353

积分

管理员

积分
3353
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?/ V, h* N6 ]% A7 h6 I

4 d6 B, |4 S9 c% q# S# r% B如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。5 U3 c0 R! n* z* v" r, X# b

6 Z7 ]5 \, H1 T; k% G+ d以下是创建自定义插件的步骤:
' K+ o7 ?- H4 K  \5 D
: C7 d& K& |4 q# W1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
# H& G) y( _+ C
: @! h2 d) U4 n/ o. l  |( b/ _   ```
5 _7 L5 W9 o# }& t' U8 |7 s; Z+ J   <?php
8 S/ G! O3 {, \4 S7 S8 i- G   /*4 D$ y+ v) j4 p: N$ I, J- i
   Plugin Name: Site Wide Notices Plugin4 t0 a6 K. H5 H9 Q' n" D
   Description: Adds a new custom post type for site-wide notices.
2 z8 F$ g! }+ _) `   Version: 1.0" ^: H! `6 u/ Z5 I, ]- u+ J
   Author: Your Name% c/ N: u: U9 H$ M1 M- ~
   Author URI: http://example.com
  v8 e3 U' t8 e# y3 r   */
/ E( z, y. ]9 u) x& n6 b8 b' m! C# U& l7 O" Q8 M
   // Add plugin code here...
* {  E% Y1 I7 [/ T/ Q9 i   ```
, s9 X8 j5 N. z* t% ^9 T+ \8 Y( E3 J' N* ]8 N- R# i9 ?
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。0 p2 B' o+ J, d: g7 x

3 [+ v$ k1 x' A' l" i, P8 O1 c& i2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:7 u4 X( C+ l. E) N. |

/ s7 _& s2 U9 U: a   ```
8 T, Y( _; r8 g: N: y2 T   add_action('init', 'create_custom_post_type');
9 T. ^  d& x2 Q9 Z   function create_custom_post_type() {
7 R3 d* a5 j8 ]5 v- E# Z" e' U      $labels = array(
1 Z1 E# b  q, G, Y5 ?! s          'name' => 'Site Wide Notices',
7 P: C$ o6 _8 P- Z, g; V! W' a          'singular_name' => 'Site Wide Notice',) n; u/ v  g7 x5 T1 G
          'add_new' => 'Add New',
! z# c! a- {8 Z: U( S          'add_new_item' => 'Add New Site Wide Notice',
6 j3 S  I( c, _          'edit_item' => 'Edit Site Wide Notice',9 k: R) C. |3 y; d9 F1 V- O
          'new_item' => 'New Site Wide Notice',5 @% q2 C4 g5 w/ S/ n
          'view_item' => 'View Site Wide Notice',& ~7 W% s0 P' Z8 M; i5 F6 B/ R
          'search_items' => 'Search Site Wide Notices',- e- r# Y# {' |; e7 c
          'not_found' => 'No site-wide notices found',
, w5 v- x9 A2 P5 s- G          'not_found_in_trash' => 'No site-wide notices found in trash'
2 Z; v$ G' g/ v% P      );! t( l, p/ y4 {! K6 M2 Y
% J* ?2 |. l8 H
      $args = array(
+ O/ O- X* v. d$ E          'labels' => $labels,) s1 |7 S# a6 h
          'public' => true,
4 n! B! P" w9 G( r* l$ F- B+ I+ a          'has_archive' => true,6 M" D! K& U) J
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),$ T4 u1 |7 d& G$ o
          'taxonomies' => array('category', 'post_tag'),
( w2 b/ n9 E; W* W, X          'menu_icon' => 'dashicons-megaphone',/ S) T2 f: \& P* C; f
          'menu_position' => 5,* n) c! n8 \: @. u, z7 x/ F
          'rewrite' => array('slug' => 'site-wide-notices')
5 w) c: d7 F# |; |$ e2 o( y. s      );# }9 |" ~2 h" ^" n' h* K

- ?: x2 k, y! ^) I" \      register_post_type('site-wide-notices', $args);
0 o: s# W1 z* ]3 c2 D# p   }# |9 E3 v4 e1 d/ V4 A
   ```
& f8 A+ R+ t+ B. p9 F: I. q2 e6 S7 y: Q1 ]! a9 b. _
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
- Y& b+ W" y: y( I( T5 j7 z1 M5 m3 t/ Z
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:4 ?' _0 i3 |* E* K. g- e
( P) C# A3 |& g, J3 h( G
   ```
# ~9 O8 L5 p3 v8 ?. w+ ?$ g/ X) o, u   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
: C& o2 W$ @6 M. K2 R0 ?, @, j   function add_site_wide_notices_boxes() {
! ^% X  |( ~6 O! U8 }4 r      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
$ ^9 \1 {' b' i1 t& c& R   }0 c8 G) }2 ]" K9 {' u7 p: W
; i4 D% f2 D" f# X8 Q( G% P3 d% _7 O
   function notice_details_meta_box($post) {* Q: w) t' W% G% ?8 \
      wp_nonce_field(basename(__FILE__), 'notices_nonce');. W" m+ u8 a9 x/ k2 Q9 T
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
: x/ J+ r$ a3 N! \1 l, N      $notice_content = get_post_meta($post->ID, 'notice_content', true);
. R1 B$ B& K; `: k+ r  i; c      ?>2 W/ I! _7 Q+ ~! o- F( j
      <p>
3 n( S# |2 {4 Q- ^          <label for="notice-title">Notice Title</label><br>9 x0 m% K5 c7 h, M1 ?) F9 ], H
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
/ \6 t- j1 B9 B% Y2 I! ~      </p>
- W4 @/ e5 D2 Y- V" g% b      <p>
. q: [" \; M! s0 c) |) G          <label for="notice-content">Notice Content</label><br>% c( E- R* m4 l6 `
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>! g/ X% [: H) @2 F" ]$ T0 k
      </p>
8 u/ r4 N# u2 S" U2 t      <?php4 A+ t( ^+ F* t- x
   }
4 o+ F: u' R2 w' E0 ^9 ~% k6 y6 B& L' W' l1 z
   add_action('save_post', 'save_site_wide_notice_meta_box');
1 Z3 R$ {3 _: n2 w   function save_site_wide_notice_meta_box($post_id) {* W/ d" L8 p7 Z4 i4 U2 R# K" ]% }2 ]
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
1 a& x. _# _' W  \         return;
. n$ k- j! @  K! B0 o0 N) \      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)& d% C' l1 b; B$ Y# j
         return;  {' s) `5 z3 ?+ r4 u) E) f; S
! {! \& ?: W# J0 z5 X) w1 W
      if (isset($_POST['notice_title'])) {: n* D  d  n* r* M7 ~
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
7 `2 w+ P! H) a% C" K5 U  X      }" z5 p: ~6 O' q8 e
      if (isset($_POST['notice_content'])) {% D5 v8 {, g( b. [; Q1 N* _7 z
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
; J5 \" C$ n5 F0 u      }4 v7 D3 r% v" g$ x5 q+ M
   }
5 d* E- i0 a- ]* O" o1 S   ```* b2 p% E) z- I6 L
8 a, l& i3 A  i2 o% D; K
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。4 R* N4 ^4 E& D6 F7 e$ W
1 F. e. a7 _  K& p# Q4 a! i. U
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:& {; p; e# D( m* v
' A, i* P6 N' [$ c: N6 C8 [7 a! r+ ?
   ```
! T( K8 D: R+ u" s  E& g+ c7 n5 S  t   $args = array(
( `5 q* V' |$ w1 V: k# ?      'post_type' => 'site-wide-notices',
  Z7 f: ~( H# u4 d! `: o      'posts_per_page' => 3,! |5 G0 E8 t& {9 o9 ]; A' C
      'order' => 'DESC',- J9 W0 Q, |3 g: N# {& }7 N9 T  I' H
      'orderby' => 'date'6 J+ d9 S' t6 p7 h1 Y- j
   );
  c" z9 }: `; k   $query = new WP_Query($args);
8 |. ]# z+ e" H: f' D   if ($query->have_posts()) :
1 Z7 J! E( ?" R( W! U      while ($query->have_posts()) : $query->the_post(); ?># a" [# \! i+ h( }
          <div class="notice">
2 e# x0 X! P  d0 \+ }              <h3><?php the_title(); ?></h3>
" f9 w- r" Q& ^: k( Y              <div class="notice-content"><?php the_content(); ?></div>, X, n' W0 L) }, e/ D& ]; Q* K3 w
          </div>
% d9 d  I7 q: O+ G+ |      <?php endwhile;5 V; o5 ^, |2 A7 ?8 N" X" y
      wp_reset_postdata();8 d; P" P  V: y
   endif;
: J; L4 w: ]6 \  v" ^   ```( |7 P/ v6 D0 t0 n! _+ t
, l. h( c9 C7 R* Y. \1 Q5 t7 `* Y
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-20 01:34 , Processed in 0.074710 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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