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

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

[复制链接]

338

主题

521

回帖

3474

积分

管理员

积分
3474
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:9 F" J; M  s5 W" S4 x& z  l

: u5 J* E% N" }6 ]1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。, V1 n2 B4 S8 Q2 M$ A4 f0 s
+ H% }0 K! N; S& M
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
. o4 l- u' o* S1 t7 ^* S  ]3 V) ~  V+ `8 d. e
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。* P) P& y+ X$ S! Q$ E# h1 X) i. q5 q

3 Q! a" ~4 s; `2 Q4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
/ Z9 Z/ h' a% L$ M$ r
& G2 ]/ p' }: X7 E注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

338

主题

521

回帖

3474

积分

管理员

积分
3474
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
" e/ R$ P3 p& i  i' _" ?5 v
7 @3 [" ]% d4 x) s0 \) h# `& s; B: V如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
) f# G! A6 V: L- Q$ n& y1 V+ I/ X
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
9 _. o$ [  J7 [2 @0 L6 a4 q
2 r! V! A4 f; V: w& @4 a2 D   ```
1 y3 T2 g4 |5 \; A% D  P) `9 R   add_menu_page(
7 o  ]0 H' V/ i5 Y! ~       '全站公告',
$ Y5 ?7 T1 P: ~9 `       '全站公告',
' o+ h' Y' j0 \7 H/ v# m* E       'manage_options', //需要的用户权限
2 \$ Y# i/ X% D% n$ j       'site-wide-notice', //后台页面的 slug1 F( n7 _8 t" o. O% b6 j& h; }
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数# A; T/ J6 r$ s; g# o
       'dashicons-megaphone', //用于显示在菜单中的图标' C7 z/ i; q. r
       30 //菜单项的位置
: E5 ?2 E! }8 _. C- `   );3 J- ^6 u6 P' X
   ```
8 \+ w# D) T" s' j/ M. n# U; A. ]) x( h+ U# K  }: U5 E7 x
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
+ }8 k) D" G& _) V& k, [  x' |% |4 I, W
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
/ E; F2 R5 \8 q8 s5 k9 {
  O& n8 D% G2 S4 J) E9 J. A   ```
4 d% g$ g/ U6 h+ F! C4 b% P   function render_site_wide_notice_page() {
" Z! o- B+ _! B" z! I$ u4 T      // 渲染后台页面内容9 H' _7 s( v& f# ]
      echo '<div class="wrap">
7 i: y- [% U- T. W3 e1 ], m          <h2>全站公告</h2>1 \7 h- L7 U. A, M( Q& j9 [
          <form method="post" action="">
: Z# A- Z: z. Q5 w              <label for="title">公告标题:</label>
5 a' P+ M3 d( B  [              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>' m" t4 k% E1 f, H; t
              <label for="content">公告内容:</label>& h- P  n; h6 ?7 _6 i0 s
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>/ F( }- O  G1 B6 w+ @" m6 l
              <input type="submit" name="submit" value="保存设置">
% D! }' k  Y) P7 V          </form>
$ B$ H$ O1 Z5 G6 z7 O7 [' f' F      </div>';
; T( y. T+ }( {6 Q+ m# }9 Z: L) d" j  o$ c2 O/ c& B% I4 Y. w; V
      // 处理表单数据2 ^% l' F( l. ^. k: ], U/ ^
      if (isset($_POST['submit'])) {9 G$ _0 a% S- K1 `! @
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
3 d. @& j+ y1 m! o& r$ ~          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));7 i0 H6 H# a5 O" C" t( r
      }: w: F; P- A2 x8 e: D0 O) T
   }. `" r7 }4 B; Q/ I* S% n
   ```, b' |- w+ V& m; L( w- u) E

6 z+ Z1 I3 m4 N; K, n; N   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
! m* C  Y0 O' I' E- Z" }& w/ m0 j; s' c: _% x8 T2 E* G
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
" s7 ?2 J( D! o. I
3 ^+ d2 T- m. ^* K: f   ```% J; }7 I* W# a
   <?php1 K) j* @, N4 N
   $site_wide_notice_title = get_option('site_wide_notice_title');2 ]7 i' i# U1 S1 @" V3 q, Y
   $site_wide_notice_content = get_option('site_wide_notice_content');
. z! G9 @& K& }$ C   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {: @: [; `% O  C& U: w9 n* f
       echo '<div class="site-wide-notice">';2 E  F2 u" U$ z4 h$ e$ B+ z5 x4 J
       if (!empty($site_wide_notice_title)) {9 r& J# _5 J- x3 p
           echo '<h3>'.$site_wide_notice_title.'</h3>';9 G0 |  ?4 K. r& s% j
       }
, C0 ?7 t; d4 n7 P: E& ]$ d, f       if (!empty($site_wide_notice_content)) {
' N' k6 t6 Z( m) x! ^; `0 }           echo '<p>'.$site_wide_notice_content.'</p>';7 Z3 a9 h! I3 P4 d) |
       }! A6 k5 Q6 S6 U
       echo '</div>';
! v# L9 k- T; x; Q( J( _$ i6 i: I   }" U0 D- D0 j4 R" A
   ?>& _& ?+ J# B- \- b! U5 z$ I
   ```
) m! N: m+ `/ b  J2 v0 G6 `7 U2 ^
8 d- a- u0 Q$ e; R/ E9 U9 V* P   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
, h, D% N/ c0 V9 f+ i# L4 Q
* V  x, F8 Y  ]9 \请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

338

主题

521

回帖

3474

积分

管理员

积分
3474
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?, b- ?5 O! a: L& s2 M; N

9 ?+ X6 Y) H& ?0 _您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:1 i+ }. G( j; M/ Q  j- v

  m- M3 f8 V4 z: f1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
, o9 T3 [. s* g2 i% D( X
% C& w* Y& J/ [2 x# b2 E```- p* I- J: R8 G$ }  k" n5 o4 P+ K
function create_custom_post_type() {/ ?! T4 n/ N. G3 g" r, ?$ T# Y5 X2 l
    $args = array(( |' G9 N: {/ f9 I
        'labels' => array(( {; O2 y5 u% W5 \; c
            'name' => '公告',1 E: K: m8 K4 d% r% ^
            'singular_name' => '公告'3 b2 x) N$ `# U0 S2 m9 @( I
        ),
# [4 B5 {6 i; D( h7 J' z6 q        'public' => true,/ H. j2 }2 w) ]6 C+ Q2 d
        'has_archive' => true,
% J! w7 O" P/ M; Y" {& K        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
: r3 a4 o8 W: p" o        'taxonomies' => array('category', 'post_tag'),& [8 W! ^! P  @1 S9 v' S: b8 B
        'menu_icon' => 'dashicons-megaphone',* \2 l7 o! ^2 U( P
        'menu_position' => 5,( m4 a9 y& Q; r$ Q  t- T4 l
        'rewrite' => array('slug' => 'site-wide-notices')4 @3 j& ]3 a6 T: j5 F+ O  H
    );
+ x  V, z. @. C    register_post_type('site-wide-notices', $args);+ N. ~3 [0 c* n/ `
}4 X+ l7 x3 u7 q7 k9 g; {
add_action('init', 'create_custom_post_type');
& B( T' k6 ~6 ~  S+ j! @```3 Z$ O' i9 d) G7 Q4 C
# H( \3 H3 t! p5 p6 Z7 [
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
4 I6 u$ Q4 w/ Y  |# X, G5 m% f. {- L. l
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
8 j$ s  N' J7 @0 v" s' ?' h
) M, T* A$ D9 R4 F* t3 T3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
. U6 Y' j1 E4 Y
1 B9 T, o" A: K, d' u& [```% l: c( n9 |1 u6 W) l2 `
$args = array(
$ v( K! l9 T) u3 a$ W& O+ P! U    'posts_per_page' => 3, // 显示的公告数量
& O# ]% w8 h1 s8 d7 R    'post_type' => 'site-wide-notices', // 公告文章类型
, A/ G/ L& W* w4 X    'post_status' => 'publish', // 公告状态
. N4 W1 G4 C2 {/ f    'order' => 'DESC' // 排序方式
! W& n: q0 ]6 y) |& Z3 g4 t% t);
7 y' D" D: f. J! j
* u0 V  t3 H$ v5 c6 w! ?2 z  `$notices = new WP_Query($args);2 O) ?, x3 c, u' D
if ($notices->have_posts()) :
% T# Y' E4 b, ~* u$ A6 P9 K    while ($notices->have_posts()) : $notices->the_post(); ?>! ^8 U" ?3 a9 D! y
        <div class="notice">* ~% E/ B1 q/ f: s+ g
            <h3><?php the_title(); ?></h3>
, z# r% a0 b$ v2 c! T            <div class="notice-content"><?php the_content(); ?></div>
9 G7 ~' C, c" [        </div>
" u" X6 Q) `/ {1 y, `9 w% n0 c8 _    <?php endwhile;
+ m1 ^, A% Z& A0 @/ xelse :! j; z) m: A/ O  }0 ]. ]; {3 K
    echo "暂无公告";
8 \6 h! j) E- ~( cendif;/ ]' q- o4 w" B1 W" l. i
wp_reset_query();3 ^9 E* s- n' [
```
' D6 y! G6 c5 |  `; A2 h6 F! T5 Y; L- Q6 `, L
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。- Y# @9 h' q* D9 y7 _
& c6 R9 G/ Q  u, L% H
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

338

主题

521

回帖

3474

积分

管理员

积分
3474
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
. U* J( X+ Y3 n' S9 S# l' A
8 v# Q8 t/ S/ F: A6 Y  R# B& M如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。& b" K. D0 Z- k% ?
" F1 U( r' V. a
以下是创建自定义插件的步骤:
- a5 y' u# C1 c$ w4 r% B
! N3 k! R4 p: t1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:1 q, u' ^7 P$ g
: v5 I6 p7 h8 R& D2 d& d4 @
   ```7 r6 ]0 u; Y, o- J& Y$ I
   <?php. F& ]  K0 F$ A: L. E; Z0 _
   /*& {' B( ]. X) s# _, O
   Plugin Name: Site Wide Notices Plugin
% W, U6 s  ?* j$ ]4 x' R. F/ p: g   Description: Adds a new custom post type for site-wide notices.1 S: |1 T( ~1 c
   Version: 1.0
7 M$ `: |% l: U2 n   Author: Your Name
7 T/ \( R0 R8 A2 Z, \2 u4 T- ?) A   Author URI: http://example.com
- e% ?, W+ s/ B  X4 G8 {   */
5 m' r; f5 U1 K( |' ~
+ X" d, x5 h. [  U: n   // Add plugin code here...
" B# O6 P. Q  X! d9 z$ ?   ```
+ y) A9 E4 `0 F  o
) I' ^8 Q$ j  Z0 J   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。* j& i+ H/ m6 W0 ~
- K) R7 X+ L& T4 {
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:4 a- ?$ D0 W! I9 |4 N7 l
$ R5 ]# v/ B' ~, ~
   ```
2 W( z2 [/ M3 V7 P   add_action('init', 'create_custom_post_type');! b' |  U" n4 w: C5 X/ z- o% B
   function create_custom_post_type() {
, ]) M  V& M& H, f6 ^      $labels = array(" F; X1 I' o, z. t7 W5 i
          'name' => 'Site Wide Notices',
* X% b7 c3 B4 Z& K7 l& i. |          'singular_name' => 'Site Wide Notice',
2 B. ]% K) l$ s8 j( w3 v, \          'add_new' => 'Add New',
) i+ E. |  h  a+ F6 }5 c7 ^          'add_new_item' => 'Add New Site Wide Notice',' [! Q/ X: F  m" R6 c3 s$ x4 H! ^
          'edit_item' => 'Edit Site Wide Notice',
' c' `; Z! D. l. f) N          'new_item' => 'New Site Wide Notice',9 t! g7 q- N* r  g( [  X/ k1 g
          'view_item' => 'View Site Wide Notice',
* `4 X; b) h8 J" J1 t+ E* K0 H          'search_items' => 'Search Site Wide Notices',, j8 Y: ~1 }/ L: ~- j2 I4 [0 |
          'not_found' => 'No site-wide notices found',- \  b& s/ X+ J1 o
          'not_found_in_trash' => 'No site-wide notices found in trash'
, [6 C+ z9 Z. U( g      );& [0 p3 E+ L9 f8 o3 N5 E
  T. T- `3 P) o& h
      $args = array(
% M; I8 |! u$ U' ~! [          'labels' => $labels,
. L" g' P$ g9 G: w          'public' => true,+ z. c$ S: E- M' j4 ?% j7 G; o9 l  i# G
          'has_archive' => true,
/ J. w  ^2 u# w! G          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),7 s# ]! K0 T. K! b. d: M# X
          'taxonomies' => array('category', 'post_tag'),
$ R+ p* p+ c( z! v4 h          'menu_icon' => 'dashicons-megaphone',
: O4 \3 h5 f9 E4 x4 X          'menu_position' => 5,
* L2 J7 l6 O) I' t- _6 B8 x; c8 A          'rewrite' => array('slug' => 'site-wide-notices')9 e4 l3 n; ^$ \0 I7 o
      );1 L) S2 D. f" w6 x: t
$ ]& ~) I" }1 O+ P' S1 |  v2 [2 t
      register_post_type('site-wide-notices', $args);' S, r4 v2 V. Y3 y, j( R
   }, Z  m+ O7 U$ Z2 ^! }
   ```
* |/ i* k! c, P9 F) w* M9 w
+ M+ G: c3 a7 k; \) _   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
2 Y/ W. E; g! ?1 Q2 l( H( p1 o5 u8 ~3 k& F# f$ H$ P
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
4 Z3 e- l) }- J% F
* V; W' S3 d  Q! N0 \6 n   ```# h0 ^5 w. {( @! \- m
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
( n, v% g4 _8 J. u   function add_site_wide_notices_boxes() {
! Z/ D- @: A# f5 l      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');! S4 X9 m6 A5 n( X
   }
$ u. ^* @7 C; D" z" Y. `  p  a& o6 O8 H: c& \9 W/ n
   function notice_details_meta_box($post) {1 B& ?* @+ b# ~
      wp_nonce_field(basename(__FILE__), 'notices_nonce');, D5 G; R- @' w# E9 }/ _4 n/ \+ E
      $notice_title = get_post_meta($post->ID, 'notice_title', true);, g9 y- {7 c% g9 v$ i6 H* \4 w
      $notice_content = get_post_meta($post->ID, 'notice_content', true);6 K! e, [9 T/ c9 L( }" o+ y
      ?>
* @' v* z" }9 ^& s0 ?      <p>
" Y6 M3 I3 |0 O" d" q' R9 I          <label for="notice-title">Notice Title</label><br>: L8 S& Q" A2 p/ G3 Y
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">% E( k' d$ o* m& M" }: c  @
      </p># e1 N+ G! I; b
      <p>6 g( y7 r) U3 B; ^+ ]- a. N% i
          <label for="notice-content">Notice Content</label><br>( j, E7 u" K: r" Z" ~" V* m( K
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>" i& S0 t, d# a! o) ~+ u
      </p>
7 e9 g% @- b: s7 D* |      <?php
4 e+ @) e7 r- D% ?6 h9 q, h7 ]7 B& z   }" {$ M" r4 L% M2 p* F0 |' t

- Z- u8 k% z6 S* h; M! r   add_action('save_post', 'save_site_wide_notice_meta_box');9 q* x( m9 {8 m( z8 `
   function save_site_wide_notice_meta_box($post_id) {
" ]+ L9 J5 \: S$ P1 k      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__))), K, v- m* R  B- W0 F( \  w
         return;# |6 x# ?$ G) q
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
1 B- n4 ]5 E3 W6 f         return;( ?6 y# T8 D  H6 \0 o+ z
; D& o; p6 @# D& n- Q2 O
      if (isset($_POST['notice_title'])) {8 F0 m8 v1 t0 s; B8 y0 r
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
8 A6 g8 z0 P: v; ]      }7 F; S' x3 A0 X' X- d
      if (isset($_POST['notice_content'])) {* ?2 M& v3 U, S7 b+ d5 e6 G
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));6 b+ ^: V) f# T8 r
      }5 r. l; l/ q8 o) F) x/ J
   }
