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

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

[复制链接]

331

主题

511

回帖

3355

积分

管理员

积分
3355
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
5 }  f5 |2 z- I4 j
- I7 a$ b0 \% [& y5 v# j3 {1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
0 b) P; B1 e2 ~
/ y, n3 O9 V& r& I8 A1 f  H2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。* _- j3 M; Z  a4 @6 u+ z+ M
7 O0 c$ n( y" A$ K& U8 c- X6 x
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。% L& @6 W1 y$ z+ b

7 P. E& O; b+ P# }" S1 ~4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。4 L) d9 |( B0 z0 p: Y- a

! o+ h/ p/ M, }2 q) L注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

331

主题

511

回帖

3355

积分

管理员

积分
3355
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
) k: l9 g9 M0 @2 Z& f% w( E' _$ y
6 C6 w7 g' q- G4 ^; S3 [3 A如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
' g( l# T: `3 f9 O9 B5 n/ y& t/ L' B" p/ w0 {
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:$ m' Y7 E$ l" z8 g- h7 J2 L

# `7 l3 R$ |$ A( \$ s   ```% N; g+ {$ k" P( d; I& B, |/ V
   add_menu_page(
7 t4 Z8 H4 ~/ d, ]- m       '全站公告',1 f* e  H# j8 x
       '全站公告',7 {; }' y  B" F. l1 P2 U* e8 k8 d% x
       'manage_options', //需要的用户权限
5 ^: d% |. Q, z, A0 P       'site-wide-notice', //后台页面的 slug/ |- i1 f  ~$ A0 n/ h! d% t0 N
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数0 E6 x  ?2 T9 P; {/ }
       'dashicons-megaphone', //用于显示在菜单中的图标
! L) y  H2 J/ A       30 //菜单项的位置
: f4 i8 Q1 H* N6 H+ c- T$ }3 W& Q   );
) U$ Q5 I2 t- X7 B6 N! P   ```4 l7 T8 h9 I0 q6 [

$ w5 o& w& O% x5 A   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
! h: x* ~7 s; n" K5 H8 F2 x0 d( ]+ R5 H4 B
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
; t- b3 [$ A# {2 ]* s( q$ G) B$ a! r0 I" \& D& t: S
   ```
, M% C, U7 U0 c6 Q8 O! x   function render_site_wide_notice_page() {$ |0 ?8 e* g! D7 S' [
      // 渲染后台页面内容
" K0 G$ K! x& L1 M4 B  z      echo '<div class="wrap">8 ^6 N9 r/ |: b/ z
          <h2>全站公告</h2>
1 K$ k4 o- t# h7 w. N          <form method="post" action="">0 R* }" d% q3 E; w
              <label for="title">公告标题:</label>
$ S* o) }: L% t% o, A+ @              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>. Z" X6 p, m( g0 o% M
              <label for="content">公告内容:</label>
  N) c0 Z0 K/ I; W* s- D              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
; P" G3 d8 Z& e! y5 Q              <input type="submit" name="submit" value="保存设置">
, y" ~: H' M- o$ l* V. @/ }          </form>( i1 N7 O) E2 e6 B2 X
      </div>';
1 I& D8 \6 M; K3 B& u: _) |
7 q. v# `1 l8 {3 v8 d) c; M      // 处理表单数据5 s1 a" O0 ^8 x# e6 T
      if (isset($_POST['submit'])) {
9 C! t/ K+ b6 \# S- ~          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));  @; o( J* y! g, A1 I. x+ g
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
8 A( \8 ~. c) u      }
+ {) D4 o; y- I) ]% S9 T, f6 }' d   }
9 k' I0 b+ L: a# I   ```
+ ~& w" `! d; {3 }& r2 r5 T5 E7 \- I- H3 E) P6 ^
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。% i4 m6 S& E  r9 m& U; R
7 ]/ g# r% X) V; P) {- t& h' T
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:& ^  g" M* ^) b! w8 \
' Y6 Y9 b7 h% u, H2 G: ~
   ```0 D2 N5 t% m6 r/ z
   <?php0 K) o$ O/ U. c5 q, D# Y% d2 L1 T
   $site_wide_notice_title = get_option('site_wide_notice_title');
1 K' X/ h1 _1 W% ~+ @1 L   $site_wide_notice_content = get_option('site_wide_notice_content');' Z9 G$ M7 D* g, \
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {( u( R8 o3 g: j8 T% H
       echo '<div class="site-wide-notice">';
' X+ Y$ m" K7 ~  y, N7 z4 _       if (!empty($site_wide_notice_title)) {  t- ]' f  v6 L/ c
           echo '<h3>'.$site_wide_notice_title.'</h3>';
# `8 R8 G! F: N+ ^' a       }
3 H  [+ \7 Y  _4 d' }: ?       if (!empty($site_wide_notice_content)) {) j0 U6 x* n8 c* V; U2 m4 A" j
           echo '<p>'.$site_wide_notice_content.'</p>';
" D- m$ }$ w3 F' X       }
6 s/ R8 s/ _% g) B1 ?2 b1 A1 K/ X       echo '</div>';
& x5 e8 c& J4 I1 O$ j' S1 d   }
9 R" ~1 n; v) X" Y! _5 q   ?>5 O2 L& Y6 C/ c! ]' t
   ```
) {2 r6 a% i, r) h" R+ F
  ]* D  W2 {" Q: N   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。% S9 H/ {5 l$ b( g7 I
, t4 s" t! C- i; z8 G6 f5 @
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

331

主题

511

回帖

3355

积分

管理员

积分
3355
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?. C5 b) ?- X& L, }

3 y' z; K* k: {2 p, J" _- i. ]您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:/ h+ E; P, `* K5 F5 m

