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

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

[复制链接]

338

主题

520

回帖

3454

积分

管理员

积分
3454
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
$ S# i: Y: b; k1 I+ M: N$ f& Y2 l( _8 G; ^  F" S
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
. M' e" q+ w4 r* U3 e/ S& h" i( N+ l, O
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
1 `. c1 A3 X  Z$ h. ~4 s5 E1 P7 Z0 E0 o- r
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
! Y9 K6 f# A2 J/ I& i
2 V3 L0 T0 g- C+ E7 ]4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。4 L6 q* ?' o2 _. w6 ?2 T6 c

. I( {% i+ l( V0 b注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

338

主题

520

回帖

3454

积分

管理员

积分
3454
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?9 j- K! S1 i" J
0 ?5 j4 D) e8 J: v5 J+ f/ D
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:* {. \2 _1 x3 N; \6 T  i

8 |/ w5 P: g% k1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
2 F. x) j+ S: s- a9 l4 O, L
6 v1 F2 T9 @/ \) q4 N   ```' o. b' G, _3 ?0 V0 a$ L. ?" m
   add_menu_page(3 ^* S/ k, j& u) p
       '全站公告',
. \7 e; X- u& e, p/ a       '全站公告',
* V0 m& H- b% o: M) Q2 V9 Z       'manage_options', //需要的用户权限
" E  l' q& N5 ?+ S8 h       'site-wide-notice', //后台页面的 slug
* g; A- _' z% b       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
3 e% z" e- o( U8 y4 f. f       'dashicons-megaphone', //用于显示在菜单中的图标% A+ @& r; V0 i
       30 //菜单项的位置
. O# W' W9 q3 a. B! J   );
+ K0 i9 I( b. j, v   ```! w- V" d0 z8 M" ?3 ?: x
/ M3 s* f/ M; y: x% d" E  c+ {# ]
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
0 f3 c2 U; E+ {& I! L, A3 e
) C' ~/ S8 G% v; }/ \2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
' `9 E1 Q" D" F; |1 ~
% D$ T& a- [; m; [) H   ```7 j+ U' ?- ]7 U- ?. j* f! h2 @
   function render_site_wide_notice_page() {
9 b- t" t1 S* B: F1 G( R      // 渲染后台页面内容9 [; |$ J) u2 I" A( w2 j+ `
      echo '<div class="wrap">
7 m. h/ M4 \$ a' i% B& b          <h2>全站公告</h2>
8 H4 h- r1 R. t* P5 X6 Q          <form method="post" action="">5 i9 a0 l! b: c9 a! Z: U4 i
              <label for="title">公告标题:</label># o; ]* }$ A' K! i: b( k8 _
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>. Q$ e. G# \1 ~; Z7 N& F% W
              <label for="content">公告内容:</label>
+ k( Y: n! b1 x1 B              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
1 x5 v( O4 X; n- ?9 j, J1 ~              <input type="submit" name="submit" value="保存设置">
% K+ }/ ]1 m2 e! r8 C( {; [* m+ l' Z          </form>
7 V: ^$ j. W. G      </div>';! b9 I) R( t2 e

* D  v. W4 c) Q# S  s. A' B  l/ k1 W      // 处理表单数据3 G" A% n& u( J, Q1 ~( c
      if (isset($_POST['submit'])) {
9 n/ @7 {: p( |          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));) f5 P  T2 y% \. F; D7 Z
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));( V) l1 E  T0 R8 W% o1 r
      }
6 ?, F' N9 c4 E1 K7 @% p   }3 V. D4 I5 g! u8 y7 s( W
   ```
2 {8 w# b$ t2 p# O- W4 x6 M& \  c  S: H* L5 Z  A0 U
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。0 N, C  D( `# K, {

5 Y/ J8 n5 q6 c- ^3 B/ ?$ a3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
" m% ?# u4 T2 G& |1 |5 ?$ T/ j5 \& o, {0 `- Q# B3 R
   ```
0 W5 T" m9 d# f& W, M& x   <?php5 j5 E" D9 p) c2 A$ q7 j
   $site_wide_notice_title = get_option('site_wide_notice_title');
9 w% j# s9 ?( ?$ a   $site_wide_notice_content = get_option('site_wide_notice_content');& H, [$ P! N' L. h
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
) D& [& }9 V0 X: z& ]. D       echo '<div class="site-wide-notice">';
) b6 S3 g; z' L* r+ H( A       if (!empty($site_wide_notice_title)) {5 F0 G- P* {# C
           echo '<h3>'.$site_wide_notice_title.'</h3>';: R; j/ E* @  p! r
       }. W- ]0 y' q) N9 o. v
       if (!empty($site_wide_notice_content)) {
  b. }6 v- R7 D5 q           echo '<p>'.$site_wide_notice_content.'</p>';: J  i# p4 p. h5 g0 v/ ^# v
       }
1 L- Q/ }) I  Z       echo '</div>';% w( B4 c& _+ K, \  |5 D% T
   }- Y( L( i! i( n5 u6 M0 @# Z! C- w
   ?>) o" ~6 [+ Y% I, @  w
   ```- `' K4 ]4 |: n/ V8 |& i0 g$ T
7 d& b! W  K( V- f. o' w, t
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
/ o7 [+ Z0 \( `* \4 r. t1 H% }; i1 o% U( O' u2 i
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

338

主题

520

回帖

3454

积分

管理员

积分
3454
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?* j) |' W. F. e8 A& K7 f; k
  U4 `8 h3 Z9 P+ r4 u0 U: B
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:0 ]7 `; b8 T2 k0 T

