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

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

[复制链接]

331

主题

511

回帖

3353

积分

管理员

积分
3353
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
) Z& j! f" Y5 y) d
+ c1 Y. o- ^9 P. G1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
1 i7 I& t/ O5 I* q9 i3 @
4 Z5 @  P- n) C( \3 v1 D; Z2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。  m1 d$ G8 E* `7 \6 o: Z; y

) y& j* H- U6 @3 B4 ^3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
2 U0 E! b( w8 c" H4 s
! U1 f) s) L; w5 {0 X. N4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。7 y; x* a1 Z% H* ]
2 ^; y* v  e4 ^: ~5 V
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

331

主题

511

回帖

3353

积分

管理员

积分
3353
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
, v% P8 K/ u8 r# w$ p' E6 O2 h1 G& }4 c3 i
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
; i+ L) \) L" b9 X8 H1 f6 Y& a% l( X; t' _+ ?  u$ `3 R
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
6 [, S0 V6 Y+ A/ }7 M5 N9 g* ?0 t2 b5 L* K, o  t: m# _& B/ C- M
   ```7 s+ ], D) ^* [! h" b
   add_menu_page(
& M, o# ^3 U* |. B       '全站公告',- X# c' r0 c  p! G7 H0 e+ w5 W
       '全站公告',6 z6 l, H. z. [% g- d. D! T3 T" f, H
       'manage_options', //需要的用户权限# _! o6 R0 F9 }& X! @
       'site-wide-notice', //后台页面的 slug
+ k  u6 L: N& H       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
3 L5 b$ @, s9 j  D5 v       'dashicons-megaphone', //用于显示在菜单中的图标
3 c- A( K. H1 C# V# v       30 //菜单项的位置
1 [  f- d: V, `2 A& F" U   );
! ~* T( W" z3 n1 _9 p! Q   ```
2 B/ _5 J6 \( x# @( Q
: p$ a, V8 F7 f   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。$ X$ n$ C/ u. }
; \4 m1 I2 `& S& a
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:4 a, `) Y/ j) k. I) ~" g& ]
% t* I1 n# ^  p5 x( I9 l
   ```
% D- X+ v% |3 I+ c3 N   function render_site_wide_notice_page() {3 C4 ~4 v) z+ F) D8 w& L; D
      // 渲染后台页面内容4 u* f  h) v) a# `
      echo '<div class="wrap">' R3 \0 K+ q! t7 R
          <h2>全站公告</h2>/ S5 U% r! E$ O0 ]# R- m
          <form method="post" action="">
