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

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

[复制链接]

335

主题

520

回帖

3417

积分

管理员

积分
3417
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:. M. d' @6 @. k; ^$ D" u

' a+ Q" q; r( G9 T) j1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
% S4 f: M/ e$ n; Y( T- \6 l  {1 ]( e2 X3 m6 p
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
  o) q5 \# @  y( a1 p" S3 F. c
  Z+ I8 ]* c/ A, x6 h5 P; V3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。0 O$ I. f# j7 V: {9 w7 o* |
: D) O* ?( [! ]6 z9 [* n
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。. l2 e1 z4 \6 ?# X! w
& N. c* T4 e3 u) e
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

335

主题

520

回帖

3417

积分

管理员

积分
3417
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?1 k7 F( o& T$ ^/ h4 G
' W; L' f! B% t- h0 h- C5 n
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
* a3 y* K: b8 H$ R+ s, v9 _: {8 _+ N7 c3 l* O+ C% K7 r9 O  S+ N3 S
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:1 }4 T& A% d3 V5 W* z# w7 W) m
% q6 m: N5 D1 G+ d' i
   ```* W& L. ]' y& W
   add_menu_page(# i2 ]7 U( W. V, L( M
       '全站公告',8 v' D3 P, Y/ U8 i! n. I! b- P
       '全站公告',1 A6 ?- L2 D0 G' F5 b
       'manage_options', //需要的用户权限
, ^7 y: \1 l5 J1 j       'site-wide-notice', //后台页面的 slug
( _$ G; P2 v0 D5 R/ x4 X       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
1 S1 A1 l, F) n( n* M       'dashicons-megaphone', //用于显示在菜单中的图标/ r$ N2 Q* M, V2 M! s' W" d. Q
       30 //菜单项的位置
- v* z; S( G9 T- P8 P+ l   );
7 a8 n: Y8 p; e) A   ```
: V* i1 u5 {; U9 h4 X+ ~) r7 f. ]9 b- l
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
) S$ j5 h4 {+ S5 `! N' X
7 [0 T% Y6 |, ~) o# z2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
0 `3 t0 x, S- g* o
/ R7 N# Z6 l' r! B   ```
! L3 a4 ~: m  Q0 k4 ^, Z. [   function render_site_wide_notice_page() {
% v/ O/ N7 ~4 ?1 @      // 渲染后台页面内容6 X8 P9 o" t1 F
      echo '<div class="wrap">* u/ c% }5 q. R. q
          <h2>全站公告</h2>
( r6 V# Z% i. b2 K0 o          <form method="post" action="">
- Y7 ~% S. }4 Y5 J  o: l              <label for="title">公告标题:</label>
$ r% T; M$ w* Q* d  i              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
7 w$ m! ?) P  {              <label for="content">公告内容:</label>7 B/ l, i4 S2 H1 G
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
  B$ J* |- D# H- T) j0 o              <input type="submit" name="submit" value="保存设置">- ^* x" L. U0 m+ z- z
          </form>
8 ]' H3 b- p* o) S0 D      </div>';! k  W2 R& \* b) e: x' z9 T
0 z4 m/ I0 d6 `& {
      // 处理表单数据- i6 G5 O+ E) E' H0 S2 \
      if (isset($_POST['submit'])) {2 v' b7 k" e, J" o5 A3 y! U
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
" T( M6 [; N7 Z4 l# c! X# R          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));( Y" r' l+ x7 H" M4 ]5 i/ E% b6 ]
      }& L" c/ |$ N' f7 u0 k5 j8 Y8 E* p
   }
4 \& a/ w  ?3 a; `   ```$ b0 l) a% f9 X. n8 }/ T/ T8 T& C
- |" n; U! h& h% X1 g9 j
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
7 g% u/ \  ^. H) {7 Q5 z
0 F( n8 Q, [5 i* ~- y7 i3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
2 @5 q5 p" j" a/ d) c% T* V! E. A
& a7 w5 r2 c- ^: ]' @   ```
0 a1 {# g: b- R9 L) h) K& x- k   <?php
' C3 |- I, ~/ z! d   $site_wide_notice_title = get_option('site_wide_notice_title');
0 ]8 G4 P2 L3 z) ^" ^5 z4 S   $site_wide_notice_content = get_option('site_wide_notice_content');
- f: `( u7 K6 ~! I   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
9 Q8 O1 Y9 t" ]! `; ~/ V       echo '<div class="site-wide-notice">';8 \1 O- @0 w/ }" Y: ~
       if (!empty($site_wide_notice_title)) {
$ ~% O2 b& e7 K           echo '<h3>'.$site_wide_notice_title.'</h3>';4 w) r/ F* v! g9 K/ Z2 r
       }
