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

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

[复制链接]

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
+ Y: n! E; E9 d# {- X7 h6 R$ m/ b5 n5 e9 ^" B3 @5 [
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
( p- ?' o# p$ [4 \2 _+ {' S
- @2 y! j/ c3 ?" c) A$ u2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
/ ]9 _3 b2 ]( b& R* K2 ]" C5 W  ~5 u; `4 V) B3 H" d
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
4 o1 ?, S) d9 N9 h, ?. v/ x0 Q
1 R& B; G7 V3 y0 X4 g* t( y& m4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
7 {- u! ?6 D; @( t6 q( \; }. d5 ?/ \+ b
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
1 f+ b# n2 Z! p
  I" j# V5 J$ w2 R如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:: e7 j6 k4 V0 J" `2 k) J
8 K. @- \8 t4 W& O
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
, |( E" [9 c6 s! ], v7 G8 I" e" f' a0 I* E* ~9 p% e+ [0 I
   ```
9 W. o9 H- W7 v; E   add_menu_page(
2 Q8 n/ k) x0 y* z' |4 j) ^3 R       '全站公告',0 h  E/ w3 |+ B" [, L+ ^; Y
       '全站公告',  H- C- O* r# \8 |( f$ u. O2 I) i
       'manage_options', //需要的用户权限: ~: x& ?: Z' g( G7 m
       'site-wide-notice', //后台页面的 slug
5 j4 e# ?8 w* I8 ~5 P       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
1 H) f  u& }7 g( T2 I       'dashicons-megaphone', //用于显示在菜单中的图标6 M/ \  }' d& J
       30 //菜单项的位置- w  p: _. W5 o) u! S  e
   );
  F/ Y; Q# k: n1 T   ```
+ t7 I/ S) ^7 W$ E& Z
& c4 [6 h3 O4 m- z) x3 ]   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
1 J( j+ u+ ]& `0 E( g( P) e/ F9 A) X& {/ T1 Q
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:: K  S- H7 Z) L4 f' b3 i4 ]
8 R: A+ v% j3 E2 d
   ```
( e& C: K7 q" [+ a   function render_site_wide_notice_page() {7 q! t/ h: [& l0 j" |0 J
      // 渲染后台页面内容/ p2 l9 N/ c2 N% |  E/ L; [6 n
      echo '<div class="wrap">
/ y5 O6 T+ b  V  Z/ I          <h2>全站公告</h2>
9 s; `% T: _" l1 `          <form method="post" action="">  O8 C. w  i- e  B
              <label for="title">公告标题:</label>- e) H4 S/ s& ]. @  I
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>8 z" R1 t, `5 E
              <label for="content">公告内容:</label>