( L% D* C# l& K              <label for="title">公告标题:</label>
" \# q* N+ S- \/ Y7 n5 X3 W* U              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>; y# ~0 N+ F7 m
              <label for="content">公告内容:</label>+ x% F: F  Z. u
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
& q, O+ C3 c2 d0 O5 I0 y              <input type="submit" name="submit" value="保存设置">: B4 J( p: V( m: m/ M+ w% q
          </form>
4 A. p4 l( a9 B8 i8 i$ Q& J      </div>';
) h2 I+ `; |; w- a% C( r
8 P% L# d/ I6 U# I" N      // 处理表单数据
: k% R! ]  r2 Z3 }' f) T, P      if (isset($_POST['submit'])) {) w$ \0 @. R' w6 e0 ~
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));$ O& J/ w. U0 ]
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
" T  E" A' }$ t# W      }
7 }6 m! G  ~+ d9 ^, P" Z0 K   }
3 m2 X: I& v8 ~  o$ T3 g( n/ D   ```
) w" U) t+ O( I3 g, q) F& i
- n2 B+ i0 b) J  D   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。4 v: a6 e4 f3 ^* [8 R

' L/ F; s' r9 u, _3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:# k5 Z9 w7 \) N* M3 m( s
/ J" ~. |7 N$ x; s4 {$ n
   ```
5 Y# n/ h/ D- T   <?php
4 ~& z' D: z' g& \( G! D   $site_wide_notice_title = get_option('site_wide_notice_title');% ]/ l6 Q7 [, a( F  f4 L" ]
   $site_wide_notice_content = get_option('site_wide_notice_content');
" }, U9 N% f* }) n& @! W$ b$ k$ Y! ]" v   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
# {- |& s( f$ w# a# g       echo '<div class="site-wide-notice">';1 y, _- N- q5 ^% |
       if (!empty($site_wide_notice_title)) {$ @1 z9 P$ C: b4 _
           echo '<h3>'.$site_wide_notice_title.'</h3>';# ]6 m1 m% H/ ?, f$ l
       }
- p( U" k6 A2 @  o# T       if (!empty($site_wide_notice_content)) {
+ H! C+ f; x5 \: k           echo '<p>'.$site_wide_notice_content.'</p>';0 f" K2 q' i- P5 F* m% O
       }& G- X/ ]7 s4 {3 W0 z/ a3 D
       echo '</div>';
2 }& ?9 |% r! ?$ g6 I   }" `4 c  q3 b& E: t
   ?>
4 F0 |$ A; r( C& Z   ```" Z; _1 I7 V/ {6 x. U
7 a2 u2 H2 C4 w% l1 V# P
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
" n' O" G  B% `( k' h) \5 |6 Z% E7 W/ [! v0 Z% |
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

331

主题

511

回帖

3353

积分

管理员

积分
3353
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
, D' E. j& G4 m# P0 B1 f" K% T' ]3 q$ U: b4 J
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:7 M1 d; i* t* u+ u% }

6 B( s6 U! W: z' q! J  y7 O5 g7 b1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
) L, |7 ?: W1 w" p( @9 `" i6 E7 s, K' S3 U$ i
```9 b4 x; U6 Z8 h& A
function create_custom_post_type() {
, [  u9 \' J- l& i9 g' S    $args = array(
. M* C8 c1 {" V; k( Y% y        'labels' => array(* T3 r, ~9 Q& e( Z1 J  }
            'name' => '公告',: k/ l2 Z9 J7 A. t$ c1 f3 p3 \. Y: W
            'singular_name' => '公告'# V) j: R8 E( O" E
        ),6 j0 B6 @) N. A, U2 o$ g
        'public' => true,
. I4 e+ s+ g# a! x% l! o        'has_archive' => true,
) `$ Z- j$ Y7 T; X2 N        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),5 ~7 z6 j2 F! i" a9 k' ]
        'taxonomies' => array('category', 'post_tag'),
0 W* J6 W, j8 n8 o' u        'menu_icon' => 'dashicons-megaphone',
) @* b) J  r  y6 N# V) ]        'menu_position' => 5,
7 k" [! ]4 f5 O  P& J        'rewrite' => array('slug' => 'site-wide-notices')
1 B! J& a; e. X0 B- H8 M+ \/ x    );
1 y8 U) K* @$ H$ k& a  Z# R    register_post_type('site-wide-notices', $args);6 h8 t$ q. B& b4 u  \* k
}, R. x9 k9 J% q/ V: @" `# O( Q
add_action('init', 'create_custom_post_type');
- e+ ]* ^, D: N6 ~```
  r7 S4 n: G3 n1 z' L& z6 J# \' E
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。8 O2 M" y: _, U/ L  ?. t9 Q/ e
# }( |( t  g, P4 ~! A. W# ]5 Y1 ~
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
4 I' K; T( Q$ r8 m0 f
* E/ m5 |2 k  l* Q: @1 M3 ~3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
8 f, S- C/ \. c0 S3 s* H. e3 h. t0 U7 ~8 V! y$ M) R% `
```; v' J. x# G$ B# i% J4 b' Q
$args = array(
" [5 f1 n6 Q: q) w0 P' d    'posts_per_page' => 3, // 显示的公告数量
; H/ X, j7 P+ G  b& O    'post_type' => 'site-wide-notices', // 公告文章类型0 d, D3 y" P; }' S9 n
    'post_status' => 'publish', // 公告状态
# k+ F; z& _9 `/ B: C8 x! L" [. k    'order' => 'DESC' // 排序方式- r$ m1 q" a9 I& c' i
);
3 A. b) q/ i  V; i: g) _) z  a* ~6 A& k5 E2 H
$notices = new WP_Query($args);
& U! i4 _: ~# J8 T5 {8 B0 C( ~if ($notices->have_posts()) :& P& r$ w/ y3 h
    while ($notices->have_posts()) : $notices->the_post(); ?>
9 H% L; ^7 ~. E0 O$ n; o5 B3 z        <div class="notice">; D3 O4 z/ y, T3 X2 [
            <h3><?php the_title(); ?></h3>
! N" e, I* U3 N9 c& t( @; \4 \# z; g            <div class="notice-content"><?php the_content(); ?></div>
5 A; \# J: r7 o2 b, ^9 x: Q! Y; c3 V; z        </div>
0 j9 x3 k9 ?! q  B    <?php endwhile;1 z7 R; J0 a) c$ V& q, b- C+ w8 S0 n) J
else :& b- _, @8 b- O5 i  N& a- h
    echo "暂无公告";" a  [) w* o  D0 c$ k
