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

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

[复制链接]

340

主题

530

回帖

3538

积分

管理员

积分
3538
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:+ h' r* l* S1 f; |: _

' B% _  l1 g$ f0 |1 {6 U1 ?% r" v- ^1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
. ?5 s5 ]) Q1 c1 X% r7 n
# |9 \3 i  y3 y. S2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。: H/ j0 q  i! o+ \+ y

2 B: X. B& M. N& S/ E3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
/ |  E/ e" o+ @; \( h6 K
. m  q: W0 x2 J" |% W. N4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。0 [9 ~3 E8 O" h% p5 X( r3 U2 a# [
. O+ |1 W* c9 Q, v5 t8 h, d
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

340

主题

530

回帖

3538

积分

管理员

积分
3538
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?& P. D5 I% |% T% Y. M; p
7 _3 S- G5 X. w6 q8 ?0 c
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
2 \8 s, ^# G9 J* [7 i3 g0 x& s5 y; o& A4 ^9 ]1 x* p
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:6 e/ `  e# Z3 L* x4 Z

* C6 p4 m  R  ~' E2 b7 S   ```6 L5 ~9 C' p( M6 V
   add_menu_page(( Q+ k' d7 ?2 c
       '全站公告',
9 g; c- k; N9 ]8 F       '全站公告',
4 z( k5 p1 g9 F9 [7 w" r       'manage_options', //需要的用户权限6 K4 g3 j* {  v
       'site-wide-notice', //后台页面的 slug
$ l& Q2 q0 V  q7 g, C1 i1 d1 e$ `       'render_site_wide_notice_page', //用于渲染后台页面内容的函数! Y- l8 M! ^) c! j7 `
       'dashicons-megaphone', //用于显示在菜单中的图标" ?4 z( n- l4 i$ ?: i* T7 v5 i- t
       30 //菜单项的位置
: b6 {1 Y- g& k4 H* v   );: K+ j+ x) i9 c/ s
   ```
& j5 ]( H  S0 ~4 @2 P% n; [: D- [7 f, @. n( ]0 W- E( ~* F# J
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。# W" o0 y0 [0 k& n
. u" P1 @* L5 y  i5 z" [( v
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:5 ?! G1 t* Y4 a
4 v. [/ P1 A. L# v
   ```
, [& @- D( z" g" D% b- e- I   function render_site_wide_notice_page() {: |2 C! R8 V6 a- F1 E
      // 渲染后台页面内容
) f" Q- Z+ ^6 L; s      echo '<div class="wrap">( X) `% _& o8 k5 ]. \# O
          <h2>全站公告</h2>
; @" N7 N" ]8 }4 y4 Q          <form method="post" action="">0 g9 Y% e/ J; O  o8 k( f( N
              <label for="title">公告标题:</label>: y! Z; E/ J1 _8 W0 }) h
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>2 P3 J  K& G5 J- a% D
              <label for="content">公告内容:</label>
( z4 }; S& ~# ^: j. ]3 O/ D* ?              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
! X* A. }. ?! v6 o0 k, t              <input type="submit" name="submit" value="保存设置">9 A, l1 d8 O* j1 O/ r. D/ d
          </form>
, I7 x8 P9 u4 W      </div>';
" q5 q! s5 [5 `1 z/ O- }* o
1 y( J; r. [) G0 ~- N      // 处理表单数据
" Q; R# Y, Y' O8 _* u8 [6 Q      if (isset($_POST['submit'])) {2 d0 ]. [3 f: [6 B4 u
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));/ C4 Q( l" O4 e3 C& C* g
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
. p6 V4 ]' R8 d& M' R  r/ r2 E      }
2 L/ }0 N! U* H3 o) k" O   }: ?$ L0 z5 D  v  d
   ```2 W" T( }9 @0 }% c& w7 G. ]

  p& c- w3 h! u4 F1 l2 e, q   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
' S3 m: D3 t9 O( ^0 r+ |1 w, z6 `
7 g4 f6 S3 b& z/ t. y3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
* q: e& c7 f) o1 O2 W3 \7 [
# ^3 B9 P: a8 d, E  Z/ ^   ```
$ G9 B5 m9 u' t   <?php6 C, O' Q* I' ]! ]
   $site_wide_notice_title = get_option('site_wide_notice_title');9 R# `+ N6 ~2 |+ G2 H, f0 H
   $site_wide_notice_content = get_option('site_wide_notice_content');
' x, |5 W/ H! s: I( @5 ?  G" v   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {) E) V% B# N: e2 R: O6 ]
       echo '<div class="site-wide-notice">';+ {; C" O( g, `. ?9 s+ x
       if (!empty($site_wide_notice_title)) {
; o. }, F- ?7 H0 H+ X: X           echo '<h3>'.$site_wide_notice_title.'</h3>';5 ]( b6 G4 B1 r1 M6 z7 A8 Q' C
       }0 d7 U6 d7 `; V' U9 g4 g+ g5 `4 ^
       if (!empty($site_wide_notice_content)) {
( v  }2 d! q. n/ O/ [7 r, l4 M           echo '<p>'.$site_wide_notice_content.'</p>';
  p# w- Y  |: P% P3 ?( a3 @       }7 j% D7 l' a4 _
       echo '</div>';
% J5 A- r4 X1 e   }
; ~) \! d0 V1 S0 S. O& \$ o   ?>( q( q! k* v& n$ m
   ```1 y  R9 D5 v! p- g

/ P) T: P) N/ F: ]" c   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
, G3 W6 q* r0 ^
) f6 l/ P7 d5 C请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

340

主题

530

回帖

3538

积分

管理员

积分
3538
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
" k6 i3 R7 z* I% ]- @# y. {6 I2 A! }. T
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:0 J7 y3 p' o4 S; }# b/ n* X
& e( _' J  U; @
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
8 q" G9 X: _! p7 U( u# E" w0 M9 J# [( h2 p# o
```
# Z; g8 ]. q& D% Y2 Nfunction create_custom_post_type() {$ q& ^( R6 b* H, Z% x$ O4 g% K2 S
    $args = array(2 Y, X- }. |5 ?; P! Y/ b/ ~
        'labels' => array(
6 A. U5 P4 J5 ^$ l5 v3 X) W            'name' => '公告',
' C9 c3 n! A& J  Q' k            'singular_name' => '公告'
' n  y4 v4 j4 K; w" v- m# {3 p& v        )," v7 W2 k' G3 b. Z5 t
        'public' => true,5 h. u, D2 }/ a$ j( Q* s0 `
        'has_archive' => true,. [" H5 ^: O2 G' k; ]* A
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
0 x+ t3 X0 y" s9 P; k6 \; e        'taxonomies' => array('category', 'post_tag'),
, ~% h" z2 v# O2 W4 r        'menu_icon' => 'dashicons-megaphone',
- G- g0 K' X. I" [        'menu_position' => 5,
8 }: D( f$ P  y) S        'rewrite' => array('slug' => 'site-wide-notices')
( e) W0 U5 \, a    );9 f  s# O& y3 P, ~0 h- r
    register_post_type('site-wide-notices', $args);* J0 e) d( ]1 ^! W' v- `
}
7 }$ ?/ h0 p0 B  M" q6 B6 _/ t+ u: madd_action('init', 'create_custom_post_type');
* g, f6 K7 p1 n: A: v" Y3 D```
* _8 u/ I0 K" i7 Y) i% o& Z8 k" U
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
3 i% W- |: Z! C) i
+ d( ~: g; ]+ z* o* x2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
! x: W7 }' e  b1 D  I0 B% b9 b* t  B- o
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:0 S0 \) b6 g1 z

