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

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

[复制链接]

340

主题

526

回帖

3516

积分

管理员

积分
3516
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
1 ?# O  j3 a# `% P% a( ~2 I+ j% i/ g5 {; Q9 A  E7 q
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
: j! i. A0 B( Y3 @; @
7 u1 t  |: M! ~9 l# r2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。9 c- ~8 o* h" a$ z, m3 U

) G$ [! |- r7 A# ?# t! b1 @! c3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。: [+ p; h- P) @* V; o: h* J' a
, ]: ?* s9 J, e9 w3 ^
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。% o+ E. H7 V$ ^, e7 n

4 u7 z/ f! Q' }. u  M* R注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

340

主题

526

回帖

3516

积分

管理员

积分
3516
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
8 ^& e% m7 r3 e+ b, C% w
& ]  W% j' h+ k% K" e9 j如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
( E& G- M9 X4 ]
  ?6 U# W/ D" r8 U1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:6 v3 n4 U! D. d$ Y$ q! [* b. X% s3 E5 l
, l- e: W6 B: A5 h2 ]$ ~
   ```% r* }. ^- G) T% F/ C- v8 {/ X, n
   add_menu_page(
6 o  ]& Z; i. t# |       '全站公告',
$ y: X# n7 a3 t- L; j6 U       '全站公告',+ q! `) m! \) e/ x- E3 c6 E
       'manage_options', //需要的用户权限1 u8 ^$ X7 E9 T
       'site-wide-notice', //后台页面的 slug; O$ R5 b7 `) b- C. c
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数, q; Y  |+ j3 Q. s; ]
       'dashicons-megaphone', //用于显示在菜单中的图标3 N- C+ K5 u6 d. `# S; q
       30 //菜单项的位置9 B2 j! E- B, E. r- y
   );
