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

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

[复制链接]

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:. a- H3 F6 J; `- h: ^; p0 `+ _7 v9 g
( b. z0 z/ p4 ~1 b+ |$ l! t$ m
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
9 ]8 r9 d' n0 Q( i# N) {. i+ u* N2 u# U( |1 ^- o$ v7 U% q
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
3 G/ j" B2 _/ r5 a/ i% q3 k9 S7 o: C0 M2 W1 d
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。; u" A9 l% y% i) E& [

* }# j# l" ^& f  \" r$ b( O9 a& X6 q4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。  W- r/ f; g5 w2 b7 v  ?# z2 {' G' z

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

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
5 j& S% \8 @8 q% c( n; r) ~! U! K0 E  v/ I- L% S- ~& s
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
9 B; |2 Y; \. R6 R5 u; o
( @' e/ \3 k( M: d1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:1 K% N4 ^6 L( S) X$ {: e
+ `* g+ \/ z* b
   ```
( _; Y! I0 d3 L0 C0 u( T3 t9 d   add_menu_page(
8 V0 M1 q: `' p       '全站公告',
+ g8 ~$ R& E) s% G4 S8 I+ a, y       '全站公告',
/ |6 n  [& K* \( L; J/ e       'manage_options', //需要的用户权限
4 }; o# l4 C5 t4 d3 Z% }       'site-wide-notice', //后台页面的 slug
' V1 Z) J) I: |* M7 l       'render_site_wide_notice_page', //用于渲染后台页面内容的函数* r- G- |, x& y5 G" x9 T
       'dashicons-megaphone', //用于显示在菜单中的图标0 b+ [# Z& s# I) p3 n7 _. m0 D/ V
       30 //菜单项的位置$ L1 z4 c+ [8 |5 A" l8 j
   );
0 F: J7 y& `6 Y/ C# n2 @   ```
- G; Q  K- O/ @
6 ?5 w. Y: N, j6 {' k   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
9 A1 y* r# w8 D( e. B9 g  |3 P( f* T( X) _  i
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
# j- O0 A$ A2 p. a1 n) z
+ K: M) [# c% g   ```
& O" p5 K& ~1 E+ r. U   function render_site_wide_notice_page() {
1 s# Q7 m. j5 j" E! G  v      // 渲染后台页面内容3 v% n  C8 J% M) n/ S) \
      echo '<div class="wrap">
( _1 v1 F% j* i% P7 W          <h2>全站公告</h2>
4 u. n6 p3 X3 S+ b- v  J          <form method="post" action="">
/ ]7 s9 R. X' [" |  b* \9 L              <label for="title">公告标题:</label>& Y8 B; [& F6 i$ v" j, a
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
2 B% l3 l; O: F7 A: X              <label for="content">公告内容:</label>
' @. V8 ^+ V. c' i% x' c              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
! P0 W) g. c2 z  u              <input type="submit" name="submit" value="保存设置">
9 ]! S" p/ {1 \) h/ d2 k          </form>$ ^: _2 y) X# ]# y1 D6 U! l  q( Y
      </div>';! Z3 i1 T, d( Q- U" y
9 m0 f; O2 D4 M$ g
      // 处理表单数据
' c) R% i9 I& h8 z! \+ {      if (isset($_POST['submit'])) {
5 ?7 D  L& B, z/ M3 o          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));; X, }, @# H0 P9 L# W4 X, N
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));( V! j9 s: ?2 u7 V8 s
      }1 o6 X, f2 T" t) \) ^
   }/ D5 t3 X& {* K' ?" `: O
   ```/ U5 a+ _' j3 K1 F
5 {7 \  ?' y( `
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
" ]9 f0 W8 n6 t% d
# L7 B! N. f/ F" `  e/ Z: O; f3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
- B8 u% m" A$ |3 J6 b# B& {8 C& O7 W/ D3 m" ^* D
   ```( D7 {- K# I9 H
   <?php
. D2 M0 X6 F1 I. o& t* s   $site_wide_notice_title = get_option('site_wide_notice_title');
! K# P! C+ e5 ^* `4 S2 }   $site_wide_notice_content = get_option('site_wide_notice_content');
/ j7 t3 w* w  z: H   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
6 K, S1 R0 _& V: n6 _, P# o" N2 r+ D       echo '<div class="site-wide-notice">';
, F4 D; V' G4 ^2 E  G8 x       if (!empty($site_wide_notice_title)) {
& B% a$ p  e6 @( z) j+ s# e' v           echo '<h3>'.$site_wide_notice_title.'</h3>';/ o1 L- h  K' y' B* g" m
       }
) }4 i6 O; J; r. U0 ]       if (!empty($site_wide_notice_content)) {
# X* x8 R1 |5 B( z) b           echo '<p>'.$site_wide_notice_content.'</p>';
* e9 T( o# E6 q! W0 U       }
3 m. y# c) ~6 X# ^2 k/ O& y       echo '</div>';* K- ?* Y0 _* l! s
   }3 ~& {& W! a  {
   ?>! \8 p! T; L( o7 q, Y3 A3 t
   ```
5 e/ {  ]# v/ T2 a
3 R5 j$ ^. E6 E1 s9 G0 t% S   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
! Y" A/ t+ a7 v
7 l7 R! h2 Z) `3 H请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?0 @: Y+ q" ?  ]. P

  \2 j1 A4 g, I* C, l( }您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:' c, H* V2 ~0 {
. i' n% t' w- U+ W& Z! f( @
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:( A# o' ^1 h! k# N
6 M0 z8 j5 U. m1 }$ b5 E$ G+ V
```
- J" M  b- Z4 C9 X. }: Kfunction create_custom_post_type() {
/ \3 U; s/ ]7 ^" ]6 g' b- O) i. X    $args = array(
! C$ h$ q6 D& ]- V; N& o5 Q        'labels' => array(
. A/ L% Z) ]2 x, Q. B0 D* d            'name' => '公告',& ~7 q4 Y: [; L8 S( w) y1 P
            'singular_name' => '公告': j9 M/ j4 o1 h- J  }. U; o
        ),
$ `  B& e) `+ `        'public' => true,
. B! U* N' _8 A, a6 r* M3 U        'has_archive' => true,
6 H- ~: v' I2 T        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),  K( {- w6 X; q! c: Z
        'taxonomies' => array('category', 'post_tag'),
1 o/ R7 N/ Z8 L/ T( r) K& m& Z        'menu_icon' => 'dashicons-megaphone',& A  l4 j$ S2 y
        'menu_position' => 5,
2 l3 i) y" t9 ^* C! M9 A: {        'rewrite' => array('slug' => 'site-wide-notices')
) {" A8 c: P1 j. j# d    );' Q( m, ~! i2 {6 ~/ r7 Z
    register_post_type('site-wide-notices', $args);, Z# @& Z* F! c- ?
}6 r  H: ^. |, f1 X* I9 L
add_action('init', 'create_custom_post_type');
; J% o/ `( [5 D3 E( A& c```
6 ]. M$ Z( Z- z; c4 k3 V2 Z  q2 Y$ Z0 J
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
+ ~. M( l/ }, Z! w  Q$ Y+ w  |& y( n! V! l7 r- C& R7 y9 e# a7 ^* \7 \
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。5 \; G' M4 L5 I+ L

+ d( ?" Y9 `  N' p( T* u3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
: h4 d+ M5 x) C# y; {8 F2 A1 s& s' V5 Z3 w# [; w6 t; Z
```& K, @# X' Y' s
$args = array($ s: F) R& |/ u6 b, z/ D- X
    'posts_per_page' => 3, // 显示的公告数量
6 t# H4 t" d( l  b, w    'post_type' => 'site-wide-notices', // 公告文章类型: s$ B7 K% V, z: h( x- @! C
    'post_status' => 'publish', // 公告状态
9 j2 B+ Q2 m4 U1 M    'order' => 'DESC' // 排序方式; s# X1 m3 r- A7 v
);
2 D7 v+ U: K; |, Q/ i, ]
) S5 j4 l1 J# B* G$notices = new WP_Query($args);
! D6 m/ [6 T3 h+ O  W' Vif ($notices->have_posts()) :6 q, z3 }3 R  k2 z; o& @3 p& j
    while ($notices->have_posts()) : $notices->the_post(); ?>
3 F  i# a; y, j! F  c( T; U3 j        <div class="notice">
; l! j) @7 {: S/ f            <h3><?php the_title(); ?></h3>2 N8 p: Y; v, v
            <div class="notice-content"><?php the_content(); ?></div>
( l, Q% R# u) [( i        </div>
: F6 [" w1 t3 B# _8 d( |    <?php endwhile;- S7 w: s, H# t! L9 X  Z
else :
+ p4 ]( o* L7 H- N: ^6 z    echo "暂无公告";
: v* A' S; L3 E# w& ~# Dendif;
+ p, a- R* s" g0 Kwp_reset_query();$ f$ o+ }/ w+ c4 W% S
```0 R$ }2 ]) p! n0 |' y- ^
1 r5 q; e+ a, w& R
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
$ U9 Q4 g0 L0 A1 E: r4 i% u
1 M8 _7 `5 z1 g以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?. f( [! v' k0 i

$ l- z1 S. |9 u) H' G' [如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。* q& @% S" o- [1 G& q
8 r5 q1 d  V$ O0 i: p
以下是创建自定义插件的步骤:' C- {3 z# P4 W# _- i! U! t

% `+ N' U  e" h0 g1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:) i& e- B8 O. x! Y/ K
2 w5 |! N3 ~3 N0 W
   ```
; p& v1 W% _$ y/ Y% C- J   <?php
( ^; {8 F* ?. |% f: ?7 {   /*
' s% ]# M% T# ?& ^7 a5 w   Plugin Name: Site Wide Notices Plugin+ c8 m. P5 [6 h$ o$ [5 U9 s
   Description: Adds a new custom post type for site-wide notices.5 c+ w8 ]0 V5 g$ I+ C7 e3 s$ T
   Version: 1.0
* N% z* C# X. y- i" w, Q: A8 h   Author: Your Name! Z- d4 X+ q; G+ L( {! ^* E9 v
   Author URI: http://example.com
. I, O- U3 u3 s! Q( N! w8 o( L0 s   */
* \' S+ x& l( q
+ s) f& D6 Y) X   // Add plugin code here...
- U* r/ n. Q0 l6 J  a1 a2 K/ ^   ```. M2 j9 ]) r, _
& U  r- t7 v1 q0 ?# R5 v
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
, H$ `( G- _' P5 G4 Q' u/ b' |* S, J1 H8 Y' P: L. r
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
5 J  k: G/ O; Z0 B& R: o! o
- h9 w2 n% U' A0 C   ```8 M6 f- g, y( s6 f8 `- u) U6 o% h; V
   add_action('init', 'create_custom_post_type');
# Y/ n2 l; W( d) ?2 c6 F   function create_custom_post_type() {
5 K5 j: V5 d; S# ]5 \9 X' k      $labels = array(
2 V4 a, t) O2 r) x          'name' => 'Site Wide Notices',3 i$ w! K, s9 h  d
          'singular_name' => 'Site Wide Notice',# q& W7 v- Y4 s3 {7 n4 N: T5 W
          'add_new' => 'Add New',' q0 b& E* \: A5 \% U
          'add_new_item' => 'Add New Site Wide Notice',
1 b* R" P) W* H' i7 Z          'edit_item' => 'Edit Site Wide Notice',
3 x) a! _6 [* w) T' w          'new_item' => 'New Site Wide Notice',
* f  m: ]2 I* P' t9 Y          'view_item' => 'View Site Wide Notice',5 l) K: m( N3 Q+ P" \( a, O
          'search_items' => 'Search Site Wide Notices',
/ `7 a/ r1 i: L8 X" C9 s- `          'not_found' => 'No site-wide notices found',
2 d0 V# \4 Y! x' O  }/ @          'not_found_in_trash' => 'No site-wide notices found in trash'7 i6 m. P" o( T% D) t! ]$ R( b
      );4 }# b) J' \3 S& H: u  X