2 f0 E, f+ {# O4 [$ p1 z```
9 w" d! I" g% m$args = array(
/ V$ E. N: u/ |: a$ c    'posts_per_page' => 3, // 显示的公告数量
! }7 o$ c% t; G9 K1 d1 I2 T    'post_type' => 'site-wide-notices', // 公告文章类型" c5 k9 ?: j- j4 u4 f: J
    'post_status' => 'publish', // 公告状态9 Q: y/ |; G4 g" u" T( u
    'order' => 'DESC' // 排序方式
$ N, Q! G3 j* q# j3 P$ z6 g" h);( t: m( v1 @- B* a. |7 w
; |5 m) L, [4 D9 H: b) y
$notices = new WP_Query($args);' R, V; E. F+ ]' {( X
if ($notices->have_posts()) :4 O9 c- b$ u3 h
    while ($notices->have_posts()) : $notices->the_post(); ?>
0 I% W4 t  t0 J. U5 Y        <div class="notice">
& E& u7 `' K* g( m  p' q) y' Z8 U0 e            <h3><?php the_title(); ?></h3>7 ]7 u5 K7 l- V
            <div class="notice-content"><?php the_content(); ?></div>+ z9 I2 C: \6 N1 W1 ?% x$ h; i' _" @& t" [
        </div>
  r4 m* W/ J/ {9 M, c) z9 n    <?php endwhile;/ g, H, W0 d! v0 \# a
else :
4 l3 Q& u! z1 T    echo "暂无公告";. v+ @  C' ~; P  t  y# m6 D
endif;
5 }+ V6 Y% w. K) j6 A  z6 M+ Lwp_reset_query();
0 s# w* s1 u8 t$ I7 X```
# \$ z, T, v5 e# q+ |; J: ?0 S3 r2 w. V  \; ?* S
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。& W5 s* p$ E% f
  q3 p; I# R" J1 ]3 W
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

340

主题

530

回帖

3538

积分

管理员

积分
3538
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?5 z0 N, I* S3 h) N8 `
. _0 v+ ~( R$ \* q/ u: [) ]
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。: G6 _; O) V, q

" A* D' |+ z- l以下是创建自定义插件的步骤:# c1 T0 N8 P6 [: ~  p/ P

# x/ T0 u5 ^4 _" [1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:  k( l: `4 U( I  {1 V
0 A& R3 W, ?! V# l7 D
   ```8 e. F$ L" h% n' W2 V7 o- R
   <?php
2 ^$ ~6 [, b% [! |/ J$ u3 Z( O- y   /*. X: z: S1 K4 R& _  L$ S
   Plugin Name: Site Wide Notices Plugin
: G. ~: P5 Y& G9 u   Description: Adds a new custom post type for site-wide notices.
' g6 B) p9 E  g/ f$ d   Version: 1.0
$ F7 `9 c8 G, h/ h   Author: Your Name# k" ^+ N0 V* B0 |5 G
   Author URI: http://example.com3 ?; O8 h( f6 j4 h
   */
& X: D9 z- T) s9 Q4 f4 @7 G
% E4 b( B( y5 p. K/ k   // Add plugin code here...1 M3 U1 s/ T, h; K4 S/ {- g0 c
   ```
5 C! f' R+ C8 z& `
5 z0 b. g( u, q: f; G   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。" y- B. U: `2 ?6 N

: q5 _1 v9 d' d! |: N7 Z2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:3 l4 |( i' s. \, y6 `" ?
1 Z8 K% \1 V6 M/ U
   ```1 h7 \0 Y* ^. k2 L1 g' f
   add_action('init', 'create_custom_post_type');
  D5 l/ N* a. X9 A   function create_custom_post_type() {
+ \3 ]" h0 Q5 s, _      $labels = array(
) r) d2 n9 D+ I; U8 W: ]5 i: C8 r8 r3 `          'name' => 'Site Wide Notices',$ S. i9 ]* @: q  y  E
          'singular_name' => 'Site Wide Notice',: ^8 c% h' M/ d$ I2 l7 A3 `
          'add_new' => 'Add New',
9 V( `, h; _9 E5 A6 D, x          'add_new_item' => 'Add New Site Wide Notice',
6 N0 E: \5 Q* C6 W          'edit_item' => 'Edit Site Wide Notice',* F+ P8 s$ G0 u; ~: |' N
          'new_item' => 'New Site Wide Notice',
/ X* I! l0 X% U( r, R          'view_item' => 'View Site Wide Notice',/ y3 J0 O, f* b' m$ r" Q! p
          'search_items' => 'Search Site Wide Notices',; V8 O1 w6 Y4 ?
          'not_found' => 'No site-wide notices found',
. j$ T* ^9 B. ?- W/ c, l          'not_found_in_trash' => 'No site-wide notices found in trash'5 p7 ~1 L7 z2 J$ l
      );0 e/ [- N4 c" S# M
+ }% m5 A6 V0 Q6 C$ X& U: d1 n
      $args = array(
' q, K5 C; c, w2 z9 O* a          'labels' => $labels,' U( H; e# @# k- W
          'public' => true,
1 W8 @& m# ?* w: e          'has_archive' => true,& q" U! Y7 k8 [4 I, W
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions')," w; ^+ J4 }5 {" j- O$ J
          'taxonomies' => array('category', 'post_tag'),
' n8 k3 {: |, H1 F" d          'menu_icon' => 'dashicons-megaphone',
! i! l' f7 `" m6 ]' e: v8 q. T          'menu_position' => 5,
- M' |; S% z9 J1 A  f          'rewrite' => array('slug' => 'site-wide-notices')6 L$ Q" S% x7 t3 B; v# |
      );# P0 \' t% N+ J7 N
- a8 V: k9 G+ M# r0 y% y* Z6 W) {" G" `
      register_post_type('site-wide-notices', $args);. p6 }  \4 z' }6 L+ s. T; D$ S
   }