endif;
3 }4 w  a5 S9 w9 Swp_reset_query();, k/ ^- g9 D# R# ]% C/ v- p
```6 r5 i, s3 B$ P" {- Y. i
* r$ L8 s3 R; y, ^5 y
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
; Y- }7 ^2 Z/ ?, [1 p, q* R/ Y' t* z. f6 f3 P" E' r; K, I% O: f, B
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

331

主题

511

回帖

3353

积分

管理员

积分
3353
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?) c% W1 A1 ?0 S. g; \# g! y( ~+ P
+ F7 ?  [$ |5 ^2 N
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
" X2 [" I  a5 `9 Q  k9 m
  p' ~5 d. I( m9 }* Y% V以下是创建自定义插件的步骤:! r- p" P# f, }! N. V  K

% @+ j+ C- P# u4 N) P4 y2 k1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:# b3 c  K# W# O  d( j% H& B: [

  ^  R& b) ^9 l, L4 ?/ l   ```
- c0 Y& A& `2 i  z+ B. Z   <?php6 g/ M2 a" ]- N# f: |9 d: l
   /*
8 Z$ b4 t2 X/ n6 \3 T! _   Plugin Name: Site Wide Notices Plugin% u! J. b1 D  q! s
   Description: Adds a new custom post type for site-wide notices.
; z! R* @; \& K0 y6 o% Z   Version: 1.07 |& V# M, A! j) L6 T4 Z7 }
   Author: Your Name
5 b* |+ A8 T( }& _9 p   Author URI: http://example.com1 `: X: j; O  B  r
   */) j/ A2 l2 n9 k! r, J! |  O9 e

  V# v- X3 z( }0 a& S6 V7 s; {   // Add plugin code here...
+ f" V, U) K/ F, F; z. ^7 K. s   ```& @: W$ e" Q0 u. _

8 l! I# U" {' A4 K   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。7 w+ |: v1 b% D9 L# u" A$ C

: K" |0 Q  j4 ^8 j2 Y; P# `2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
8 d3 }+ S# `: X6 T
& p' r/ ?; F3 R   ```
4 ]6 x4 k# A2 ?- m   add_action('init', 'create_custom_post_type');7 b. V$ J  S" d/ Q8 ]0 Y* F, V) ^
   function create_custom_post_type() {1 [. Q4 }1 C. `
      $labels = array(
! [- K; _6 b4 I) }) R; \& z          'name' => 'Site Wide Notices',
3 B6 A; t0 e. v' W9 x- i2 {- w2 q          'singular_name' => 'Site Wide Notice',1 ^0 j, \4 k" \4 t8 |/ X+ D3 b
          'add_new' => 'Add New',
6 T% L& }( h. \- g          'add_new_item' => 'Add New Site Wide Notice',2 f: P7 n' }, i9 {1 n$ X
          'edit_item' => 'Edit Site Wide Notice',
2 ?. |0 l! g7 N4 s          'new_item' => 'New Site Wide Notice',
& D& o3 N1 n( G$ b2 r0 _1 ^: ?          'view_item' => 'View Site Wide Notice',4 y# E( e2 z. I
          'search_items' => 'Search Site Wide Notices',. {& F. K8 }4 Y  q0 D6 \
          'not_found' => 'No site-wide notices found',
2 h1 A+ X( l9 \          'not_found_in_trash' => 'No site-wide notices found in trash'
* n2 M5 F; {' D9 N, V      );  u) b5 |0 b% w1 Y) e# @1 F$ l
% w# @7 y; k$ [2 \
      $args = array(7 |( B& E2 w1 ^9 h; K6 e% e
          'labels' => $labels,4 V# F9 x9 k) U% _: x/ U
          'public' => true,
; t. o- V9 g5 u1 ]          'has_archive' => true," Q; n4 J: F  W/ P
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
1 E& r3 z3 u9 H' z; M, k          'taxonomies' => array('category', 'post_tag'),8 C( `* j2 p. l+ C& w% h
          'menu_icon' => 'dashicons-megaphone',
& ^8 Z6 Y8 T( p5 C# _4 h5 Y+ j          'menu_position' => 5,
8 U% R$ v. y' }4 O/ k          'rewrite' => array('slug' => 'site-wide-notices')
8 u' }$ o9 C7 H: B/ H0 @      );9 X( \0 j0 B2 G

' z7 U' Y) h: F' E- t( ]5 E      register_post_type('site-wide-notices', $args);' I1 ]% G" r6 y$ Y7 b% c2 c) n
   }4 d% c) N3 q! N3 G/ D" e( c1 K! t
   ```) J  i+ S; r2 }; w
" m0 v! A7 ?- a& w1 c+ q
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。, b" n0 R: z3 D& D# U! h

" v0 X7 |6 h! E) l3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:: ?/ F" {9 d' D
# K" c" n1 m8 v( p; F2 X" j8 Y
   ```: K$ V  j" ]2 i, @
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');% C; u& S& Q% t% f
   function add_site_wide_notices_boxes() {
: l. k& ]" C4 t" u      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');4 U( h0 T, F! c' x
   }6 ~- L; d+ i: }" g