# P  M: Y& n: `) j2 I2 V' [
      $args = array(
. i$ e' Y! Q4 n% x: p1 y( I( V          'labels' => $labels," W1 Y5 ^! |, {
          'public' => true,/ r) |' }, h2 c. U( i) ^' K; q
          'has_archive' => true,3 ^# l3 A6 t4 j: W; i
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),2 B* R; @2 d! ]% Y- n7 g
          'taxonomies' => array('category', 'post_tag'),2 {( {) P& ^/ \2 @& X' z
          'menu_icon' => 'dashicons-megaphone',
+ H) _" U* F. c: j) O" L          'menu_position' => 5,
2 I0 |* g0 X4 l# C          'rewrite' => array('slug' => 'site-wide-notices')
, X- Z( u) N$ }. [, \" R! j7 y- W+ o      );% ?: L9 ^* r! T6 M* w6 C9 Y

, C4 ?2 b/ `5 o* A) X3 _3 q! p      register_post_type('site-wide-notices', $args);
& X5 M9 ]2 \8 D# D   }
$ [3 d, ?- ?7 b   ```
! R) G! @. u. b' E% O
# a( z6 h: T4 C7 V8 Y1 o3 ]7 q% X   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
" }* S& F8 T8 N5 {
% }8 C( k2 g7 U4 X+ t* q1 A6 a3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
9 S; y, N1 ]% _9 M: K( _4 E& a. C: F5 z: E, v2 i. [, d
   ```
5 O& w% v8 s# b+ `! O   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
' U( t$ L- q% [; n: R: l4 _   function add_site_wide_notices_boxes() {
' C, d2 t# o! p5 ^! w3 n& ^) z      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
9 q# J! X* y3 V( w+ J) w   }1 b% k$ a0 s8 ^- w

: }5 Q3 C% E0 ^. s, K% J   function notice_details_meta_box($post) {% s; y# h/ W) f; ]# ?
      wp_nonce_field(basename(__FILE__), 'notices_nonce');6 G: ~, A0 g1 `6 X: ~5 n
      $notice_title = get_post_meta($post->ID, 'notice_title', true);" `4 }# E8 ?1 P! \& _8 d5 s
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
5 q/ O! |: x0 r: C0 I      ?>
# a$ l, X8 ]. @/ H" y3 @& [      <p>4 W8 H3 Z$ M+ h0 C. v
          <label for="notice-title">Notice Title</label><br>0 I3 W5 y' P! F8 s! `& s
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
7 A8 a: A! @6 q      </p>. v) D6 }. S) W5 r! @: q! c: k
      <p>% ^5 ~4 Q9 `9 W! v
          <label for="notice-content">Notice Content</label><br>1 R( }6 o; f* n/ {& O
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
& q0 _$ e! V# [- g( k1 {1 c      </p>
. \. Q- o8 V" H) L( F      <?php4 F1 r) q4 a+ B% S# y% u& l
   }# A' o5 I) r+ e4 V
9 k2 n/ l2 t( G* |( c- A8 S
   add_action('save_post', 'save_site_wide_notice_meta_box');
5 B& L; v% T* P" Z! k   function save_site_wide_notice_meta_box($post_id) {. ~/ O$ }' F8 |6 [
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
. Z2 b4 n, l/ g. n! F         return;3 U" ~4 G" n2 V8 O
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
7 s' I' B) g0 Y# W0 y( m% `- u; j1 @+ }         return;3 U8 |) j4 o4 Q% ^( Y$ C! X
" ]" d* z7 ^; m) c6 o4 Y
      if (isset($_POST['notice_title'])) {
( p: K' o# U+ ~6 ~& r7 g' Z) ~          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));- c" }' ^0 [3 o. l+ ]6 {6 G/ W3 U# @( ^) ~
      }$ G7 @, `. M+ |, L" C/ R4 w
      if (isset($_POST['notice_content'])) {
1 m( g" Y. A0 O* A          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));, R  |) E1 H- U' T. V
      }
; {4 ^9 w, }7 c9 N  ^# f0 V   }
( r$ @' @( l  F/ z" b   ```" W# g4 a5 v( l' c
( m  W, F) @/ _  T" W0 ?
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。  v* M# f; y6 k  Z