7 q5 Z0 z/ d  r  v% D   ```
; @3 u7 ^+ ^! i; s7 x
6 ^& _, W! E0 L, b  N5 A2 E* x   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
5 f4 `. }. N$ ^( V5 M
6 l, f2 u3 n% X- v. C$ X3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:3 U6 I; [. N8 b- D4 u) O- h

! J- J  w& N% w$ P2 q6 z. a% [   ```% B6 ^6 g+ x' ]8 {0 [
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');: `( ]1 I) u, {8 r. j
   function add_site_wide_notices_boxes() {% d0 b! w8 |& X2 i" F$ V4 H8 L. l
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
) u/ ^1 w: `2 q( D   }9 l' I6 l! H5 l8 W1 s0 [

- J5 j, q. d( o) Z   function notice_details_meta_box($post) {! ^, T) k4 G  m, G# `
      wp_nonce_field(basename(__FILE__), 'notices_nonce');
: `+ `6 k- K, _      $notice_title = get_post_meta($post->ID, 'notice_title', true);$ @4 s2 b4 v0 X# X& ^. E9 ~3 e" ?
      $notice_content = get_post_meta($post->ID, 'notice_content', true);* x. U6 z; L% X9 R( V/ l
      ?>% K9 P; `  M$ G3 v0 H- o
      <p>" f6 z* c" C6 _1 Q: n
          <label for="notice-title">Notice Title</label><br>
) U1 Y# b5 X* ^, g          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">) H1 y) ^3 u" ^, t- e/ h3 Q8 B  B
      </p>
/ w3 t+ m  A8 s/ z) t      <p>
/ G" C( J8 Y6 M% i: [0 J# G3 n          <label for="notice-content">Notice Content</label><br>
' n$ w8 B. c9 x, M; P& r) ?8 s* L          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
9 J0 K3 n1 ?: e0 r3 V      </p>
4 g2 b8 m. A9 n! q      <?php+ y' W# }! J! w' k, P
   }
* E! e4 j" q" G  R# A( I. g) Q: F5 ]$ d" K2 [
   add_action('save_post', 'save_site_wide_notice_meta_box');2 j% D, @' }3 t9 B
   function save_site_wide_notice_meta_box($post_id) {: `+ h" p6 r, s3 H0 T- ?7 Q
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
& Z' l  W. ?3 v; K% p" Q         return;
. g$ T; a( @% }0 w9 k      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)% ]. Y' w! p4 {: e$ l3 u/ D: q, j0 e
         return;7 B4 o4 I$ |, n- [7 k- v
; S" }" H- F# K3 F) H4 `7 ^
      if (isset($_POST['notice_title'])) {
. a3 t+ }6 F- t& M$ l$ {! r/ a" U3 U          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
# ]' J7 C, I5 z$ {- }      }
# C" @) t' d+ F7 r; I2 c# j      if (isset($_POST['notice_content'])) {" l4 O( ~( L& f/ ~$ p! j
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));4 f3 {5 o$ ~5 D$ N2 L6 I
      }: ]* U- g  ^, W+ w  e3 L* T
   }7 f: K1 X/ v# D1 m' C
   ```  u2 A3 U; W5 @- B$ D/ J4 ^, x& L

. V- @6 V- u5 N   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。, a+ L" j! ~9 T% C  t
& ^' v. m; n# k! v+ q
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
) o$ ~( e  c7 J$ J/ u% H4 r1 ~4 z6 E: n9 T1 W# E$ Y% J
   ```: i4 _# ?( S* f' A6 k, T( B
   $args = array(
/ u1 X# r% ]5 A1 {7 i) ^      'post_type' => 'site-wide-notices',
6 `5 x2 O: I# P% t1 b% h2 M6 W      'posts_per_page' => 3,
* H, _/ d" O; w, H. \& ?+ e* Q      'order' => 'DESC',
/ t$ `5 U) [8 u" N  \      'orderby' => 'date'
8 r$ v. C4 f0 m( |( v& D$ F   );
& N2 |8 n0 W% t; g" y7 r   $query = new WP_Query($args);: K, x# }8 n4 q, s$ ]2 x+ n
   if ($query->have_posts()) :2 z4 W7 c8 c) p1 j; E) r
      while ($query->have_posts()) : $query->the_post(); ?>% O6 g$ {% `1 x6 M) g
          <div class="notice">/ Z- x; ?! W" P: {/ i7 v0 ]
              <h3><?php the_title(); ?></h3>  Z; @8 {' @' O+ _8 [  t; C
              <div class="notice-content"><?php the_content(); ?></div>
) o8 p% ]) C/ _          </div>
! V: z1 S3 T& m* X) K      <?php endwhile;2 w2 C4 t+ X) @% S9 D
      wp_reset_postdata();; v+ _5 ^& c- N  I% o' _% X
   endif;
- P1 m) _6 {6 a1 U" I   ```
, x- e) [1 Y/ f+ s
5 H- c9 W+ w- a. ?3 x& l8 G* E   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-22 06:44 , Processed in 0.014776 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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