' H' q1 \6 y- t! Q0 [$ Z& `5 l+ Y  _              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>/ o2 t  c. X/ k: V! r2 p7 L
              <input type="submit" name="submit" value="保存设置">+ l& M. @* s; H# l' r7 P! d
          </form>
/ D: t" M; q5 S# O: C: G5 Q8 M% j      </div>';
; @0 [. i0 R( S$ ?1 F% l# p7 C: \! V& E
      // 处理表单数据( H9 m! n$ l( U* H( |1 j7 \
      if (isset($_POST['submit'])) {. V( f0 V+ O% y4 V' F) z4 j9 Z
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));  A! F/ J" H: i7 E7 T# I
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
: \0 }# u* o5 }5 r& a7 m      }% s7 F5 F9 d% ]( O3 F
   }
- G+ ~$ D% j& D' e# }( E2 c7 p" m   ```
# ^7 m7 ?3 D! V: w3 T
$ I' m9 H8 h: R1 h, E   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
3 A4 _$ p  h9 b, L) \7 V# n, x+ k+ ?" h" f+ Y; H
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
% v$ C2 S9 w/ {3 P( v7 o8 g$ r  Q- l; \. t
   ```. Z% [& t# c& |- r  Z; o
   <?php, q! L; I. E8 Q+ E
   $site_wide_notice_title = get_option('site_wide_notice_title');9 F! `, B$ b/ q. u! `! g
   $site_wide_notice_content = get_option('site_wide_notice_content');+ z* N0 r  v0 w1 B0 {
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {7 o- v; l9 D1 B7 y: |
       echo '<div class="site-wide-notice">';; x) O0 H2 B$ z
       if (!empty($site_wide_notice_title)) {
" }" }5 B! G( x$ X: B" C           echo '<h3>'.$site_wide_notice_title.'</h3>';
  l( J) S: S, R9 `8 m       }
2 Q( u: p$ j4 |       if (!empty($site_wide_notice_content)) {& w4 h6 y: v+ v- Q$ \, M
           echo '<p>'.$site_wide_notice_content.'</p>';
+ p8 c. Q8 y- z) L0 l       }
7 G/ U( F+ g' U$ x& S1 P- w4 _       echo '</div>';
6 Z  Q- O! t8 z7 E. A; R   }
5 T# ?; N, z9 L& Z. i/ r" b9 q   ?>. x1 d, w% x& c/ L8 Z
   ```
. P, ]; F9 P0 }9 G. G6 w/ }" t9 H+ W4 E/ p" ^$ I; v
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
; l6 o' a$ ?2 P+ j, @: O) z. x- b1 ~( k. x1 @: x
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
! C- \% O6 W) Q) f" `2 O( {* A4 t, B" b( A) o8 t  C6 ]2 |
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:" C& u( i. N' n: d
0 j8 t& Z" b/ X5 F7 d5 {
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:  i. ~; O9 l& X! F
. }9 a; r- I5 r8 C: e
```. `& B  u/ I  T% F3 q1 e; z
function create_custom_post_type() {5 y" k: v( ?7 g1 \$ V  S! w4 t" T
    $args = array(# \1 W7 W, K- f# c6 W& i
        'labels' => array(& q/ j3 Z# @- ?' s2 q
            'name' => '公告',
" B8 H( m5 p/ C8 A6 b            'singular_name' => '公告'
" O( u& f, b* ^/ C1 E6 {        ),0 t9 ?0 U/ [) W, {7 u1 C+ t
        'public' => true,* g) ?% v4 [1 u' R# y
        'has_archive' => true,
" m0 E# `+ k  Z3 m  o3 s. s        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
" `* N1 \; l0 _- n6 `$ R        'taxonomies' => array('category', 'post_tag'),
; @+ Q: {. i5 k" s5 b4 a4 G        'menu_icon' => 'dashicons-megaphone',
6 ]+ b$ ?" h, D' s" Y        'menu_position' => 5,
  m- i) J& r5 n: m' [        'rewrite' => array('slug' => 'site-wide-notices')6 g, T5 _8 O0 X# ?, l, A' ~0 R
    );
; c, p/ f6 W( b/ I1 N" ]0 h    register_post_type('site-wide-notices', $args);2 o; U2 u: {( ~4 }; `$ p1 F5 B2 J
}
$ ~/ F: i% O+ J0 U4 tadd_action('init', 'create_custom_post_type');, `4 ^! F$ I- m: ?4 L& W
```
) v7 X' z% _8 x' f- F, g# v% l
8 Q9 {* J6 i$ B在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。; i0 u! B: T: ?, j3 H

) s5 M' l1 `& g6 \2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。' _5 c% `& @! w
* j, Z3 d8 x+ z9 B
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
; G) e+ K& q- H2 W2 e9 C8 A# }* V* p
" {& j8 O. K3 @7 t2 T```
7 }, X) `# y# o, K5 ^! E$args = array(/ r5 B+ i0 e. M4 O! z" ?
    'posts_per_page' => 3, // 显示的公告数量  l; B$ R4 W- [. H& R2 i, g$ h
    'post_type' => 'site-wide-notices', // 公告文章类型) l. q7 J$ u% v) B, a4 D
    'post_status' => 'publish', // 公告状态
0 O5 T1 M- V) _2 O  \    'order' => 'DESC' // 排序方式" T. U/ Y. w% O. R1 Y( ^
);
2 F. h) `3 y7 p& I
* x) S' F, Z9 |$notices = new WP_Query($args);
5 ~0 `) l% Z! h) Fif ($notices->have_posts()) :
+ r$ [0 W0 n% U( N; s# c    while ($notices->have_posts()) : $notices->the_post(); ?>
8 k, p0 E) |/ f3 I7 f/ c' ~3 P# E, t2 Z        <div class="notice">
, w8 S* G5 }9 ?' [            <h3><?php the_title(); ?></h3>
& ~1 n9 U! `. Q) U- h. n            <div class="notice-content"><?php the_content(); ?></div>; H) r) G/ [/ f  \/ J3 S
        </div>
. @. T' |! G  i( Q- ^, j    <?php endwhile;
% C2 I4 @4 ]4 q! uelse :+ _$ @3 A- ^# j' T% S6 O3 R
    echo "暂无公告";