/ i  T; T; V9 Q/ N) s$ j* i1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
; Z" [5 P# f& h0 D' [! F" f' m
# \) k, @8 E" i* [6 ~& q```
8 u) |3 X% U9 h& Jfunction create_custom_post_type() {* r7 x/ {1 n) ?; Z; }$ f9 ]
    $args = array(
4 n' H+ ^6 e" h% b7 O1 p. I8 r        'labels' => array(* ]# b- B9 M! V/ u
            'name' => '公告',) T& b" _  ?" v- D/ ]  t/ d) r: ]1 d
            'singular_name' => '公告'
' O! t4 u8 n, v        ),
; j+ f; }9 O5 e  U% E        'public' => true,% g6 w( C' {; p9 U
        'has_archive' => true,( r% x, `. n' T, {8 w
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
$ Y# j5 U, F5 H        'taxonomies' => array('category', 'post_tag'),1 _6 g* i* g$ f- C5 k4 b% m5 {
        'menu_icon' => 'dashicons-megaphone',
/ {3 `; n: [+ a, N  y        'menu_position' => 5,' ^+ y( B4 a# u) o4 w5 G9 I
        'rewrite' => array('slug' => 'site-wide-notices')
& B8 H2 x6 ?; X- d2 B    );1 q$ L$ c, F$ T
    register_post_type('site-wide-notices', $args);7 P; Y* X  ~& p3 L! ?( L
}' l. C1 f; K) t
add_action('init', 'create_custom_post_type');5 G4 T/ M$ q0 [: _
```! e7 B& s. T+ t

( Y# Y, I1 L' F' H' R+ m" L6 U在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
# o: m# I3 T, ]) _
6 O) ]( V( W" K) i# c3 Q2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。/ y3 l/ q4 R0 a  x- [" W
. f7 W; x) {# d# D0 k  h
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:$ G# ~$ B9 E& u2 s( A6 \0 Q

# x, b5 Q8 R9 C# }1 ]```
4 M$ L3 L- E9 ?9 u6 i$args = array(+ @( n9 B3 }9 \0 @+ m
    'posts_per_page' => 3, // 显示的公告数量
: Z0 h. D  x* {    'post_type' => 'site-wide-notices', // 公告文章类型
$ H1 a7 f; k5 I4 X* C4 H. A" Y8 h    'post_status' => 'publish', // 公告状态
8 M5 y+ g% w! O. K9 l    'order' => 'DESC' // 排序方式
: K: b: W2 v& U);1 T# u& V- R7 }  t9 S. Y! l
9 V4 m+ N' C# U* g& q
$notices = new WP_Query($args);
8 Y' Q0 ?( @" u- M* [$ l8 U! E# Vif ($notices->have_posts()) :
' [9 o  _9 s' w3 x3 Q  b" @! h    while ($notices->have_posts()) : $notices->the_post(); ?>' ]& B" E# Q3 i" P: P
        <div class="notice">
" G% u. f. F: N2 O            <h3><?php the_title(); ?></h3>2 z0 d5 f3 ~& V5 I) T4 D
            <div class="notice-content"><?php the_content(); ?></div>
$ I; l9 q8 i+ }' E) s. a9 r* K        </div>
% K5 y  f. a: o    <?php endwhile;
7 {7 K1 f3 ]1 F1 ^- S% r/ y" ]( Telse :; ^* X+ y) c% _
    echo "暂无公告";
& c. g3 U* K4 }# q" j+ k4 lendif;; j7 v7 D% D8 ?
wp_reset_query();
0 K; A& v) i1 |: V5 F```9 X* u" ]$ i; u: y+ ]! w3 P

) T8 r# _8 D4 R这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。2 n- `, B6 P; J  P8 F' N6 k* _

/ ], L* E4 ]/ g- X1 Y/ D; c/ @以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