2 z# t; k9 G- `( m   function notice_details_meta_box($post) {. o7 ^2 m! Y8 p" x
      wp_nonce_field(basename(__FILE__), 'notices_nonce');1 ^  o! ^5 H: d6 r( i
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
3 x3 D; H% o. P) |) Z8 m      $notice_content = get_post_meta($post->ID, 'notice_content', true);
9 I; x2 O6 |- i      ?>  }& ^( A4 j& W: F! l4 ?
      <p>- O4 w  H5 j/ I$ v! a( F
          <label for="notice-title">Notice Title</label><br>; E% T, m. A* i8 ]
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">' K$ [* I+ g- L
      </p>
* l1 ~8 B% j' V) t; q      <p>
& {+ W4 ?1 M9 Q. @: r5 C2 p          <label for="notice-content">Notice Content</label><br>
/ g# \" ]7 Z8 u, U# n. @          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?># @& \) a; s6 F! b# ~5 l1 U
      </p>
/ V3 p/ R8 L2 a# C      <?php
8 ^% U6 m5 ~+ x# }1 n. }: z% K   }
8 n. R6 L6 \* _/ f* P5 m$ o. y* k4 |0 D  N3 J& s
   add_action('save_post', 'save_site_wide_notice_meta_box');* R$ u: d3 X' l/ k
   function save_site_wide_notice_meta_box($post_id) {+ j5 i1 q2 R' Y( R8 b# J" w2 [* b
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))( Q9 _+ h. m9 n( m: m& Q% G4 U
         return;
1 m) k' o. m+ n3 y6 z      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
9 ]6 Q" i5 t- W5 J' y! [         return;+ O) S$ i/ A0 R1 {! s
; W# K+ W# y  U3 u6 [& N
      if (isset($_POST['notice_title'])) {
' _0 C8 @" L9 a" ?5 _+ D          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
$ }6 x- V* V) z' J( G9 m      }
$ b8 U( i$ r# s" d2 }, g9 y, p      if (isset($_POST['notice_content'])) {3 f* d& J* n* z7 T
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));- A& W0 b8 K; Q, }0 J0 D
      }9 R7 k& K# {4 F7 \* s
   }
3 L% z: D" m% `. C, m* ]" V   ```
" w8 I2 C3 y! W- K5 t; N
$ M7 w! e* D' M+ a   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
# R3 m5 l: g3 k2 I7 E; @
2 G" C% [4 b0 ^$ W  {4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:2 ^2 y1 H2 s/ S- E  J7 F1 D. x; U
0 ]. }9 u; k, e9 I9 _, v& }, F
   ```( X; P; X, f0 q0 D
   $args = array(: S. Y: Z! y, M9 s
      'post_type' => 'site-wide-notices',( Y. M8 E: A  T- _. O0 z) m- z
      'posts_per_page' => 3,
+ U1 }) ?* @' g" D  Z      'order' => 'DESC',7 L) m% _8 V- k# V" r4 Y
      'orderby' => 'date'. x$ z: S1 S: L7 C
   );9 _2 Q# e) ~. _) p6 g
   $query = new WP_Query($args);
9 Q' d- D" A1 r- K9 r5 ?' Q   if ($query->have_posts()) :" E2 U0 ~: _% Q! N! E$ t
      while ($query->have_posts()) : $query->the_post(); ?>
, I$ n* e- ?0 Q) k9 W( t' P' b          <div class="notice">' F$ K6 {3 V- I9 X4 ^3 G
              <h3><?php the_title(); ?></h3>; j; q+ I. u" N
              <div class="notice-content"><?php the_content(); ?></div>
# f3 a+ W9 x* \2 @& A$ e          </div>
/ L" [4 a4 G5 T( R) Y5 @      <?php endwhile;
5 `" i  G5 s& M0 l, K' E$ E      wp_reset_postdata();1 e+ r5 N: l+ Q" T
   endif;6 q9 t/ `5 d/ U, ?4 J$ V! k7 Q
   ```5 z- P( r* y: e# i$ @* _: q2 R

3 J& `7 g9 ^5 O! U4 j: U/ o   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-19 12:28 , Processed in 0.071133 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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