2 |8 S  Q4 c% [endif;
+ Y9 |6 f2 a2 b' d, Y( E( L8 ]- l5 Xwp_reset_query();3 R% j, V" x5 O
```
0 o; z! Z# m; u2 h' z( L/ l) K' k
" {8 u9 y$ k7 R. v+ c8 X这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。0 k; }- `  K, j7 ?+ d/ H
7 F( H2 h1 \/ W6 X2 v: E
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?/ Q' x( c1 w% ?- n
  r7 m) V# u' R1 P, x: q
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。4 M! C! {1 z+ O1 V" k

, I) z8 U! [. H/ r' ~以下是创建自定义插件的步骤:
# O7 F" I( O5 b/ P  y5 C6 [4 L9 Q. Y1 ?0 c  d3 ?9 T$ ~& m
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:4 r, l4 G% R6 }) B

/ T8 t* U, V& R2 c# i   ```; j& g) E& \+ F" i4 W
   <?php
3 c* s) U5 n3 g# _  C/ I- t7 s  `   /*
' P' ~2 y. I) N   Plugin Name: Site Wide Notices Plugin
- n1 o5 Z* b) D' b" d  T   Description: Adds a new custom post type for site-wide notices.6 _% s4 N8 [- r' \/ ~8 i
   Version: 1.0
$ E* b# Z- T8 V( n6 a) d1 K   Author: Your Name/ K, |$ J5 V, w( e
   Author URI: http://example.com) O$ L% Z* i- O. M! |8 _
   */- b9 {+ D* p4 x, s7 `6 l

) K2 B! u; Y- B1 b3 g* r   // Add plugin code here...& n; x4 ?) u, H9 P$ Q8 e8 M( X# B$ m& B
   ```) F8 ^* |' i8 X6 i5 M" C8 o9 b8 V