& T( H/ \+ o. e! w9 t: e+ n; j( v   ```, w4 k- Z- |& u) p+ o9 M: O

; G0 }8 E; K$ {1 O   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
0 p+ T# B6 n( S! X5 M! A
4 y1 H  M/ K) t# D# K* R+ l) c4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:7 o9 j0 O, X& ]( t

7 a5 f1 x1 E7 p& a   ```( O2 B3 F( P* A+ X
   $args = array(
" B: I% t  r. K1 e+ k      'post_type' => 'site-wide-notices',
9 r" e$ J  ]7 @# H. }/ }+ v      'posts_per_page' => 3,
7 L- q7 M/ ~. T, e      'order' => 'DESC',* ~( M* w4 L; X( V5 x) r9 X
      'orderby' => 'date'
$ H( j3 ]" \2 V7 C7 R   );
% d+ d$ }3 p2 @! d( F. W' K   $query = new WP_Query($args);
- L; q& C7 q( f6 |  {4 \* |! x   if ($query->have_posts()) :
1 n" Q/ S* H& z" B      while ($query->have_posts()) : $query->the_post(); ?>; ]; Z: F- j, x% n3 D$ T) }
          <div class="notice">
+ _( V) v4 q( Z8 l. D              <h3><?php the_title(); ?></h3>
! s0 @& O( u2 e% |4 H/ K, d5 J  t              <div class="notice-content"><?php the_content(); ?></div>! d7 S+ h. R) z: T3 H6 [* b8 p, w
          </div>* B# ~; T7 Y6 |8 H0 |8 a: j
      <?php endwhile;, f# U8 Y" F% ~- [. K( {8 z! r
      wp_reset_postdata();
, ^: V. G; o, U   endif;" k% p/ D. p2 c4 D
   ```1 o( x4 I% Z2 }

. I6 i5 |8 ^& ]8 Z3 H4 {, c( d2 d   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-7 23:17 , Processed in 0.015446 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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