% p/ A5 j* ?; |4 A+ e8 I+ ~       if (!empty($site_wide_notice_content)) {) M* X+ b0 v2 i5 s, F6 y4 r$ ~7 ~
           echo '<p>'.$site_wide_notice_content.'</p>';: P/ U" r- V, y; Y& L
       }  f9 |# E5 X8 r% L4 b* Y: h4 p. {3 P
       echo '</div>';1 L. A9 ^( \: k8 L) i
   }
2 c8 K' s- z" S" Q1 L# H! Q$ D   ?>
, E: u3 H8 M# [) e5 _   ```
6 I& y+ F5 }' y' T
2 {0 N; }+ B( y' e( \0 N* W8 h1 U   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。# ^2 b, t1 u& T: X' z* q

$ l6 G; M: c* R5 J. u; m# U请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

335

主题

520

回帖

3417

积分

管理员

积分
3417
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?5 r( p4 |: Y% k; A  c* U

  i  r, K$ S0 q* g- @/ P2 \# `您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:' H- l+ x! H5 Z) ]+ C

6 S  u8 p2 B3 E3 @# j1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
: W. M8 H+ }6 [2 m1 M* K- B% l1 @- T; _; s4 I- M: _* o
```% S! u% j6 ^* F8 [' i
function create_custom_post_type() {
: X/ V# @8 p7 E+ Y3 C9 j0 {    $args = array(
( W; B2 e! s8 z5 U8 _' t        'labels' => array(
8 Z, D* C8 v$ p            'name' => '公告',1 \7 U6 B' F- K" A; m
            'singular_name' => '公告') b; R2 W1 v% Y+ h+ p" V0 q
        ),
2 y0 C1 G1 {3 S: H5 {% j        'public' => true,
+ R( L, B& `9 ?7 Q5 l6 i# Q        'has_archive' => true,
0 `' W  Y; e" ~8 C! Q% }        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),* H" ]! q8 T* l
        'taxonomies' => array('category', 'post_tag'),. g, \) `0 B' I1 h
        'menu_icon' => 'dashicons-megaphone',
+ x9 h$ B" O2 r# i; }/ c7 @- I        'menu_position' => 5,
; H# }9 `% j+ z6 c4 ?6 I        'rewrite' => array('slug' => 'site-wide-notices')( P, F0 G7 w3 {, F2 j/ Z( E1 `
    );' |( A, E# h) ?! W+ B- g
    register_post_type('site-wide-notices', $args);! Y# Z/ I+ o7 k- S4 F5 H; s
}) n' Q, m" o) y* Y1 h) X# q
add_action('init', 'create_custom_post_type');
3 @# r) |. U3 C+ S; a4 y6 |```
9 z, e5 }* ?9 p* L
0 |, \0 s/ }: O$ B7 Q* P, W在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
( v8 S3 T4 D2 P9 B" d) f* h! F
+ q& i  M4 d3 E6 a6 E2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。0 H) B: v# h4 u
, r+ i3 N: L# Z
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:  O) E& K5 G3 G& g" t2 B& W) L
0 ?6 q7 v# w" z( C9 Z; H
```
2 D: m, f- ?6 X$args = array() \( O( s% G- X/ D! Z3 t+ Z! f
    'posts_per_page' => 3, // 显示的公告数量1 b7 X6 L1 x6 N5 q' }! ~  l
    'post_type' => 'site-wide-notices', // 公告文章类型
& a, ~% y% ?. c  \  x1 G    'post_status' => 'publish', // 公告状态: t* t- y, T/ q- J
    'order' => 'DESC' // 排序方式) T! N( H- k6 V( t
);+ I+ y4 e" z* M' U2 D
8 U5 \# x6 h- l: O
$notices = new WP_Query($args);
% a7 _6 O' r7 p# [: U+ T& p7 {if ($notices->have_posts()) :, w; ^/ `% l6 Z$ ?+ D* K) c" O  Q
    while ($notices->have_posts()) : $notices->the_post(); ?>