331

主题

511

回帖

3355

积分

管理员

积分
3355
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
1 Z3 h& ^# Q6 F3 f% T
2 k4 I" i$ Q' O! V如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。* q  S2 G! a# F

2 {. g4 e# ]' X. W4 U以下是创建自定义插件的步骤:/ |' T2 Q, q9 x! a- E9 x( c$ p

: \2 ~, P0 f3 }1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:) e- Y7 i9 d- W* P0 h( }5 {: {! Y
8 l2 M# s% o6 p3 `% `- M4 c. j
   ```
$ ~# N6 M: v# V   <?php
" ]0 _3 S8 b2 x! R) v   /*
3 Y7 n3 w4 D; i# w   Plugin Name: Site Wide Notices Plugin
$ Z$ G% h% T2 _4 t8 E! c' A4 {  D   Description: Adds a new custom post type for site-wide notices.6 B! q/ E2 R3 `/ w- a- @% q
   Version: 1.0
9 B, D" n3 o# |1 g; Z   Author: Your Name
1 y0 ?. T* g% P   Author URI: http://example.com4 U0 B- s; {/ a; A3 `
   */
2 {1 R4 Y, |/ S1 W  X6 H1 @/ @2 f# g; x) B+ x
   // Add plugin code here...+ L8 c; t, r( A+ T) q9 v7 z
   ```
, v$ j  c) J  h+ R2 M2 ~6 b  j
1 O/ X8 W, B# Z( q0 W- `2 l# `: V. E   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。2 U  Y* m5 B, M3 l6 u' ?6 R/ |
4 E; \) \4 T+ r
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
, D! k$ ~/ B. K, ~9 ~1 B1 z% v5 X7 R) |
   ```% y! T7 \9 q- r* Y( V' o" _
   add_action('init', 'create_custom_post_type');* [- i* O1 N9 w+ S
   function create_custom_post_type() {8 A0 E; @$ N1 u, l0 W3 ]- p5 R' T" L
      $labels = array(5 B% v- ~$ J+ H& M4 Q; v* g
          'name' => 'Site Wide Notices',
; P8 O, n" K' v          'singular_name' => 'Site Wide Notice',
+ i% D2 c% ]4 X) y          'add_new' => 'Add New',, p4 @6 Y: E5 V% y1 e
          'add_new_item' => 'Add New Site Wide Notice',
5 x2 W* e3 Z% Q" `& g* U5 C0 @          'edit_item' => 'Edit Site Wide Notice',& C" G1 n' a' i& z( s& a
          'new_item' => 'New Site Wide Notice',
6 u1 t9 i( m4 p  Y2 Y" c( r          'view_item' => 'View Site Wide Notice',
- K4 ^% U1 b" I  n  o          'search_items' => 'Search Site Wide Notices',7 v$ H( ?! [' U' a0 v7 a
          'not_found' => 'No site-wide notices found',3 r# s. n- }" X' X+ x) H
          'not_found_in_trash' => 'No site-wide notices found in trash'
% ]" _- j' G6 s: K6 }  Y( m7 {      );# I' f0 b& B& C6 o

9 L3 @+ W6 B; D. o) |# e3 a1 H$ `  {2 _      $args = array(2 t, u# |8 E# O$ R
          'labels' => $labels,0 I0 [2 V; O1 `0 X/ {  f# M! D
          'public' => true,- _* h" }6 d* k0 r! ~; t
          'has_archive' => true,) L& W6 K) I7 p% o
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),  v  k" G3 Q$ q( d- M- {& U
          'taxonomies' => array('category', 'post_tag'),
9 [/ y6 z- F; |! t* B  h1 y; N" Y          'menu_icon' => 'dashicons-megaphone',& c* G* ^- k! B' ^: ?7 R3 N- |
          'menu_position' => 5,
! R& A% [/ {6 T          'rewrite' => array('slug' => 'site-wide-notices')
6 D$ t9 u) S# S, y- o6 M! i      );
! C/ q+ @0 ?0 D% p- i
" J8 z1 E; F/ |  U      register_post_type('site-wide-notices', $args);8 j. b2 T( q4 f
   }9 u+ [$ U( r5 |9 b* O
   ```) L/ L8 I* \" j8 U* x( Q! ^
) G5 s$ m: b2 ~" a) W
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。* u, r. o7 Q7 k/ l
( X) r: |5 z* q6 J
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:4 _/ Y* }' H! s; e; l# T6 A
0 k) B# j* J% w3 M
   ```/ \6 f$ P: o/ c; L- d- \/ x- B# }
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');  b$ x/ N& j* Z- y
   function add_site_wide_notices_boxes() {
9 t! A" H' ^* b7 d" G: k      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');" D2 l5 M" U' ~" C
   }1 \9 Z& g% V- G. w4 n' n
0 q# h$ X+ }) a6 A
   function notice_details_meta_box($post) {
# U' l9 W$ }1 ]) n1 A      wp_nonce_field(basename(__FILE__), 'notices_nonce');
9 Z3 B8 \5 w! m( f% r0 u* T      $notice_title = get_post_meta($post->ID, 'notice_title', true);
; p7 P% e: r  x7 a      $notice_content = get_post_meta($post->ID, 'notice_content', true);. k+ e4 p/ F! e1 v) D+ {
      ?>
7 \& H/ e7 A+ [/ b6 m7 R      <p>6 G; G- S. W! R9 d# T/ d4 j
          <label for="notice-title">Notice Title</label><br>
/ r9 K7 ]$ i3 w- ]& @0 @0 |! w          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">2 m; H2 {/ S5 C2 r0 G" [. r0 k
      </p>
4 J9 |& |& x( n; E      <p>  j1 M& G  d; _: N
          <label for="notice-content">Notice Content</label><br>
' f& ]" F2 c- q9 f          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
, ?& {2 N7 u5 c( |8 y1 t  j& g      </p>
- m; v8 d& |0 Q* ?- \) P      <?php
, K: c5 K) N" Q) d' v   }
$ q) D# w0 k3 H  U& Q+ k4 v3 X( T5 z7 }8 x
   add_action('save_post', 'save_site_wide_notice_meta_box');. A7 z6 W# \+ u* m
   function save_site_wide_notice_meta_box($post_id) {
& m3 E, D. \. v3 K. M  Q0 M# Z9 D      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
+ n- s/ ?4 s9 q5 R& B8 h         return;1 X3 _' ?9 ]+ c: ]7 G2 s
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
! k$ m7 Y7 Q% N( Y  n; W6 n' ~         return;
6 {4 Q! D- u1 }* o4 m! T& L. C' R8 }- l' w2 C
      if (isset($_POST['notice_title'])) {0 k$ y4 T0 _4 S) c) }- f6 |
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
0 r4 I! v/ A9 n& |3 s. P      }# v6 u* ~  P& W; F3 a* K  g
      if (isset($_POST['notice_content'])) {
3 ?9 O2 P' k. G/ S; g          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));9 i4 x7 ~& K5 h- ]* a5 Z
      }6 t( i0 `4 `1 a
   }
& B: t" c% ]& B1 G8 x   ```  J9 Y1 F. j% D
+ x7 _5 i& y1 e0 b% |3 h; p6 `
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。5 f/ {# C3 {( M' J4 y# e
; Q) n# _. q( \8 K
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
7 J  d+ T+ L- Z# l7 M: G. t0 o8 {  X) @  P, ]% I' c7 [
   ```6 v( n/ I" T7 i$ w4 d4 ]( [$ \( X8 c1 K
   $args = array(& m. `7 z5 |! D! h
      'post_type' => 'site-wide-notices',3 J/ f* \/ d! C
      'posts_per_page' => 3,
6 d% p$ b1 j% c. C( l2 h) `      'order' => 'DESC',: b% d/ F' X% K3 q
      'orderby' => 'date'
) R5 j" {9 k/ d& w   );
; _, `  j- I* d) U' ]  b   $query = new WP_Query($args);! v8 R  z0 M- ?" _* e, b7 L/ w- r
   if ($query->have_posts()) :
# J; w3 f+ y/ j, E" L( z2 m      while ($query->have_posts()) : $query->the_post(); ?>
9 {0 C5 k; H' v" d& T! Q' N7 X          <div class="notice">4 |, O+ t* v# o% [5 P0 f" R
              <h3><?php the_title(); ?></h3>
+ @$ v5 Z; [0 D7 x5 ]' I3 O              <div class="notice-content"><?php the_content(); ?></div>$ t% u) L: C) a7 t6 N/ a; i
          </div>
$ S( Q; F; v$ O. F7 k: n$ i" [      <?php endwhile;5 a  s4 u# I8 @: ?7 b
      wp_reset_postdata();
8 \: K) O6 n: i3 I$ m3 u5 B   endif;
" w: J: W" z' C6 k* }   ```! h9 l5 X/ B) k' z7 r
% Y% C$ |* `/ f. ~5 T
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-21 12:01 , Processed in 0.098002 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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