! _" {! ?9 O( P1 H& a; C
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
7 b2 ~6 C! M' U% g+ z( R& {) u' L4 |% a/ v* G
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
1 V8 w" {- I7 s; w% D& b5 |8 F( V! Z0 T7 P  m3 [
   ```! H0 x& m$ b7 {/ V* e
   add_action('init', 'create_custom_post_type');
' h- k0 I  `0 e   function create_custom_post_type() {
" f) A' p  }0 g: U. p$ m, s      $labels = array(" }& R8 s0 e9 K) Q
          'name' => 'Site Wide Notices',$ J$ b" e5 f5 \) K  f
          'singular_name' => 'Site Wide Notice',- W1 m0 [( D+ E  r" E
          'add_new' => 'Add New',9 t% q' i5 A% a% P7 i. ?' k
          'add_new_item' => 'Add New Site Wide Notice',
& L% l9 p- B# q! Y3 a* c          'edit_item' => 'Edit Site Wide Notice',/ Z0 [9 U/ D8 ], v+ i- O* u: F) e
          'new_item' => 'New Site Wide Notice',) O: j0 V& K4 |  I- ~( ^5 W; }1 q7 K
          'view_item' => 'View Site Wide Notice',# r) `; e1 m! ]! |
          'search_items' => 'Search Site Wide Notices',' [! {* P2 t( r
          'not_found' => 'No site-wide notices found',
/ J7 H. q: ]4 ~: f/ p: @" I6 p          'not_found_in_trash' => 'No site-wide notices found in trash'
+ x  n1 |4 x1 N+ }1 a      );2 ^. _/ o4 e  L: u( Y
1 \2 }4 ^. D" }9 z* @
      $args = array(
; g; h1 ~# A+ c! F          'labels' => $labels,
, ~% o# i: E5 V, y$ v          'public' => true,( J# ~- E; r8 m! E  G8 |
          'has_archive' => true,
7 e4 K3 L: s( i+ E, O# D          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),& S" ]/ p0 J- ?) h9 U9 _2 h; x
          'taxonomies' => array('category', 'post_tag'),1 H8 f( V. C) e9 a) c
          'menu_icon' => 'dashicons-megaphone',
/ v! j( r1 m/ F3 g          'menu_position' => 5,) z, E4 E# t0 T% `
          'rewrite' => array('slug' => 'site-wide-notices')) P# N; q2 k0 e" x* K7 b+ ^
      );  E1 }; {. q+ t8 V
1 i8 w, `. G9 z. b) e2 h
      register_post_type('site-wide-notices', $args);. u0 j! C  Q3 W5 S' f: T. q
   }3 m( j! A1 T% a2 b
   ```
4 q" |. T5 {0 ]9 D0 I5 [% I; C
/ l1 X) E4 H$ }' q   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。- u% s8 p, P0 M/ V4 ?
( X: n) B* f; d
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
+ _' Y; ]- m! Y2 M% S' {3 r
- R* x' O. s0 V- z# J4 {   ```$ S8 K& U( g2 a
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');& T4 R1 ~9 A: a: ^5 x3 }
   function add_site_wide_notices_boxes() {5 C$ |# X7 r0 I  Y3 P+ C, k$ _2 F2 B* u
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
& O/ w5 y' {( ^! r3 [' [  f   }% o) e& K% i; c$ z+ A
1 i4 Y6 c( E* @$ k
   function notice_details_meta_box($post) {
: ]5 `1 w( B+ G* i      wp_nonce_field(basename(__FILE__), 'notices_nonce');
2 p( [/ F1 r! T; d4 l2 e6 B$ E) _* c      $notice_title = get_post_meta($post->ID, 'notice_title', true);  k% v! |1 F' Y+ R5 A
      $notice_content = get_post_meta($post->ID, 'notice_content', true);9 E- ]8 m* t, E" w" z7 ^2 y' d
      ?>2 x& b$ B# ?! w. k* O' u
      <p>) D; n. k' G* t& u
          <label for="notice-title">Notice Title</label><br>: c' d$ Y. e7 F
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
1 d' G: X% M$ W4 ~5 l/ \. k1 L      </p>
: v! s; h8 ?9 N2 v8 B2 r      <p>
& N! ]5 _8 ^: S9 z          <label for="notice-content">Notice Content</label><br>
7 K6 z+ B' \* x0 l          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
' \1 k1 n1 p$ G, Z7 X* E; Z9 A      </p>
2 h, r* X7 _+ B2 g- s      <?php7 j7 Q  H0 ^+ p
   }3 ]. y4 r+ O) T/ L3 I

4 l3 ^  A; B" H" o" C5 @   add_action('save_post', 'save_site_wide_notice_meta_box');
) O0 g& k- J% s8 j2 {  d   function save_site_wide_notice_meta_box($post_id) {
/ q. F! a# D) ^/ ?      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))+ c6 ^$ ^1 y) w$ O) S9 o% R% n
         return;
+ q( i$ _. M; A      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)+ l! p( s3 [' D2 [8 W
         return;4 g8 @; Z1 G: t5 C$ M2 R6 E% G

/ e% W0 G, y" ]9 N) [: Y6 [      if (isset($_POST['notice_title'])) {/ @" |" [6 h4 D. d# ~
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));. o, i; B5 U% \8 L  Y2 ?* s. f
      }
. J$ d4 t' b( Y      if (isset($_POST['notice_content'])) {
: Y, T6 d$ r& T! J          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
6 f1 y  R& K7 d- j: W* R5 T/ L7 `  Q      }
/ Y+ x$ v' X5 ?( m' q   }
- t8 X  r# J, R   ```
, _$ K! {8 V3 |. ~& P" Q+ P. J4 Y. e) L8 R  e! P' Y  G# ]
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
4 ?' A% D' q$ m- X
# T5 m+ M& X: h, ^- u# {: @4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:3 P3 {! x5 s- s8 K1 W: `4 R0 m
1 V& e6 j8 R- O; H
   ```
8 d* X3 z; |- P* y" y& [3 O   $args = array(1 n  ?! z# o$ {
      'post_type' => 'site-wide-notices',
8 |) N; h+ Z# a# w$ I. t9 p/ v' P      'posts_per_page' => 3,/ X# |+ [5 G5 K! K
      'order' => 'DESC',8 q% w6 A/ S$ `" t5 ]2 ^
      'orderby' => 'date'% h! y, w1 s' z# i9 o7 N
   );
% n4 N1 h+ t  a   $query = new WP_Query($args);1 J/ D$ h4 g8 V6 _% m3 W. K; l* q
   if ($query->have_posts()) :# Z) U9 |- {5 O' m/ b. A* \
      while ($query->have_posts()) : $query->the_post(); ?>
; j' }$ Q7 _; P: ~. ]; }          <div class="notice">
! c; P- k/ `  x$ ^              <h3><?php the_title(); ?></h3>
- t' C7 n5 x$ }, B) Z' N; k              <div class="notice-content"><?php the_content(); ?></div>* e% {2 V! e& B
          </div>
" t# f$ x  R; M- q5 k      <?php endwhile;  C* k3 D" ~( N; F
      wp_reset_postdata();9 i' A7 w) j" u: ?" p
   endif;, Y: w- ]7 z6 G1 M
   ```0 Z" y! `9 \: Y

3 H% k) e, K+ a5 g   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-18 19:08 , Processed in 0.013174 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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