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

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

[复制链接]

346

主题

563

回帖

3668

积分

管理员

积分
3668
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:6 M0 V% a8 s1 k$ e
5 ?/ L  T9 v. ?- w& e
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
' T( h2 @5 x2 Q1 ?& w4 E" b! g; I/ O/ ]3 f9 p- n# g$ L
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。  i; b0 ]- x/ Y- K1 S
4 m* O+ O3 P3 I% h: V! i
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。/ M$ M; m* B( ~# l

2 B5 ^5 v9 W7 w' p8 [4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。( f! W( \6 ?) l

. q: a0 O( W" o+ h; ]8 m注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

346

主题

563

回帖

3668

积分

管理员

积分
3668
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
$ k, C8 @' d! g( c8 b) L! c
* X+ P8 d4 ?1 A% z# T如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
" {/ a. {0 N. @5 z' L/ E* i
+ [5 C& \6 ~. s6 Z7 [1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:, r, G# B( t' o
3 R+ v. {; y- v
   ```; S% k5 T; U, A) o
   add_menu_page($ u# {6 \3 x$ f3 K
       '全站公告',
% `0 I. _  I1 z6 e       '全站公告',, m; |8 i7 W  X& ?
       'manage_options', //需要的用户权限
4 h9 B! B/ v7 p4 W, E' a       'site-wide-notice', //后台页面的 slug
, ~0 C' B3 f2 m, I* Z/ ^( S       'render_site_wide_notice_page', //用于渲染后台页面内容的函数4 W4 A+ i; q9 V, u" L9 s  X
       'dashicons-megaphone', //用于显示在菜单中的图标: F. J( {1 m$ a1 ~6 N) S5 }
       30 //菜单项的位置, J- P& s6 A/ u
   );
/ g: W, i5 t0 g" q; s   ```' W& v2 U0 `& p! p3 Z7 ]5 S
9 g5 L0 p5 e- G' a: s
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
* s. o! t/ ]3 K
9 t$ L7 `& _" K$ y, A9 d# M2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:1 n9 {) P: X# M) _& F4 r: M5 k7 r
2 u# {+ T- d& j
   ```+ \# T/ @  P" _+ R0 I
   function render_site_wide_notice_page() {
# m/ H1 r: j( d6 [7 U      // 渲染后台页面内容( K' O; M" o' B2 W: Z
      echo '<div class="wrap">
& o. x, I* @2 L8 @, E          <h2>全站公告</h2>
+ @3 _; ?6 @# i5 t6 A0 h/ v          <form method="post" action="">
/ T/ @4 g% ~9 a$ S" @. T* _7 c              <label for="title">公告标题:</label>$ l; t. }5 ^* G
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>1 W: U  I/ d3 _0 Q
              <label for="content">公告内容:</label>' v- k$ l$ X* @* b6 i2 o3 u
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
. g- V* }3 N& A* _$ Z              <input type="submit" name="submit" value="保存设置">
- L# z+ w9 {  w7 ~5 k/ ^. _" G          </form>
" C: N3 X' T* [  ~3 \      </div>';
+ }2 S; X# V) F. c- f6 r: |
# d7 s9 q% X4 h      // 处理表单数据& n4 ~6 h. C: _5 S9 B" J( b
      if (isset($_POST['submit'])) {; V4 ~- _5 j  _) M& V: N" z/ R
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));2 {  g$ q% N, k3 D1 d# h! D
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));; W$ N: Q/ u0 ~6 H! i7 A% {# M7 f( `
      }5 L5 ~- j2 q4 B$ v& J" a
   }
9 n' ^' c. E. E- v; ~   ```% M; z% l6 l( _+ [+ h- Z( X
# p" D' b/ e" X6 b9 o9 g# ]
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。5 P; V0 u% Q# [$ [: y" p; u% p
, j( b1 m$ j6 F. n# Z/ r6 Y
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
: f$ Q; W0 O5 c$ N7 I7 n  o* d  N. O8 }6 Q. \
   ```