( ~6 ^, x' L& l        <div class="notice">
4 l, w9 L* ^" @5 }! r0 w' c' d            <h3><?php the_title(); ?></h3>
. j4 V# }! A# y0 H! y            <div class="notice-content"><?php the_content(); ?></div>5 x- _2 D7 c) {" S5 l
        </div>/ Y2 R! g: d7 w6 `0 F
    <?php endwhile;
2 B# y/ n8 ^3 Q, b: T/ c, eelse :& h* @, s. `9 p6 a0 F. V9 L
    echo "暂无公告";: J# {3 i% L  [4 t% e' l
endif;$ {) T" m7 l% {4 j* t" d5 Q" e8 o
wp_reset_query();" ^/ I, }& E! Z+ s
```$ s0 Y5 a4 R" h1 c; P; K0 k
! V/ M' _8 G( P! I! g
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
& |' @  n$ T0 j7 t+ k3 N& V( G7 D7 R3 N$ v5 e9 R3 s: |9 s
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

335

主题

520

回帖

3417

积分

管理员

积分
3417
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?2 P3 |# ^* p- v* b. X
6 D5 v* e4 c, r9 n3 C
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。' ?9 @+ V) z! H! ?
' Q$ W* f. f1 A- s& f4 e* A7 j
以下是创建自定义插件的步骤:
' I0 G  E: `; }) K1 C' \* W1 w; e) u# Y) q' K5 U& F% d
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:5 G. ~/ Q9 N* E8 N6 f" W) u. V

) }( }, l. {. W   ```: M7 _9 ~; d4 k1 c' n" R. B) }4 A& q
   <?php
( T5 r! g8 o, `9 r   /*7 U8 S& S# _0 J# Y
   Plugin Name: Site Wide Notices Plugin6 a- V* M7 }5 R
   Description: Adds a new custom post type for site-wide notices.$ U7 m* H% _. i: ~/ i# b: h
   Version: 1.0
3 X$ Y+ F2 A7 h6 ?5 K$ v. ]: b   Author: Your Name
3 u2 C, d  X3 X. t% o( X6 F" u) B   Author URI: http://example.com
* ~" y+ V. c/ k6 b   */
: m/ L; E) j+ K7 [4 C. L  y2 D9 S0 I- v/ u* x
   // Add plugin code here...5 @$ J+ w, Z9 v9 u3 N% ]; W& G6 s
   ```
9 q9 C& j' ?- v- |
/ u( C! ~7 e3 X6 O  X   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。* h. b3 _  I+ {0 z6 U9 m
; ?4 N7 G% B4 Q) X
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:9 s! Y  o. [" |# w

. F+ y/ B# H0 N; i2 k   ```% Q, l) k: T4 O' a) _/ g
   add_action('init', 'create_custom_post_type');
; D3 E: S6 c% v4 \   function create_custom_post_type() {; N7 r; E* _! Z. U
      $labels = array(
) [( ]; \$ |$ {7 N3 q          'name' => 'Site Wide Notices',
  J- ]2 L+ X2 R1 n4 v( Y# }: L          'singular_name' => 'Site Wide Notice',! A& t2 K5 b# b
          'add_new' => 'Add New',# R6 S) {. a$ d
          'add_new_item' => 'Add New Site Wide Notice',! ]* Q9 ^" s- ?! k2 S; I) m
          'edit_item' => 'Edit Site Wide Notice',8 k3 E1 d& D0 N: W8 u! C: g, z" I
          'new_item' => 'New Site Wide Notice',
5 o8 @! N5 Z  M% o+ m" l          'view_item' => 'View Site Wide Notice',8 W5 h% Z5 u9 Q) {! F$ |
          'search_items' => 'Search Site Wide Notices',- ]6 _1 h8 c! E# }; g
          'not_found' => 'No site-wide notices found',
* ~2 H8 M; {: a' i9 _6 Q          'not_found_in_trash' => 'No site-wide notices found in trash'; G7 m0 E, }) |9 @- ?" n9 t
      );
. O1 s6 \6 Z9 c3 z; N7 \* V' v) N* G0 ~8 v4 t7 l* H
      $args = array(1 z- F% t8 B6 o" F  S
          'labels' => $labels,
% P' \( J' G7 Q          'public' => true,
8 }" g, o$ ]$ U! {  Q          'has_archive' => true,7 W) P" `4 w/ J) r. ?9 a
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),$ |! }4 e; Y0 A9 u3 S
          'taxonomies' => array('category', 'post_tag'),+ T9 I# e7 Y7 y! Y. ?) I
          'menu_icon' => 'dashicons-megaphone',
1 K: W6 O4 m1 n4 t/ B6 \  q) u          'menu_position' => 5,, y5 U2 j% F9 w) e) r
          'rewrite' => array('slug' => 'site-wide-notices')
4 V2 {+ _% `, n" n! r      );
  L- m% }. \. N" w9 |, K1 w# c, D: r* G$ C! M
      register_post_type('site-wide-notices', $args);6 n$ V! A  w$ [* ?0 u3 A
   }
