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

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

[复制链接]

343

主题

557

回帖

3637

积分

管理员

积分
3637
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:1 l5 b3 P& M7 A& @3 _8 q

( L/ {2 Y, o- w+ G  @1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
, p( w# |9 y9 w, `3 h; k1 p8 z
: d5 z1 q+ b( d) L- P' o1 X2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
6 c& j; @3 n7 P9 o0 D; P2 {
3 Q* Q: u; D: ]3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
: }: R/ K1 E3 ~* F/ Q& b
; p" M$ O( H- e( d0 B4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。3 j% }! @$ V5 i7 V3 T
. l' c+ p  C( K
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

343

主题

557

回帖

3637

积分

管理员

积分
3637
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
9 A" C  O8 c5 }# t3 T9 e- o+ W
& t9 V$ R. M" X如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
  R# k1 r- X" I9 h) ]% v$ p- y' y* V2 M% o. m
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:0 _2 L, k1 `; N. l$ N8 a: V0 G

$ N! e* V' [9 r- @( J   ```$ O3 I; M! I% N2 c0 e4 v' F
   add_menu_page(
1 h. I& N( ~, m1 m. n2 j( }( g& y       '全站公告',* Y: U0 ]! d% k& j& i
       '全站公告',
8 A+ T0 q. ?5 w6 `8 o# A! e, D       'manage_options', //需要的用户权限
* s: }  g  }' ]$ m+ t0 e4 g9 v       'site-wide-notice', //后台页面的 slug" P. _! B. \5 _4 z* P3 i5 c1 ]* ]
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
2 u* M  @1 E$ |( z% p% \4 s       'dashicons-megaphone', //用于显示在菜单中的图标" E/ f/ n5 u  X5 `7 a5 w
       30 //菜单项的位置4 a0 K# b) g8 }# |: g: _/ Y
   );0 q$ K6 }. ]3 Z% I7 y- _
   ```
" \9 ?8 t) X8 G" d: {7 ?4 t
7 V8 m% a% U( O+ r5 E' I! Z   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。8 h/ `& J. T* P; d

8 V+ A6 E/ d  ^  I7 [$ q1 j2 [2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
: b( h- W% s/ `5 F( `' e5 w8 F3 \6 y/ o& r  l- J
   ```
1 c8 B, Y0 Z! C- m$ W" Z) h/ Z2 q   function render_site_wide_notice_page() {: M  h6 E& k/ C: s2 z+ k( t
      // 渲染后台页面内容
0 o% D& t( Z# \% N9 s  |      echo '<div class="wrap"># ~" ~# t! J; n  W) P; `
          <h2>全站公告</h2>1 X& }' d/ ?; v
          <form method="post" action="">
4 m8 a$ {% H0 K              <label for="title">公告标题:</label>" M" s, U0 I8 H8 _$ `, B/ U9 q
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>- D+ j$ }9 p+ o4 f; q3 x
              <label for="content">公告内容:</label>! ^5 W$ |( L2 P) Q
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>8 O, x  a& I( u" w' c  L* a( M
              <input type="submit" name="submit" value="保存设置">
0 U) a% K2 y# m( D3 f7 F: w          </form>' u0 `7 P0 {3 z# [& |0 f+ e0 p
      </div>';
  w( Q  R8 i' O2 S3 K0 [+ b) }$ r( w5 @) N3 _4 o8 ~
      // 处理表单数据
1 z0 s- Y) O: K. u! `; i4 d! n      if (isset($_POST['submit'])) {
: p- i/ N0 }6 U6 Z2 ]3 x6 ?% Q. W          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
$ g- k1 D. A# P( o8 q          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
  _5 e1 Z+ Z4 @! N2 c& U8 q* w5 E      }
3 D( u( n8 ?: \% t7 z0 V   }/ [) p$ G% I$ _5 \5 z9 b" i
   ```
: R2 C' L+ \' e/ l! R4 S$ s  z% }/ a7 T# f4 n! a) ?# e' ^5 m+ e9 X% y
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
4 f- Y9 ]/ A. `' o! D
9 I: J! N# ?$ X3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:3 F# s6 J/ b6 `3 O9 W" \* Q* o9 A4 r
  ~. u1 {% t) c" G( `$ J. _3 V
   ```
% M0 |" F5 T( j2 x! H   <?php
$ k! p! |, F' K" w. w   $site_wide_notice_title = get_option('site_wide_notice_title');
& t, @+ @. \- y% Q3 a' e0 Q   $site_wide_notice_content = get_option('site_wide_notice_content');% U* q+ G3 v$ l% }. ?0 [
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {. d) p" S. x2 g& ^5 N- ~
       echo '<div class="site-wide-notice">';
" a+ D/ T1 G8 u* g0 J1 C- t       if (!empty($site_wide_notice_title)) {; ?/ ~2 S  d: ^2 S
           echo '<h3>'.$site_wide_notice_title.'</h3>';
2 e1 b2 @; o4 b2 k& a; x* Y       }% T9 x$ y" l4 _7 J: A
       if (!empty($site_wide_notice_content)) {# h. j" D) Z: ]
           echo '<p>'.$site_wide_notice_content.'</p>';3 L1 G2 v) T% R" g
       }
- a0 s% }* O1 V# N! W! j       echo '</div>';
6 }8 h( E2 _+ t/ p   }& |8 V; P; K" ]: v$ L5 [( w3 k
   ?>, n. s$ c( _7 N
   ```2 X5 W; z  O5 L9 H* y* f! S
3 e6 N, o8 i1 [6 j! e
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。( ]9 o& V( Y1 W6 V6 o
: d% J2 F) r* g
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

343

主题

557

回帖

3637

积分

管理员

积分
3637
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
% g& o' \/ Z0 \* w( x1 o( S2 T. a3 E$ {3 P
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
4 Y, M1 b( @" s0 Q( @! D
4 {  |1 h2 Z2 O: T2 h! z1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
! p$ W8 }5 v, A& f' o$ p  Z* }: `; R2 F) a% B) H; W
```0 S0 h5 d. A, z4 C, p, K
function create_custom_post_type() {
! P. Z$ @. s' a: i+ Q$ a    $args = array(
0 z7 M4 w: u9 C9 L" v        'labels' => array(
: ?5 Z& C6 E+ l& E. I( v1 [. e- F            'name' => '公告',3 R& D* Q+ G! M2 q
            'singular_name' => '公告'
9 [' G' A6 T- Z        ),
9 `* @! K9 f$ Y3 Z' N6 `        'public' => true," D. r& k* i7 e7 \: |* r3 X
        'has_archive' => true,
6 q$ L; M4 s7 X7 k  L0 _        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
) R9 H. |( o% d2 `/ z4 v        'taxonomies' => array('category', 'post_tag'),
& |3 ]- o1 z) M; L* \, A, z5 v        'menu_icon' => 'dashicons-megaphone',
" G3 j1 C" `9 h7 Q! h( O        'menu_position' => 5,' b9 F! X% \6 c1 C7 y2 b6 r" @
        'rewrite' => array('slug' => 'site-wide-notices')9 w+ H) ?$ Z6 {% S3 r6 U
    );9 G  j+ r8 \2 ]2 r# ]
    register_post_type('site-wide-notices', $args);
9 J; s9 R" o' Q9 Q7 ?/ V}
4 H) c# h0 A# V) z9 ^3 A; Badd_action('init', 'create_custom_post_type');
8 K9 g4 q* z6 M- E6 @# l- w```. r7 d9 n' }$ f$ |  R
8 G1 I0 Y" ]* A3 @1 U  Y
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
9 K" ]8 }" x/ o% f* }- D0 s6 Q, c) r' J1 J' [
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。* a/ ~2 T' A" a9 o

' y: `+ q: g3 b3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:. R+ r& s: o  N: H) t7 U/ L8 @
# S, D9 v" d4 [3 \1 ?
```
# X. u: g0 \; x9 _$args = array(, Y" L5 l+ m; L6 n# [; q
    'posts_per_page' => 3, // 显示的公告数量
# _2 U+ l3 H, q; s8 v& E4 B- G5 e8 L. a    'post_type' => 'site-wide-notices', // 公告文章类型
$ G( f/ B- B' ^% s: ]7 _( Q    'post_status' => 'publish', // 公告状态
1 K. V$ ~* X- N; J$ }    'order' => 'DESC' // 排序方式5 {/ b# v  X8 Y% t9 u: }7 k: R& |
);. P! M- ^, x& Z0 h
3 v2 M4 Y2 p  h3 k5 W0 B
$notices = new WP_Query($args);
% n& }* }! L. [. V: Uif ($notices->have_posts()) :3 j2 N: W9 ~9 B6 y* b8 B
    while ($notices->have_posts()) : $notices->the_post(); ?>$ n2 M3 j/ D: z  }1 c% F) ^
        <div class="notice">7 ~. c& m! `3 i: G. `
            <h3><?php the_title(); ?></h3>& L8 t( _$ Y3 i: y5 |4 @
            <div class="notice-content"><?php the_content(); ?></div>
, v  }' h% o$ d        </div>& ?7 m, b5 y+ p+ J9 l7 {
    <?php endwhile;
: y6 A! Z7 r) X5 [# l8 Relse :
/ U, {0 M1 s) T- h    echo "暂无公告";
+ }; c7 U- }5 qendif;
- s. u/ X7 ]1 K% V8 {% m: [/ Mwp_reset_query();  p( A+ e, O. L  a! V
```
0 m- Y/ t2 ~! J; i8 w  o
' d1 e  u) z: r, `这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。6 Y: c9 t0 q4 O0 j4 X; i% p
  A7 X& L; \4 V* o% B* T
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

343

主题

557

回帖

3637

积分

管理员

积分
3637
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
1 H0 P7 c+ K: x' I& Q1 R$ N
3 w) W% L5 B7 ^: Z3 t如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
, n4 X- p8 O) Z+ m: s  d6 F0 e, |% e4 M
以下是创建自定义插件的步骤:# z1 W8 E3 z( N

2 s  O: W; ]/ F8 |5 q# y1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:9 q9 O& E! V. |% s! l6 k6 j% ?