" p) N9 i! f1 ?" e% J, |' h1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
/ l% O, k# v& G- j' o& h
' V: a$ X) Z: N( p: u/ H, I" \8 F```' {% c# G: g2 W9 c! X0 @4 S
function create_custom_post_type() {
& z. Z% f$ [' ~8 L. ~6 L    $args = array(
% k# S$ \/ {- B4 m3 r7 r        'labels' => array(
+ J1 L( s3 d% u            'name' => '公告',
2 `! M& n* c: c4 ^& Z, P. k            'singular_name' => '公告'" _$ ?1 Y; H9 C; t3 ~
        ),- W3 @! K' A! P* l' J, R
        'public' => true,* x( O$ q5 V: I9 ]0 q; }
        'has_archive' => true,0 R6 G2 p& d5 t7 J1 S
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
# x: ]. U$ S$ q4 I! t+ t        'taxonomies' => array('category', 'post_tag'),# Z. Z. K5 F2 F: `. D# I6 {
        'menu_icon' => 'dashicons-megaphone',
* A: }5 O$ s. }        'menu_position' => 5,
! [$ ^! \9 Q  [        'rewrite' => array('slug' => 'site-wide-notices')
' U* Q! ^3 j- r( \$ j1 Z5 _% w    );
& f& ^. @; S, f( ?0 @    register_post_type('site-wide-notices', $args);
0 u3 P9 b" J1 q9 B}, n7 G- G6 V( ^0 r
add_action('init', 'create_custom_post_type');
8 N/ u$ r, {- k1 e$ E) v3 z```
6 J% O4 Z- j8 v" `3 j1 i! d
( r) l6 {  O2 M, |在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
+ {5 p9 F: x2 P* \2 x9 W$ W2 Z# _: `/ w; r& v; j3 K4 {
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。3 g3 H$ F; ]2 q: ]

/ ^3 C1 z' r! F. e: Y2 s: ~3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:  }: l; V! }$ s1 \( U( H- U
1 E( B5 ~1 |% |. z+ d
```. W; J0 j8 Q6 I/ j, G. V6 k- g7 V# b* q
$args = array() g! H3 C% _3 e5 g' N
    'posts_per_page' => 3, // 显示的公告数量# V5 x/ o" p$ |* u& K$ X5 Y& l% J
    'post_type' => 'site-wide-notices', // 公告文章类型4 |% v4 }; l% ~6 v) S
    'post_status' => 'publish', // 公告状态6 U: S6 r; x2 ~; S( e
    'order' => 'DESC' // 排序方式
9 j5 `' e* Z" ?( i/ h);
: I* u  W' _: Z9 M! b- b0 [  Z2 j# K" a$ l
$notices = new WP_Query($args);8 X2 d* y7 A% Z" ~8 d( ^. d
if ($notices->have_posts()) :
! F: W6 Y7 \$ h7 K% G1 w    while ($notices->have_posts()) : $notices->the_post(); ?>! C3 D  s7 C6 C& `9 B& y  l! w
        <div class="notice">0 d$ Y: k+ U0 b( m
            <h3><?php the_title(); ?></h3>/ Z: Q/ u/ v. x
            <div class="notice-content"><?php the_content(); ?></div>
: N* o4 |0 [4 P" f  z( _2 L        </div>
( u% z2 F3 v+ G  G, ^1 `    <?php endwhile;; u1 l9 q; K& x* Z
else :
5 |! P- T8 s8 j2 n6 K% s8 ^8 l    echo "暂无公告";9 D- P9 d/ [$ m4 g, E3 w9 h
endif;
1 v: S4 F& |( F  [" B0 u$ Hwp_reset_query();! _2 V- Z; C+ e0 X* q3 Z- X
```
6 W' |# o; f6 r/ V* N4 W3 M6 k8 C5 T+ c3 l0 M2 e% E) P
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。* g  L: w7 m, [2 k- ?9 I  U
" r( Z! k& W7 ^/ ?
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

338

主题

520

回帖

3454

积分

管理员

积分
3454
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
2 t% e5 f! r" @/ |! F: N& j. z# s6 Y' r/ W7 f
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。( F6 C; N. F5 c" K7 e- S' P: _
. g1 u. V* Y. v% v) L8 n
以下是创建自定义插件的步骤:6 M: ~# v" A: c4 T/ u/ q

+ l3 j9 S1 I3 R3 f2 M$ J' _' x1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:, E$ v! X) I! r  t' [& g

2 t, n: R; l- P) a% _   ```( H% A! X9 \& U9 h2 C4 N8 z6 i
   <?php
' V( B) X& ~& G   /*8 y9 W% M6 E+ A
   Plugin Name: Site Wide Notices Plugin% s9 n. D. |" n9 E
   Description: Adds a new custom post type for site-wide notices.) N+ q8 p3 u5 a! S, ?
   Version: 1.0
; Z" X) E+ ~. H3 g+ E# O7 ?   Author: Your Name
- z: h. D6 X. c8 J, t: N" \   Author URI: http://example.com
! J! A4 l( @2 N& z0 i* d$ X$ f/ j   */
! O+ m% O$ Y( ?% A4 d% N: u
( d9 m8 W( @' Q' D% {   // Add plugin code here...) A; K7 o' j6 W2 Y5 t9 W4 N" U( k- w
   ```
: H5 M' k- T( w6 |" I5 f6 z/ t6 Q3 p* u
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
* J; C$ L  y: L2 \* e. k( T1 N  c% }7 W; X! @" [# U5 [
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:! K- J" v( b5 U% |) ?
0 d) ^$ z* z* R/ h
   ```
' O0 H; t8 l% R   add_action('init', 'create_custom_post_type');1 z  B" |# H8 F: }
   function create_custom_post_type() {, \# V' ~5 M4 ~- v! j
      $labels = array(
+ P6 S" x+ Y4 Y/ {. l) Z$ k; v          'name' => 'Site Wide Notices',5 r" i2 n% C$ `2 u  ^- R6 H: Y
          'singular_name' => 'Site Wide Notice',
' }4 }# U, X+ Y* t          'add_new' => 'Add New',- ?  p/ I) ?- e
          'add_new_item' => 'Add New Site Wide Notice',# a( D. e9 s3 q( U7 u
          'edit_item' => 'Edit Site Wide Notice',
$ b, v& e1 l+ ]2 ]/ D- {: H          'new_item' => 'New Site Wide Notice',
$ _& ?0 }7 I- r" r# i( Y  k$ U          'view_item' => 'View Site Wide Notice',% |8 D" o$ g1 X) z: Q' g) C2 S2 ~
          'search_items' => 'Search Site Wide Notices',
& |: {6 Y( a7 u          'not_found' => 'No site-wide notices found',* o& c* P' b, o
          'not_found_in_trash' => 'No site-wide notices found in trash'9 s8 b. T" q& N8 q, ]
      );
! K4 h; l7 ]! M$ e) X* f7 [
, Q, u7 f8 e' T0 e- z; b5 s) l      $args = array(4 V- ^: B- `8 M5 Y  G
          'labels' => $labels,
$ Q3 c& W8 d8 D          'public' => true,
! |% ^: X' F! u1 j          'has_archive' => true,* t& I4 L4 \. _# L! [! z7 I
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
$ o3 u3 }" T" k! l          'taxonomies' => array('category', 'post_tag'),
0 V1 N7 K1 g+ d' G% y0 e, _          'menu_icon' => 'dashicons-megaphone',
  \5 M3 u1 k5 v4 _          'menu_position' => 5,) w# Y9 Z1 a8 p  r: N
          'rewrite' => array('slug' => 'site-wide-notices')& m. w5 g1 C. x2 I( w
      );
% M+ S# b/ v" s7 N  g8 Y; g) x
" X- P! K( K/ t; _& W4 z9 _" z, V      register_post_type('site-wide-notices', $args);
: |/ z/ F; s7 ?& ~   }
& m- {  n4 {5 D" q   ```. O5 |( J9 b+ V7 P
# ^! {# r6 q" B- M
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
: z  ^2 ~) D# S( k
; H" u4 \2 D3 m+ U1 k& j3 Y3 K3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:# S+ ^4 G. \" u/ u& @1 t4 E3 l
% D7 ]$ ~( O: E
   ```" ^' {( R$ j0 V/ d6 ?8 q9 j
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
7 e2 y) m* T3 [& o   function add_site_wide_notices_boxes() {
  K) a! @4 l: T- N' W+ B1 V+ Q      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');+ k4 O5 v# e& C8 k/ W5 Z# i
   }
* M- G' T" N2 Q8 `
9 ~$ A# _. p5 p' ]" C/ F5 p+ s   function notice_details_meta_box($post) {1 q! }( S/ D3 K5 i: D4 a7 `2 c7 x
      wp_nonce_field(basename(__FILE__), 'notices_nonce');- j+ t0 f" J+ S8 ]) Z
      $notice_title = get_post_meta($post->ID, 'notice_title', true);# r) n$ x2 S0 w  M) U
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
2 i  a' D( y( c" p7 D! f      ?>5 v/ \+ {, E# e; S, w5 j% m% h
      <p>
! c, E" j. @7 [# J; c6 @- ~          <label for="notice-title">Notice Title</label><br>
  K" G# h$ ~1 ]0 [          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">3 e0 K& E# B7 i3 L( s/ N
      </p>
4 a; Y& C* J6 P* _; \      <p>
# ^" R' @- n* l6 _          <label for="notice-content">Notice Content</label><br>3 Z7 f8 {! ]5 P' @/ t
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>- Q' S" R$ Z* k0 p: |2 s# f3 }
      </p>9 {' O) [8 n; [% a9 i, E1 ]5 a
      <?php
/ T+ {" y( k  s   }
7 U- \; X: Q" v5 U, `+ `/ \/ C" r, u" E+ C, K* ^; A
   add_action('save_post', 'save_site_wide_notice_meta_box');# r# S/ i7 y; y5 _' W
   function save_site_wide_notice_meta_box($post_id) {
9 z5 F7 q9 ^, J( q3 R; a      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
' r+ h% n! s# \" G, `         return;
9 ^* C4 g" z% {& h      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE); W; h/ v5 G7 u, {. U! L
         return;
8 d# ?1 l9 w9 U2 S( _
8 F2 }, A% U. ^$ x: b3 d* p      if (isset($_POST['notice_title'])) {
* K% V5 b) D' l          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));( Y. a, P" n  X5 I  r) f
      }
1 e  X# W% O' F      if (isset($_POST['notice_content'])) {& C# b6 y  P! R
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
; y+ d4 {% ?5 k3 G; G/ c      }0 k2 p& Y. h( D8 u) l' L6 i) D$ H' m
   }! H- {/ m$ ^! ?  K, y  G1 T
   ```6 z$ y6 Q8 V9 m! \: c8 N
+ C  b! m; E6 N
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。8 A: w. U; F" G2 I. D

) Q$ t; z& e1 E4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:# E- J8 S* X! C* K) H8 ~* T

7 G0 z+ U: p3 t% [7 K" Q  h6 ?   ```
& l% u; m- |7 w. W   $args = array($ S& }+ q1 h( F
      'post_type' => 'site-wide-notices',
% w* p& e3 X. Z& O5 {/ Z      'posts_per_page' => 3,  g/ m7 x4 _& ]- g) w: Y; Z* @
      'order' => 'DESC',5 z1 Z: _- c6 a7 p- t3 N
      'orderby' => 'date'$ o4 z6 I$ `, }: x
   );7 d( D: B. a6 d  I. R/ ~1 p) t) L
   $query = new WP_Query($args);
/ `+ a4 }; H4 M# E) Y3 ]   if ($query->have_posts()) :, V3 _1 M! H/ [3 x: V: k
      while ($query->have_posts()) : $query->the_post(); ?>
+ n- u5 n9 [" Z          <div class="notice">
' o! r1 o' i( r2 Q1 j4 v3 V              <h3><?php the_title(); ?></h3>9 p5 S" o( a: P+ x  R; c+ L
              <div class="notice-content"><?php the_content(); ?></div>
* o% s. N0 Z- h" j          </div>1 E, N2 U1 T- |
      <?php endwhile;
4 I0 a2 J! V% S; w; M  k9 ]& |0 U) u      wp_reset_postdata();
' \6 f& i- O7 @- a* a   endif;
6 }  ^7 v4 o2 G3 B   ```
$ }4 O7 t! b* ~  [; M8 z
: o/ N0 [# d" Z( I( s   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-24 11:09 , Processed in 0.043063 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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