; t1 E; i& k! D$ C. c0 r   ```
; y! n! t  t2 F
( g; E4 p1 D& ^   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。! s) v( V& u0 W6 I8 G. L
& I4 U$ d6 V; e: n0 l
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:# e0 t5 a0 c3 n6 U  Z( A" M

/ y% F* V) y8 G- I' `- K. \   ```
! J$ v1 A( q9 z   function render_site_wide_notice_page() {
& M. K% m. z- P! g9 @      // 渲染后台页面内容' x5 C+ i. Y( i
      echo '<div class="wrap">) ^+ G' b5 X) K6 e3 ?/ T- p1 o( w( a
          <h2>全站公告</h2>) K8 C5 J+ u, x3 A1 E1 s+ n
          <form method="post" action="">7 r+ {. q9 m% K% Q
              <label for="title">公告标题:</label>
9 D1 @, \4 b) C" V9 J) t              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>) j2 i5 h; R6 P% u. `
              <label for="content">公告内容:</label>( L: z$ b- c& W$ q2 G
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>! i  i0 N7 C( x( C
              <input type="submit" name="submit" value="保存设置">
. h+ N- |& |& \" m: y          </form>) J( y4 M% u, r- a3 G
      </div>';
# c7 H; O  @% D# j; Y! F3 E' |
      // 处理表单数据- d5 |+ b# Y* v# |1 o6 l! U8 E
      if (isset($_POST['submit'])) {
; T& ~/ P% e  U9 d5 K4 ?  e4 x1 Z( M  P          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));# u( m+ X8 E8 |9 q' T. t% ~
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
) m7 r7 L- N# J) F% l      }( J" C( U9 K# d9 h
   }8 m( ~. Y. ~& U/ b4 H
   ```/ }1 R8 ~" \7 A0 P

. \3 l% C7 j, U   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。  n- u& N/ V* l6 O2 ~
, `8 O! J3 ]# c' I! }9 Y0 Z
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:7 d$ R" r1 c0 I+ c4 v: G( x
9 B+ b0 z& o6 |, y" ?! t
   ```4 R& P% A! N- V3 k3 N
   <?php
& p6 E2 J6 n/ y7 k   $site_wide_notice_title = get_option('site_wide_notice_title');  x/ Q6 _* ]& F( h2 v' t: a) v
   $site_wide_notice_content = get_option('site_wide_notice_content');
  L) _2 t. f' N2 `( J- i7 z   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
2 Y2 L0 u% d1 n1 ?- F: j! o       echo '<div class="site-wide-notice">';* G8 f! S" z- W
       if (!empty($site_wide_notice_title)) {
1 u  l6 `  s: d+ @+ b! c1 ]( N           echo '<h3>'.$site_wide_notice_title.'</h3>';- P/ ~2 F7 [9 R
       }
4 ^7 G8 b) ], A3 r/ D1 Y2 g       if (!empty($site_wide_notice_content)) {6 z7 \/ X! B+ [) d* W
           echo '<p>'.$site_wide_notice_content.'</p>';
" |6 y$ {0 G, `' F- r+ y* }       }' _( V/ @8 i+ U  H( V+ Z5 B" ^
       echo '</div>';/ z1 M' l8 B! K+ y5 k! Y: x
   }( {( Z$ d) Y! X8 u
   ?>
5 S3 X, a' C9 K3 d% l* j" G1 k   ```. W* M! e# r: p2 {5 o3 r7 n
2 g3 L8 ?2 d1 n/ |
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。8 t6 r) _3 z  s
/ U5 S) b) V3 A3 @
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

340

主题

526

回帖

3516

积分

管理员

积分
3516
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?& o: q" g4 K% Q
9 G% R4 K1 n, L- }8 ]% i
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
2 M$ Y, `! k* I5 a) A' E  C0 {4 I6 B% A: w, h) Q- C$ [* {# S1 U
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:, E' _5 l& f% S( s1 E* F' o
% p- Q! `) K3 _) K) W
```% A8 z. r" B) X2 N9 w5 J6 X! n
function create_custom_post_type() {
' t; |+ a3 M, I! u4 l5 Q    $args = array(4 G1 R# @9 a" i: Q( h# v0 M
        'labels' => array(
/ P: W, R- w, _1 U- K            'name' => '公告',3 y* q  b8 Z6 {
            'singular_name' => '公告'
- N& t& L; P- K* t  y        ),, L1 O2 S' |! v! {9 q- Q8 ^! j, O
        'public' => true,) F% K* B: O1 B
        'has_archive' => true,3 k5 w. U" }# a% _2 T. i! `2 t
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),9 `0 B: C" e  z$ Q0 D6 p9 p  |
        'taxonomies' => array('category', 'post_tag'),
8 U1 F" o* z' H" v9 N: ?3 E        'menu_icon' => 'dashicons-megaphone',# c: [% z/ ~7 S* t' g( x9 D- G
        'menu_position' => 5,
/ k$ b5 C5 s4 [, J; A        'rewrite' => array('slug' => 'site-wide-notices')
/ P2 N4 r1 G! P# q: d% M0 r    );) q! J5 N3 I; F
    register_post_type('site-wide-notices', $args);  \! q5 l; }4 }: {
}
% g# N. w- o4 vadd_action('init', 'create_custom_post_type');/ U# S4 C# K7 b
```
% c0 }8 B. w* X6 C* P
4 y2 ]$ ]# L, _) M在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
8 m: [' M1 h+ M7 m: }# ^% e3 N( \# u' O/ e
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。( n$ j9 \$ _, q5 s1 z2 g& O) A# t+ x
! {7 C3 P+ Q+ ?
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
* C- a2 e- s6 w3 k* g) `
& r: @, v# R; a0 C2 f4 B```
4 s: C2 U; q0 ^$args = array(7 ~* i  h# U( \; C
    'posts_per_page' => 3, // 显示的公告数量" f7 Y; H: s1 I5 |* g3 s
    'post_type' => 'site-wide-notices', // 公告文章类型
& E, H, C" B# A4 Z: f  Z    'post_status' => 'publish', // 公告状态
) x2 {1 ]2 S5 K7 Y$ p7 O% |! K    'order' => 'DESC' // 排序方式
/ {; }2 s$ U: r+ y; H" ?);! z2 ~6 _! A( i  j: K* d3 s/ Y/ b* |
: a$ m1 u( v9 C4 @
$notices = new WP_Query($args);
% U1 x; U& C( Q* h0 y/ mif ($notices->have_posts()) :
) Q" z3 }, q" c: P; R4 H: z    while ($notices->have_posts()) : $notices->the_post(); ?>
0 S  M9 y4 X. C1 L        <div class="notice">
* h4 p$ y0 ?0 t7 ^! a8 \  [* D            <h3><?php the_title(); ?></h3>3 i% l6 Z& |: d
            <div class="notice-content"><?php the_content(); ?></div>
9 V# e' U5 f+ v0 w! P  p        </div>( v/ a6 E! {% G  }  ^
    <?php endwhile;
7 O2 v: s; x+ F2 H- T  g; D0 felse :+ ~% ~( M8 v" y
    echo "暂无公告";
8 |, Q6 u, k9 iendif;! t3 L) ?9 l+ T8 T1 r
wp_reset_query();
9 G5 Y6 D- v, B7 G```
& H$ c4 N# F. _* h- O8 ~9 O# D) j3 i4 }+ R  h
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
3 o$ R( Z5 K) ^2 _! Z% w7 X. p2 Z
7 |$ y! d1 e0 H) `" i" a$ g以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

340

主题

526

回帖

3516

积分

管理员

积分
3516
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
8 `- J' ~# m/ W% b0 ~" t3 `" G' f4 i, m) p! r3 w& m
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。3 z' b' T  k# {1 b, c) d8 c5 i* `
( O1 n4 H" R* t3 F
以下是创建自定义插件的步骤:2 o& Z2 E3 z, ]2 y* j

' W; g; X; x( l) R$ {. \1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:. R1 \3 ]  L( ]9 Y, R

7 v6 P6 v- a1 ]& R8 w   ```& f% k8 R( L8 w. M4 f# U' u
   <?php# f0 f! q5 w" \3 A0 e
   /*
9 n" A" i1 Z; a5 ?* E   Plugin Name: Site Wide Notices Plugin! f$ U5 j; j% D: Z
   Description: Adds a new custom post type for site-wide notices.
1 x: X9 s9 f7 z8 [8 d  [   Version: 1.0* \7 z! Z5 P8 I9 [' t" Y  E" S7 d
   Author: Your Name
' ]2 y8 _* g0 i% s/ \   Author URI: http://example.com
1 Y4 W$ @! f. Y   */8 E# R  m) ]# X# }5 R+ ^

! _0 a( b+ d# S) M3 S   // Add plugin code here..., T! ]9 L: e- [; A0 o; R
   ```  e2 |* R0 K& m; [
  T' u4 |& G8 j: u5 m: B7 E
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。9 h2 n8 f) [9 ]3 d4 _

% R. S! l4 s) W2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:- A3 i2 {2 ~% J* n" j& g3 Z( c

- M; K2 @8 T, S- m2 U/ ^. \% T" @   ```9 C! f# ]  k3 y7 A! V; h. O
   add_action('init', 'create_custom_post_type');
1 B- m  B2 K/ J9 \/ o0 S   function create_custom_post_type() {7 j0 M( w; x  x' _0 N
      $labels = array(5 k! I1 _) }/ l) b/ ]- U
          'name' => 'Site Wide Notices',
5 s! L: K& e; n% t1 Y0 b          'singular_name' => 'Site Wide Notice',$ y; ^3 b2 I0 z' d. z$ {. ~# e1 @
          'add_new' => 'Add New',
6 r# Z8 n) x% A          'add_new_item' => 'Add New Site Wide Notice',7 w7 Y: Z8 o& t: x
          'edit_item' => 'Edit Site Wide Notice',. z1 L+ ?# [0 _3 ~5 B4 B
          'new_item' => 'New Site Wide Notice',1 s- l  n: f1 M( b# ~# c
          'view_item' => 'View Site Wide Notice',  `; r3 w* B3 L. t% F
          'search_items' => 'Search Site Wide Notices',
+ P2 r8 m  s, ]7 a) l' c          'not_found' => 'No site-wide notices found',0 y: S" r" }4 \  G3 n
          'not_found_in_trash' => 'No site-wide notices found in trash'* i6 I$ j! W7 A0 b
      );
. Y# ]" a! V& ~0 M' P0 I* V
" k# K+ L, I: R      $args = array(
' O2 Q+ m$ G# }/ ^. F          'labels' => $labels,9 x* ~# E& Q1 N' g) o( T
          'public' => true,7 y" ?$ i0 ]9 u: W
          'has_archive' => true,
, q# t! D# e9 m8 j, |/ G          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
! r! b6 k) ~. s5 ^+ K2 x          'taxonomies' => array('category', 'post_tag'),, G! W0 Z: C6 D: l. T/ j& j
          'menu_icon' => 'dashicons-megaphone',
- Z) o: M$ ]7 a7 ]          'menu_position' => 5,
$ O5 I! c+ D! N) F' N          'rewrite' => array('slug' => 'site-wide-notices')  c' U3 R9 K6 j
      );
- z; }) G" W& H5 l4 C3 z' V( {
8 b- ]( g6 U" [. e6 F+ I      register_post_type('site-wide-notices', $args);7 m/ V3 Z6 ]; K+ ], F, f) n$ Z
   }
3 X- N" q1 o( T; D' i* L/ U: I) j5 Z! y   ```
* F5 K$ p0 n% z! g' z+ T: S; }  a! W
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。3 ?% u  c  _, P9 u# o3 k

0 J' \5 u# Q) t: n; B* X3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:( s4 T1 b. Z) s8 Q2 K2 ]8 \9 D+ L+ [

, V; E+ b( I$ w% {4 ^' D   ```
2 V/ a2 M: W1 f- b5 D- @/ Z* C   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
1 X3 m3 f5 D) p) D( B$ p0 y/ [2 i   function add_site_wide_notices_boxes() {, q1 d4 ]4 k8 h3 x' _
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');3 F7 X; g, e* _7 w9 Q8 ^
   }& F; `. q9 b$ b+ v" P
9 y/ J0 E6 w! _# b0 I. k
   function notice_details_meta_box($post) {
* @5 `5 \+ }/ u% c0 N      wp_nonce_field(basename(__FILE__), 'notices_nonce');; ]# C3 j9 f; f6 D# ?; E
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
* l! p0 g* Y# e8 _$ D7 C" V- g      $notice_content = get_post_meta($post->ID, 'notice_content', true);
1 p& a8 q( M& G/ @+ t" b      ?>
5 a- f" C% b$ U9 w$ A, {      <p>
4 x5 x( G5 N) x! h: f8 @5 @! n          <label for="notice-title">Notice Title</label><br>
9 y0 Y3 |- T8 E          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">6 ^9 }. v( R2 ?8 F7 t: p' W
      </p>4 B: M$ ?$ H1 h( g' t; l
      <p>
# c  i# N) S* R. v          <label for="notice-content">Notice Content</label><br>! X4 G( Z2 T% |- w; M
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
$ e  a# d' n! G" s# V7 R& @      </p>- D& K. h( _5 i
      <?php* t% t5 d0 e. f' W1 E6 }  d7 `
   }$ x9 S! w7 k: e& q$ A) K" j

6 U2 q! D( n2 t) H   add_action('save_post', 'save_site_wide_notice_meta_box');/ z) W. L4 m0 v. S* v& N. X/ S) }1 C
   function save_site_wide_notice_meta_box($post_id) {, r2 q. ]$ z/ ~
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))  P$ q/ X$ G! t* }7 ~1 w8 L
         return;