1 l. c# t+ }! k/ g2 s   <?php
1 T& i6 V: y# j( a8 I   $site_wide_notice_title = get_option('site_wide_notice_title');
1 Z! ^8 h, q3 K% s2 d2 a! _   $site_wide_notice_content = get_option('site_wide_notice_content');
) t: c! `* u, W$ t0 O) U( A. v   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
, E+ h' o+ v. Z7 W       echo '<div class="site-wide-notice">';! X3 n) e( \: z1 s
       if (!empty($site_wide_notice_title)) {) f* p6 }0 z2 _, L$ T
           echo '<h3>'.$site_wide_notice_title.'</h3>';
" d7 S& M5 o0 F$ E! P       }
% o, n/ g. J* D  j' E       if (!empty($site_wide_notice_content)) {
$ p! _  Y$ ~) b2 p% E, {& ]           echo '<p>'.$site_wide_notice_content.'</p>';8 v2 H/ z  z/ f  W5 ?6 {) L) {
       }2 g6 Q: b& X3 Y1 W9 }
       echo '</div>';
* a7 k' ~$ M. f4 k$ ]+ ~   }
* O6 H/ C/ a3 ]" q   ?># g1 R! n( |: ?$ Z9 y9 S
   ```( b/ y1 C0 a5 Y
9 G% v; m- }% n/ H( p+ P5 q3 c
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。; L$ \$ s4 N- O! V4 v3 S
! ?4 V" ?- G1 o& a7 V" S
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

346

主题

563

回帖

3668

积分

管理员

积分
3668
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
  }& _* j; O, g( S: c3 H. ?
, p$ a( h9 z+ S6 B您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:" E( @* L/ K# l# W2 x, `

/ X5 s1 P" j3 `0 ?& @1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:/ `0 Z! r, J" O; s

; b9 J9 q& P8 J% U0 j) I```
( o# |3 B6 P) D. W$ H1 z4 `function create_custom_post_type() {5 _& P5 K0 V8 ~4 ^7 u
    $args = array(
$ B8 O& f" K& q" B        'labels' => array(& B) {! U- A: I* j. w
            'name' => '公告',
) H' r5 h+ ]/ }0 g5 Z            'singular_name' => '公告'; ~! w8 [* l4 A7 j
        ),5 _; S8 ~. @% i+ ^% `
        'public' => true,
5 P2 x( o6 o) J, [7 P/ N        'has_archive' => true,
9 Q0 h9 f) q5 S5 P3 L* L3 `        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),0 ~! e/ I7 F  X) b$ K
        'taxonomies' => array('category', 'post_tag'),! h* [! B' m' b7 @( H
        'menu_icon' => 'dashicons-megaphone',9 i, h' C! v0 C# }* ?) s3 y
        'menu_position' => 5,
& L! s3 \1 x& P+ u$ ]        'rewrite' => array('slug' => 'site-wide-notices')
, ~. O6 w- M* |" v% h5 {2 N    );2 H4 {$ A; `  K" `/ z- |- n
    register_post_type('site-wide-notices', $args);
6 z/ I) D" ~$ M) \7 I5 X* X}
9 ~- o2 Y1 k% _) s  o* i$ vadd_action('init', 'create_custom_post_type');. y, g, e, ~7 Q; L( K" [0 y' p4 v* `
```$ P4 J2 j9 g' {' _6 a0 F
6 ?( D3 Q: y% R* {5 N
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
) Y0 K9 m- n9 r% w. D2 B% Y
. j2 y( z7 B. t2 G, w- c2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。; ^2 {5 Y! ^, e0 r! y3 w9 K2 [1 J
5 r, g1 K8 Q4 f5 d. }1 K3 Y
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:5 T0 `) K- j' K$ L
+ n! Y( a6 }# Y8 f# O
```2 W3 R! c- @, @9 F: U
$args = array(
0 M0 J" ~4 i" J5 k- I8 \    'posts_per_page' => 3, // 显示的公告数量6 X) C! s; I; L8 k) p
    'post_type' => 'site-wide-notices', // 公告文章类型  ], O# t3 {' `7 K
    'post_status' => 'publish', // 公告状态" p$ i+ n6 a4 V
    'order' => 'DESC' // 排序方式
# i: Y( }5 A. M- I2 W2 k" U);4 ?! v1 v/ F* s) E# r

& E* I) e, R# X; ~% s; [  X$notices = new WP_Query($args);
' Q2 ~: `- W! x  g: H9 S' yif ($notices->have_posts()) :
. ]7 ?2 ]0 b5 {  o) V    while ($notices->have_posts()) : $notices->the_post(); ?>9 y# X/ r; Y, k4 n; z+ v
        <div class="notice">
1 Y# j( h# o$ T8 @            <h3><?php the_title(); ?></h3>
2 L& H2 k/ I% _; ]- |1 J7 a1 n            <div class="notice-content"><?php the_content(); ?></div>
8 A& R9 d1 T. Y" k% o        </div>  d1 y% h- o. f! G, [* V
    <?php endwhile;- N4 N) @3 C7 D5 h7 j1 x: O
else :
! g$ S6 t- E! ]    echo "暂无公告";$ z) g7 C  L% o( d. n
endif;
, g% m; a) q% @3 o# e6 k: S% Swp_reset_query();
9 i9 c% H: r3 J: L```
9 w* H  f0 M3 e/ Z. G6 q& }6 s$ u3 x- K9 X- Q- y
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。, `; Y% N. W, V, E