6 C8 ~7 m8 P. C6 p   ```
* ~  D' f2 @. Y) G: v0 G) v2 f6 L
3 Y& q' J/ S' X9 d, h   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
0 G3 Q/ r, {8 P" w/ |% S1 r% C% T( n
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:! `5 R. X7 b. R+ S8 s7 h
1 t- u! ]6 _" @1 X
   ```
/ ?9 _* U  E; @6 ^! v   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');) `  f1 Q3 X4 q; }* f1 Z- j2 a* N% I
   function add_site_wide_notices_boxes() {/ O: Q/ y7 J; x
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
9 y3 v' J5 f9 E9 b- K9 k   }$ o$ ~/ c) H3 m9 g. y% ~
! f1 P. S5 t$ l$ J4 I
   function notice_details_meta_box($post) {- E1 A& ?7 H, h+ @
      wp_nonce_field(basename(__FILE__), 'notices_nonce');/ H% x/ l7 l8 P
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
  W  m. q7 w3 Y$ h# f& q! x      $notice_content = get_post_meta($post->ID, 'notice_content', true);2 M% j  U: F+ ?% M
      ?>
, S+ [; }; J8 {      <p>
9 ~4 [* D; e+ h          <label for="notice-title">Notice Title</label><br>
6 m  k; T! c) H+ k8 s* j- t7 b, k          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
6 h' Z5 d5 j+ }/ D2 K$ q; V      </p>
% X8 h  L/ d* K0 m% `! p      <p>- m! \8 }1 y2 c7 t% S( k
          <label for="notice-content">Notice Content</label><br>
9 d: M7 j0 S5 @& x% `3 Y$ f# C          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>, _/ t9 Y9 U5 y
      </p>3 v: N; y6 l, A$ i: J. f
      <?php9 M. x. L  D+ A- F* w* V3 N
   }
$ J+ K& _* A0 ~0 `# F! y/ w
  [, A4 W, j* q/ O   add_action('save_post', 'save_site_wide_notice_meta_box');
! j% ?* f. _$ b$ o   function save_site_wide_notice_meta_box($post_id) {
! c" F+ e$ e( j7 g      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
& q- Y2 [, U# i! Z, j& j         return;& b$ k& K8 w/ V5 ?- u
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
/ H1 H, A: E6 u- V8 n% g         return;
) w# |7 G& N2 L, ?  k6 h( n2 _. R+ H% x
      if (isset($_POST['notice_title'])) {
. f: T0 f7 C% L: ]; {4 z8 K          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
$ f9 K# ^% Q; n4 Y7 z4 O+ C      }8 U4 q2 q& Y$ i6 o( F$ T
      if (isset($_POST['notice_content'])) {
6 q" _5 m4 a: G1 p0 |8 Q7 O' j, C1 ]          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));" t9 x/ \& z7 H* R( {$ c: o3 r, U* w
      }/ s  ~8 b4 {; V. E6 l1 t8 ~/ s; j
   }- ?. A; G  C( ^6 c( ?2 ?
   ```
8 C# h) [7 Q4 O. n
  d1 Q* T( A3 T9 A0 q% l   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
+ M4 s- k$ X; |0 N; n* `/ g7 |# a5 E1 S: m3 d
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
2 P6 T& h- z+ [  `3 F; _! I$ W* o  L3 `+ j7 J- O
   ```
% d9 X" f% a. U   $args = array(2 y  S1 k5 D& c: H. W+ R
      'post_type' => 'site-wide-notices',
7 I9 ]- u" c+ O9 v      'posts_per_page' => 3,
/ t3 E% P6 k5 u9 u      'order' => 'DESC',6 @, }1 N) v5 v6 B
      'orderby' => 'date'
3 a. F( O$ N7 P1 C$ w. ?3 U   );
, E9 E4 g/ B; z% u/ @   $query = new WP_Query($args);! e& Z% m9 z# Z
   if ($query->have_posts()) :8 Q+ G  L: v) h3 [5 ^+ N. t( n0 F
      while ($query->have_posts()) : $query->the_post(); ?>
" a- T/ G. ?8 ^0 _% J, K  |- ?: r+ A          <div class="notice">
9 a+ l/ N( `! [# O              <h3><?php the_title(); ?></h3>8 r* L0 D' J1 g' g: T: e% y
              <div class="notice-content"><?php the_content(); ?></div>
  i  y  `; n5 B          </div>
5 g% v, E* n/ `5 M      <?php endwhile;' J1 r2 g, y$ z# n& p" y4 L" X/ b2 p
      wp_reset_postdata();
9 l2 `  A# v! P0 A% A   endif;
/ J$ `4 j1 ]! ^' [   ```
$ f( E( R; {, I
# ]  L& x9 a( _! \$ I   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-9 19:47 , Processed in 0.085056 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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