" A' `9 Z" M1 O0 q' u- Z- D      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)( F: t4 U! Z9 U$ Q& O' Q5 E7 H1 p3 |
         return;1 u. [6 Z8 L  H) p  ^& f7 {. f
( p+ I; e1 }( Y& t' D
      if (isset($_POST['notice_title'])) {9 Z+ G8 A+ ~1 \, l- i
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));+ H# X4 ?, M" }8 D  F, R9 T, T8 E
      }
7 J% Q& Y9 U+ D9 i; i5 g# o0 T      if (isset($_POST['notice_content'])) {
3 v+ b0 e+ s6 @          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));, J4 g! y1 @, F/ M6 J- J" \$ }# Q
      }
" K9 P+ {6 i9 ]$ Y  c+ ?2 l6 r) X   }" E. c: f" Q- J/ B5 U3 ~7 O" ~
   ```
$ \' ^5 Q: D- E* z0 W3 ~
1 D2 o# h: y. B1 C   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。5 X1 M4 n2 {/ Y5 F

' O  Y; @9 b' j9 d' d' c4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
) G2 H5 [6 I5 _( L1 M: S- J8 u' }
5 }. G! o* K2 @   ```+ j/ ]$ M- K  B0 Q' E) z' S- {/ s
   $args = array(
3 n: G8 `: Y/ k; p      'post_type' => 'site-wide-notices',9 g6 Y7 C4 ]7 `
      'posts_per_page' => 3,, I) t& u* v6 Q" l* V! ]
      'order' => 'DESC',4 ^5 f2 y3 ]6 I7 {' l4 H; m
      'orderby' => 'date'
4 H2 n; M$ v4 i0 \4 ^- s2 _7 K+ P   );- ^3 P0 j1 M* e% e" Y- A
   $query = new WP_Query($args);
' t9 ^( ~/ i1 r6 a: g   if ($query->have_posts()) :0 |- v8 n) [- P: V
      while ($query->have_posts()) : $query->the_post(); ?>8 C9 F$ U& I" q4 W
          <div class="notice">
$ [9 Z& Y9 K4 J9 b              <h3><?php the_title(); ?></h3>
% U3 m2 T5 O8 B* {0 I8 c+ X' R              <div class="notice-content"><?php the_content(); ?></div>
7 k: R& ?) P9 F" n; O$ }          </div># u7 w$ H! b& t( |1 Q9 ?: B
      <?php endwhile;
. z) I0 k  }4 P- b      wp_reset_postdata();
3 ~" S* ~$ I# k. s. C. R0 B& U   endif;( t: n+ x# X! j
   ```
- m( Y1 J& w1 J
  m% E0 w" {+ ^. L) ]4 c8 P  o& x   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-16 08:20 , Processed in 0.017654 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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