, o  B9 f; _# G5 \* I以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

346

主题

563

回帖

3668

积分

管理员

积分
3668
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?& I0 w6 r% [. Y/ l; K+ E( W7 ?
1 [4 S0 n. z: r# h7 e
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。9 r% a3 `3 {( u7 \2 ?
+ h  a3 @! \2 C/ f7 `' W7 w
以下是创建自定义插件的步骤:
* g. J6 [$ q: @% {3 L( W8 q2 _, u6 U
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
% g4 w) U& P7 K7 u3 i9 b" {/ n
" K0 ~4 I- w, P   ```# j1 o' `# |  s# v3 ?
   <?php* r7 }' \5 k5 T1 d
   /*
9 Z" \2 x5 o7 ]/ [' Q   Plugin Name: Site Wide Notices Plugin
5 z, d( D* |. ~& ~  J6 q   Description: Adds a new custom post type for site-wide notices.
9 f& V' z2 F: k* S. x3 g5 D2 @   Version: 1.0
/ i4 i- }* r0 N/ j' w   Author: Your Name4 @9 p+ f5 C+ J
   Author URI: http://example.com( t0 `/ A, h( H( }
   */
! Z2 ^( O6 v3 n  J% M9 u3 \- v* q7 u2 {
   // Add plugin code here...
8 o, y! z( e: F6 g) ]   ```
! `/ m  L- H/ |- k' V# V- c+ c. x: \5 L' n  {+ s& z4 c
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。) _9 F1 b, T, \- k. U
$ g8 E4 m; m7 R3 p, Q
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:9 F2 }- h; k( T1 O: {" r5 t% d- s
, D, t$ F* l: P. a; x+ K+ \0 {
   ```7 Y* q; `) w3 t' R8 q3 |, `
   add_action('init', 'create_custom_post_type');
' S, z0 q7 L8 k% s" ^   function create_custom_post_type() {% H! h# o& h/ w! ]' p
      $labels = array(6 L; {  y; H" J: j/ x" o# R5 b6 D
          'name' => 'Site Wide Notices',7 j3 s. w% T3 S$ P, S+ {6 G
          'singular_name' => 'Site Wide Notice',# S7 O& T5 @' ^- b) h3 ?6 `- n
          'add_new' => 'Add New',7 V  f+ L  u' }0 Y: a1 y
          'add_new_item' => 'Add New Site Wide Notice',9 u% m7 I! P, j1 y3 j2 n
          'edit_item' => 'Edit Site Wide Notice',. a7 H5 W4 Y4 R+ d% w0 R
          'new_item' => 'New Site Wide Notice',
$ g5 i# b2 D/ L- l          'view_item' => 'View Site Wide Notice',1 \: f6 Z; w4 e$ g2 Q) p% r
          'search_items' => 'Search Site Wide Notices',
% s5 O5 k! `' ^3 X4 z( n# ~          'not_found' => 'No site-wide notices found',! K+ t! w/ [% J9 Y/ A  k/ H6 v! O
          'not_found_in_trash' => 'No site-wide notices found in trash'7 j* D; b; e4 o; _
      );
1 F* z, c6 _9 j" C$ _7 g) g) T% Z4 c& m
      $args = array(: }8 K7 S  S7 j% k1 m6 X5 R
          'labels' => $labels,
8 @* j( _- W; A% H: Z( K          'public' => true,1 B( f+ d( d3 R9 Q! J  H
          'has_archive' => true,# g  I% M7 ]* e/ o( v1 ?* U
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions')," Z5 z* ]1 l' N( V' N# |4 n
          'taxonomies' => array('category', 'post_tag'),
5 S, R: T. ~' J; O2 T8 X          'menu_icon' => 'dashicons-megaphone',
- l) g. w( f' p- k6 U: O1 G          'menu_position' => 5,
6 [0 @5 @) v4 m0 B- a; ]5 s8 F1 E' A3 K          'rewrite' => array('slug' => 'site-wide-notices')0 ], T* A  W& T" K0 K
      );9 X' Y, ]  _4 X$ X# Z

) h$ k9 c; M- D  p( o      register_post_type('site-wide-notices', $args);9 m( Y2 A* [/ r% h+ Z
   }
$ b) g4 s/ g1 j9 p   ```0 P/ ^1 ?/ b$ W

- e% \4 ?8 m! X3 ?7 p$ O  ^. g   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。% o1 S, h: K5 ^- g  z* N0 }
8 ?3 O. {" j3 s, d
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
' r* y1 Z3 l0 e7 T* l# t  k0 |# K% J2 o- P% a+ h% m
   ```& w* Y- V. Q4 v4 {3 T$ |! `- y
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');+ V0 K1 h2 w& b
   function add_site_wide_notices_boxes() {
% v7 I4 I. o5 [+ ^+ C7 P      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
. Y8 L4 V4 p, B, p; c8 o: O% x   }) s; u6 d8 z) X  p3 f
/ f( ~" `: w3 G9 d
   function notice_details_meta_box($post) {
9 I" ?; k" g7 ]2 q6 j  ?0 y: N$ B      wp_nonce_field(basename(__FILE__), 'notices_nonce');
5 W8 f6 `' ^* i* b3 J! V1 ]      $notice_title = get_post_meta($post->ID, 'notice_title', true);* M# y, v. O9 m( Y
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
9 e  U& q- n$ {7 G+ I0 i5 u      ?>
3 K: _: ?- y  h' e3 C+ j      <p>% N# ?9 o/ B5 J8 {; F
          <label for="notice-title">Notice Title</label><br>! y2 v+ _! J4 u$ ~3 g4 H
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
' A: X: s# R+ k4 s+ V      </p>
3 C& N: T1 h" E4 @      <p>9 H% s- b. g& Y* s7 e
          <label for="notice-content">Notice Content</label><br>5 p/ K' f. f3 M1 }5 B8 x" {
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
! G! v1 V) U- {! m4 j( B8 S      </p>, Q4 Z, S* x! _- a+ @1 P4 f
      <?php6 r  v& h  f5 ~$ L% l! c, e7 U7 ^
   }% P& }% m# H) H$ z. w
* E3 [3 H/ r- n3 p  f9 O2 L1 X9 F
   add_action('save_post', 'save_site_wide_notice_meta_box');
/ T+ I5 a- Y, F: @4 ?+ T   function save_site_wide_notice_meta_box($post_id) {
. s+ o6 l% ~6 ~$ t: t1 T) H3 O      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
6 `6 s5 q% H# z. p1 z" n         return;+ g& v( W' k3 X& t7 S4 {8 U
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
! p7 j- j+ A& M8 K' c. D         return;
( [# X$ |5 T3 v+ b# f2 A/ R
  k+ s# p8 l% _) Z. G* V  u$ A+ c0 `      if (isset($_POST['notice_title'])) {
  L- |* L$ j4 N+ f4 w) s; @          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
1 q' w: f5 V4 T" k: H* I      }+ ?% ?2 j3 z& S& o' y6 o
      if (isset($_POST['notice_content'])) {
/ W: H- C( A2 h) `) D, z4 W          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
* m; z  Q2 D5 c9 _  o" t      }
. b' t/ X, W' ?/ }2 e   }) k9 t0 B. l, @
   ```
0 a& |4 q9 I' m" a) o# f3 B3 H( j3 W  w4 E( @3 G& {
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
" O( c9 l/ [3 f' @" c
4 s+ |# x4 n) S: z$ S5 f/ m4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:/ W! D2 ?; s' d: E* m6 u
6 B0 `& A& n* y) f! n- A/ e, v) |
   ```2 F9 \- ?: m: v6 R
   $args = array(
+ {1 V" k6 s1 [" E! i      'post_type' => 'site-wide-notices',
: V9 K! j6 ~# R      'posts_per_page' => 3,, s& b; ^+ |, @, K
      'order' => 'DESC',
9 C$ s3 y' a- S* [6 x. B' b      'orderby' => 'date'2 n3 c: Z" o: A5 i8 I2 p
   );2 M* M% U9 {" ]; N
   $query = new WP_Query($args);
" a0 E: q4 u7 o$ y" ^+ s! z  W: e' q   if ($query->have_posts()) :, f: d! J" w+ u$ J* f0 O
      while ($query->have_posts()) : $query->the_post(); ?>
( o; l& c: K1 w: `! W          <div class="notice">: y+ ~5 |5 W* \5 J
              <h3><?php the_title(); ?></h3>5 l6 p( P0 S5 b- F3 z4 ]& E
              <div class="notice-content"><?php the_content(); ?></div>7 }/ O- ?" t7 n# _0 k
          </div># C9 }8 v/ t4 H7 `3 O' j5 o
      <?php endwhile;8 t' B# R  [4 j. @# s6 O  X/ R
      wp_reset_postdata();
6 n2 i3 G/ v* U5 P/ d% r7 x   endif;# b& X2 o. n( _6 e9 ~9 |' r: g3 K
   ```2 P0 p' H0 ^$ Y( j

3 }& k; @! E2 L$ ^# |   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-6 09:44 , Processed in 0.013214 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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