/ y9 q( ]' d& k; B3 f2 C6 L5 @4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
* c4 P4 y# R, f$ O) P/ y7 V- p) d, G7 f9 o( K
   ```- y7 `+ A4 L" ?: A
   $args = array(1 u5 W9 q4 C3 O' k; u
      'post_type' => 'site-wide-notices',' u% h# O" g; M5 N- u
      'posts_per_page' => 3,
" Y+ \: f2 z* g  l      'order' => 'DESC',4 ?2 @  v7 C" W; K$ F& L
      'orderby' => 'date'
5 Y) ~! X/ Z, d' b   );, V2 A- ]: j) e% c' E6 A$ B, ~/ s
   $query = new WP_Query($args);
/ I* @6 Q* U% p" b) @' y- h1 ~   if ($query->have_posts()) :
/ l0 O7 k( L; h9 N3 D0 E: ~      while ($query->have_posts()) : $query->the_post(); ?>
# l- W$ l8 c* Q0 k& y5 t          <div class="notice">
2 x4 Z  L0 `; P; Q; q1 @              <h3><?php the_title(); ?></h3>) k9 T0 T2 S0 {7 @$ {) ?& a
              <div class="notice-content"><?php the_content(); ?></div>
0 J3 m. T3 e$ l2 j          </div>
+ r! t: L, z2 m( q      <?php endwhile;7 ?9 y  v0 I. X7 G- D% R! \
      wp_reset_postdata();" f/ ]4 ~3 o- ]
   endif;
1 L0 Z% V, d% H" V$ E, D   ```, Y% _6 o' [7 T( C( R0 t
5 p4 |# J# M$ v, U, f, O
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-20 11:15 , Processed in 0.012600 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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