; o/ p$ D  k# P- h- L. k/ E  v/ r   ```
( A1 m$ ?) T# N5 Z1 P; b   <?php6 |. A! i6 M" H
   /*
& h3 G4 \9 @4 ]7 A   Plugin Name: Site Wide Notices Plugin" k+ v/ c+ ~& g! ?# W
   Description: Adds a new custom post type for site-wide notices." T  B5 M) @+ `
   Version: 1.0" S- h/ X$ H# k1 J
   Author: Your Name
' m- `% l: ]! s$ ]' a  j* F9 @4 n   Author URI: http://example.com
5 L) q8 W2 H, {& B' z   */0 z4 \8 \3 g9 f# X
* J1 y0 r5 @) t6 \+ t  y0 Z
   // Add plugin code here...6 _0 s1 T0 g. d3 n" H0 ^* g
   ```, x- s+ ]5 p1 X! I0 E
1 ?9 O7 I! _# @% v1 s
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
  Q. x8 {2 g8 K/ E0 D! G8 \. ?! E; Y
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:8 l$ i5 Z1 p. }( x
: B. V. i* F9 J) B
   ```
2 y7 I: J9 P6 A7 `   add_action('init', 'create_custom_post_type');
" M" {! N+ u8 L$ d4 T   function create_custom_post_type() {) N, n+ d3 d, `* t$ I6 B
      $labels = array(, G4 ~! ^& a9 ?" E6 P
          'name' => 'Site Wide Notices',. e% f. D* I/ _7 r
          'singular_name' => 'Site Wide Notice',5 b" x/ ^$ y& ?2 X: W% q# E
          'add_new' => 'Add New',+ W( R4 @7 Y8 {! G: _
          'add_new_item' => 'Add New Site Wide Notice',
: V# z% r* N: M  s- A6 l          'edit_item' => 'Edit Site Wide Notice',- k# x/ N  I# |( p- K" `. ~0 t
          'new_item' => 'New Site Wide Notice',
5 w: y( u$ X8 w* m# F1 F, J6 R          'view_item' => 'View Site Wide Notice',
# u1 \9 M* L" P+ F* k          'search_items' => 'Search Site Wide Notices',  Z- D' p6 j. u% x
          'not_found' => 'No site-wide notices found',3 ~8 v1 R" N/ Q8 e3 t* a0 R
          'not_found_in_trash' => 'No site-wide notices found in trash'. v/ N* d. i3 ^5 }
      );9 m/ Q0 o$ d. |$ g3 U2 E+ g4 e* i$ ?& N! A
( C( Z7 ]& ~, l( r; a
      $args = array(
  o  i3 i7 ~7 j8 u3 X          'labels' => $labels,& w/ ^; |5 M( Q* A* I0 K. I
          'public' => true,8 |0 k% x6 t* [$ I7 |
          'has_archive' => true,
9 C0 U) I: r/ [, Y0 j          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
  [' X, x( ~  ^% x: z2 s          'taxonomies' => array('category', 'post_tag'),
2 o" L) K0 u4 ~' p; R+ \          'menu_icon' => 'dashicons-megaphone',' _& S- |2 t) c
          'menu_position' => 5,
2 Z: [+ C8 B8 o- a4 o          'rewrite' => array('slug' => 'site-wide-notices'): v, h) q7 T2 Z0 Z/ `
      );
* G& q4 W4 Y- `# b' A3 `
, t3 M4 l! }* C8 n5 K& \$ m( w( H      register_post_type('site-wide-notices', $args);( t4 J7 N' c' b4 a  I: W
   }% N! ]' o/ v4 t3 Q" m5 R
   ```
3 d+ v+ n& D; w# M9 x
+ T0 M1 `# G+ Q  D   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。# i* C5 p3 C% B
$ G; X  R2 x! ?. `, m' r3 I2 z2 @
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:; f( m5 T' @; c! n4 L) P$ K
, _  G7 ~5 \8 [( P" v5 p
   ```
7 D8 v) }6 E6 s( h/ Y   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');2 ?# a* B9 K9 D1 D  v9 E/ C
   function add_site_wide_notices_boxes() {. V! k8 y( T  K! D, \/ x
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
& `+ K" Z& p: `" {/ L1 R0 O   }
+ d8 k. P# U) E; }( l& Q# T. ]' b7 K* D, h8 W( \/ j
   function notice_details_meta_box($post) {
& N4 M" }. O" J" O      wp_nonce_field(basename(__FILE__), 'notices_nonce');
9 f: N/ `7 o! @  E6 z      $notice_title = get_post_meta($post->ID, 'notice_title', true);8 S6 d( I- q! f- W/ P
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
. ]( K% d5 y- B% M      ?>. Y1 |5 T& [% v4 i' H* B/ |
      <p>! E8 L) x: {" l5 ]# C' T' n4 r
          <label for="notice-title">Notice Title</label><br>& U. N- i. p4 r0 R% @0 _# e
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
% r( k  O7 k7 ^" w      </p>0 y# s8 Z  b. @. ?9 }1 H
      <p>
8 }! ~8 W4 N3 T% w  c: z& ~          <label for="notice-content">Notice Content</label><br>9 r5 {2 b  y2 w1 f9 T  M+ ~1 S. J
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>' h2 ]3 B# r( R& s5 w& q0 t
      </p>
; j$ v, [" T3 m+ x+ q- H, T      <?php1 U) G6 F7 |+ C# Y# e) T( a
   }3 g5 h5 S) [. R3 ]

, A1 p2 v  M' L7 q: T% p   add_action('save_post', 'save_site_wide_notice_meta_box');% \/ M( G" A' l; Q, w0 e7 O
   function save_site_wide_notice_meta_box($post_id) {
* t/ M( C' e) S- V) q$ k      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
( ]0 `, t9 i$ ]. `         return;/ K$ ^& h6 f2 T
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
$ {2 \2 ]+ Q$ w4 B         return;* I* Z% d! @- F& D6 k- y+ |

$ w/ z, F. }' f7 ~5 k      if (isset($_POST['notice_title'])) {
, W: Y- A/ [. I6 J          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));# ^# h9 u9 N$ O4 a3 ~( J) h
      }0 s" [! Z6 P& [! z  d& q1 u( C
      if (isset($_POST['notice_content'])) {
2 h/ l+ Q( Q" ?8 _          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
8 o+ E: M+ z3 e      }
$ m7 i( P9 M# v   }
0 U( x! _+ M- T$ U  g' M$ N# N   ```; c/ i6 c5 E; B5 y; ?0 p  Z- j% M
, Q2 A0 y0 p, y+ k4 @, s
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。+ @. `3 D1 }$ E/ r& F0 {: K8 n

: ~  M+ t2 z( h- w2 v/ t8 N4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
9 \. N; k' o( s+ t4 Y
) ?- Q- Z/ e9 e   ```8 P0 ~* ~5 d- L: s6 U) z
   $args = array(. A* G1 ^2 }' Y+ H, e. ^/ g
      'post_type' => 'site-wide-notices',
7 Q6 H* U" T) u      'posts_per_page' => 3,
* q, ]4 Z# ?- n5 ~      'order' => 'DESC',
+ u9 v7 C" Z- J* q7 A1 t2 H7 C" x6 ]# z" ~      'orderby' => 'date'" M: H8 @- h( R  }7 C& o
   );
" t0 a( R& m) v0 Q! S9 S# E   $query = new WP_Query($args);
! |: D0 T3 E, D$ e   if ($query->have_posts()) :
; ^' N* Y" \8 H5 _. d# j5 o2 ~      while ($query->have_posts()) : $query->the_post(); ?>
- _% p. H& Q3 ]' ]) Q) B          <div class="notice">
0 r& ?8 E) p* M) I5 u              <h3><?php the_title(); ?></h3>
6 W7 A+ W$ G9 w0 L              <div class="notice-content"><?php the_content(); ?></div>$ \; v0 n& y4 _' `
          </div>
8 e4 E0 `" i* W1 }      <?php endwhile;3 c2 d- s4 P! w- i/ i: q' w
      wp_reset_postdata();, r/ p2 Z+ x/ Y, I
   endif;1 b/ [9 b  c8 j. V0 e- ^% f3 f) O3 e
   ```
2 @, V! {1 h  D, }+ h/ Q' S/ u- @. b/ Z; N2 ~* K8 M
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-3 01:03 , Processed in 0.022464 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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