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

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

[复制链接]

343

主题

556

回帖

3631

积分

管理员

积分
3631
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:) G( w; L4 l& |) }5 O
1 s$ Y3 ~( c4 a. P, W) y
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
' i$ o: D1 L1 x2 R+ Y, u  ~" `$ j1 e/ U' D& W: Z: A" d9 W
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。1 g4 ?, _; ~  g5 n

+ S% k! ^( D$ T( D+ w3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。2 m  D( K3 W! ^3 r% n0 |
  W. o9 L4 p. _+ Q: s% _- n
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。6 x1 s: @, w; C9 w% e
) X) F( C; b3 e. d
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

343

主题

556

回帖

3631

积分

管理员

积分
3631
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
+ a( U* n4 A- R) O. s( E' U+ h" o
, H- p- ^2 [5 m0 O4 U如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
7 E7 e6 @: Y8 a$ w8 e/ u# n
0 _- R) ^; }3 C+ {; b" d0 O: \1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:) ^) e, T! p( s1 r5 l" E5 _
! k7 |; a* h" J$ |$ u- {- _- E
   ```
& `1 j( \9 E; [0 |  [6 |1 I1 O1 J   add_menu_page(/ f" J  x- c5 `# z7 `1 \6 P/ T
       '全站公告',
; P2 M6 Q+ @# N( x% E& N       '全站公告',
" a* E, v- z9 B/ V* Y4 l       'manage_options', //需要的用户权限
3 W# x# ~8 h) g" O+ S; t       'site-wide-notice', //后台页面的 slug% ?% I8 R, y0 y' Z. ]' x: n
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数8 C4 t- K* Q3 ^3 a
       'dashicons-megaphone', //用于显示在菜单中的图标
3 h4 h' c+ z" r. \) j/ Y. a       30 //菜单项的位置
" Z, }8 c" N$ k+ P" @9 u   );2 i' C/ S4 n! N; c
   ```
  R* J/ ~. X9 ?/ Z" V6 N2 c
% G0 H& S& G1 O/ y- Z6 E1 g+ ~   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。) O5 X* k4 _; B  Q
' I6 Q; ^1 _% d2 J+ K
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
* i* t. U# O  d7 q# N! ^: r; H9 S4 P) D' g- D& k, K. S
   ```  |) O0 [; a6 n# g* L2 V% i+ r4 A
   function render_site_wide_notice_page() {9 |* L5 y! M" P; L
      // 渲染后台页面内容( b& s: Z- b' j! ^; f/ d
      echo '<div class="wrap">
5 X- W! `( z- \4 X1 Z7 x& a          <h2>全站公告</h2>% q; I0 i. L# Z7 g" A
          <form method="post" action="">
5 z" l! Z; C4 N              <label for="title">公告标题:</label>
1 c) a6 D, A2 i/ U! C) G0 Z              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
  ^! A; Q- {6 s( C+ {/ ~4 J% o9 A              <label for="content">公告内容:</label># R6 q* ?7 a) _% u
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>3 L# b8 D( Y5 _2 W% v! j2 O. p; Q
              <input type="submit" name="submit" value="保存设置">( j7 b- {' J- n( ?6 ^. f5 \
          </form>+ L* q& v5 a# q& v  z- y$ G
      </div>';
$ D, x) H% U1 Q) B) O: x% b8 }5 ]! O( M
      // 处理表单数据
6 z5 M( R, g' }6 K) s" g& u  }      if (isset($_POST['submit'])) {
' `- Q6 K% x: n0 t& E+ e0 P          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
8 I( f; J: K7 R2 B- t% o. |% e          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
5 K! o; n' l1 s- m# D      }) u2 I/ d6 \% ~) d5 C
   }6 A5 N1 f. h5 x
   ```
1 x$ m1 v: s" [- S$ {7 {  u+ E
$ P2 j4 ?2 A2 v0 q& S( _* F   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
2 {! {! b* R2 m, R' x6 t
4 Z( |6 x6 j8 s' r3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
( I/ N* e1 \. }, k3 c% p  {% t( @/ X; R
   ```
/ W- l+ g) z, B" s+ r% {* K7 m   <?php
2 c/ U) V- x4 Q0 [   $site_wide_notice_title = get_option('site_wide_notice_title');
# b: k0 Z, Z$ Q( F5 I   $site_wide_notice_content = get_option('site_wide_notice_content');
, g* W+ x5 c( d# V$ ^   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {& x; i1 E, u/ H% ]1 }
       echo '<div class="site-wide-notice">';. ~6 H! ^0 k* M9 C8 i
       if (!empty($site_wide_notice_title)) {
0 R( _$ H, H; [4 C6 V           echo '<h3>'.$site_wide_notice_title.'</h3>';% `& i0 ~* c. {( Q/ z* G
       }- l+ b2 s& P6 ~& I+ B
       if (!empty($site_wide_notice_content)) {
2 X' s) X0 Q6 |' j           echo '<p>'.$site_wide_notice_content.'</p>';% f4 ]. B2 n2 B! [
       }
( R) l/ S0 P+ r: K: }% }6 w       echo '</div>';3 w! ^/ \2 m+ k
   }& ~% O: x) N) f
   ?>
! q+ L* A9 S" ^8 ^% ?   ```
% H& O0 l/ u: \2 r' v
% H2 Z( }" N5 j5 L   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。; s3 R4 K4 f; g4 z+ Q: N
" s& p# C% y/ L1 W3 W
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

343

主题

556

回帖

3631

积分

管理员

积分
3631
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
/ v8 @& t0 `2 e8 A4 x. V
3 ^9 N0 H# g' W! P您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
% k( [& p' _% d* g( x- y8 x( s8 s2 y  X/ `8 ?+ r
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
4 U) \0 z" g, t# d! r; |
- p1 X! P9 v% C8 O* i, s```
! ?1 y! H3 q, N- s. [/ Xfunction create_custom_post_type() {
6 o9 A" b7 F+ s5 p7 ?5 Q4 M    $args = array(6 c5 v8 B6 H7 U# {
        'labels' => array(
9 P" p6 n7 U4 U; [; n$ a            'name' => '公告',! h9 O3 Q% g) E2 G$ A7 `
            'singular_name' => '公告'
' \' {* c7 \, J; s, n        ),0 {# ~. D8 j. @0 p1 z3 z0 }
        'public' => true,; e2 s0 a( }5 l. t) ~/ k! G6 l
        'has_archive' => true,% o% D, r" H% b" h" Y7 k
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
7 k$ P+ K0 K' t( f        'taxonomies' => array('category', 'post_tag'),
, }5 D6 R  Q$ |, z# Q5 V        'menu_icon' => 'dashicons-megaphone',& a2 G% Y& k4 P% K9 K7 ^
        'menu_position' => 5,
7 d$ t( a' K4 m5 B9 G        'rewrite' => array('slug' => 'site-wide-notices')
" a/ T- D* R7 I( k! v+ r) _    );
& G8 ]) k% U5 S4 `! J- a    register_post_type('site-wide-notices', $args);
9 D* i# L9 l) U# A}+ i- i# o# b9 P; w& x2 |" ~" {- H
add_action('init', 'create_custom_post_type');
  d7 @# C( s3 Q: C```
8 M4 S' Q* h; ^/ r+ T0 C
5 S+ @, C- H8 p9 h4 @7 P; {在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
4 H, s3 m  r; M, l$ q1 J2 L9 j# c
+ w9 H/ u$ r0 E2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
  ^, l& q: F; V) J
4 X. ?# H3 X3 O7 s! s- p2 Q5 s3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
' S: F+ @  G# O+ E6 T; V6 p; Z: _0 a" G5 V
```
& b/ F: M( p5 R, ?! F" J$args = array(' v3 Z2 H; H0 T8 O, Y( c2 L
    'posts_per_page' => 3, // 显示的公告数量
+ N; @0 v, W/ i' _2 r# {    'post_type' => 'site-wide-notices', // 公告文章类型2 e9 M4 D1 X4 S1 J* B7 g
    'post_status' => 'publish', // 公告状态: h. N; U7 T5 }7 l/ Q- D, \
    'order' => 'DESC' // 排序方式
5 k2 g" {8 ?5 X) @! Z);
- N9 q9 s- j4 U0 [5 ?3 F% d6 A+ o' U2 ?2 T6 A( W' s
$notices = new WP_Query($args);
' \9 D" f4 H5 l- ]2 c! Z/ }1 n( cif ($notices->have_posts()) :4 M  H0 P; o0 a. d+ O* i
    while ($notices->have_posts()) : $notices->the_post(); ?>
, F: h' s; M# j  D8 m" _- ]        <div class="notice">6 w% u. K0 R+ i& c7 v7 b7 A
            <h3><?php the_title(); ?></h3>
0 o, V7 B, g. i% b/ G, w; L5 n            <div class="notice-content"><?php the_content(); ?></div>
, d& z+ j( V% v" V( a7 Z2 @        </div>
) R6 a  c! v2 k0 j1 R2 e/ Y    <?php endwhile;  W$ D. h" `0 L% V* O
else :
: e  ~8 j' ~: M; U- R    echo "暂无公告";4 ~! z$ G# A" o& ~' R: C+ w, I; P
endif;
! n* t+ u2 z! ]0 D6 i* X- d! Fwp_reset_query();
6 j. f1 J9 U0 n0 ^+ V' p5 ^```1 X5 J; b% g1 T3 X6 u; D- _

  [* L! u9 q" Z2 k这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。! ?$ W) P, `. u3 I
& _8 n- a9 y* R, c2 i  g0 B+ ]
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

343

主题

556

回帖

3631

积分

管理员

积分
3631
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?% X( p1 K2 ?$ _3 j/ q! L$ r8 l
& Y* a4 N( y+ ]8 E; _; z4 V
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
8 i1 ]  B7 t( U9 R
' j$ d" f) R2 r以下是创建自定义插件的步骤:& b) s/ ]! {" ?3 ^6 L" M
9 r( m! }" R! r9 C
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
. A! g7 e( n2 ^* E8 o& w+ N1 O3 w4 ?1 S" C
   ```
# Y+ m. v' H: r( v% X$ t: W   <?php
6 f2 C4 N8 G8 x; p8 E+ a   /*
' m4 h3 a' X- n" p9 Q! b) x   Plugin Name: Site Wide Notices Plugin
* C4 V. f- k* ^) E; V- m! j+ U* r   Description: Adds a new custom post type for site-wide notices.
4 d" `* F9 y, Z9 P* _0 a# k   Version: 1.0
% V9 K! y9 O5 `8 c3 t   Author: Your Name" H# m+ p% I' A- V
   Author URI: http://example.com
' I7 G1 J' {3 u) g) K" Z   */7 O, M- l; s" q; O! i9 ?
2 K8 M0 {7 V8 I8 O" d4 [+ h
   // Add plugin code here...
2 ]# S0 [6 @7 ]( t, a   ```
0 ^% A  B$ T+ U- f2 \) N0 g
2 q+ [2 p& o1 l  ?2 u5 j   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。$ E! S) M+ ~( ^; ~

$ o4 G7 M( ~/ B5 P! g2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:. O, \, T. v2 k! j* B: b% m. z2 a

3 S7 f; n  t' Q+ l! s   ```
; k' a5 Y5 w& J0 x/ e' `   add_action('init', 'create_custom_post_type');$ g- D  R' Q1 B4 n9 @% _/ |
   function create_custom_post_type() {, O" y( B7 d2 x  x  T2 i' q1 T
      $labels = array(
) G; g' g* u4 l( v0 U          'name' => 'Site Wide Notices',
6 L: O7 ~# u% H" A          'singular_name' => 'Site Wide Notice',' T& \& x% B5 U' _# Q- y3 r
          'add_new' => 'Add New',5 N. ~) D! }; S6 O1 P
          'add_new_item' => 'Add New Site Wide Notice',
$ C+ e+ U: l6 H4 Q          'edit_item' => 'Edit Site Wide Notice',
7 X+ a' e" C2 d1 r          'new_item' => 'New Site Wide Notice',
. A% a2 l0 i( g5 J" G          'view_item' => 'View Site Wide Notice',' e8 ^: b- t+ o: V1 ]
          'search_items' => 'Search Site Wide Notices',' Z) Y+ ?( b# {4 V# u: {
          'not_found' => 'No site-wide notices found',9 O, c: C7 a0 s6 N8 ?
          'not_found_in_trash' => 'No site-wide notices found in trash'
( B5 J0 r0 e5 x! p! @% Y. b      );
& R7 _- `- ?3 ?: t$ ~
# k4 e+ L0 ], [$ O: I- W# e8 v: ?      $args = array(9 W: q% `: O& ^4 Q# m( a
          'labels' => $labels,
6 q) a# m/ i5 f& K6 X          'public' => true," d) C5 t' X2 q, p, L7 Z1 I( h
          'has_archive' => true,
6 L& D! A0 \0 L( D0 |$ t! J          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
) t0 m) y; q1 G          'taxonomies' => array('category', 'post_tag'),# m  e8 g8 m& [$ G$ w
          'menu_icon' => 'dashicons-megaphone',
8 g2 F0 c4 Q/ S& C/ H3 v# O2 Q          'menu_position' => 5,
3 m7 b6 Z8 \6 b/ }          'rewrite' => array('slug' => 'site-wide-notices')) e7 W: \0 G& Q! X0 n, \- ]+ p
      );5 w/ E- E/ P' F. n: J3 |: C

; ~2 b& ?; N8 Q& l4 v7 ]2 @      register_post_type('site-wide-notices', $args);
. g: y5 ^( m$ }  n4 ?+ z/ D   }
/ l1 f  L2 T  Z1 @9 [; S   ```) y- C  _0 T  F+ t2 ^/ C- o' C
/ g. O- J  X) {
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
/ m) G3 W( z+ G3 a$ M$ d1 I, Z: v5 [) w* E, [9 B
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:3 c5 d' p* v. B# d4 E9 q
/ F8 M+ L9 M, a
   ```) f1 j8 E$ {+ b: N! N
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');: I; U" d5 ^( K  }: F
   function add_site_wide_notices_boxes() {1 I6 u8 J) k8 G( i( k" P
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
% r- b  B* W" Q, D. t   }
% h1 b7 z2 N0 E& ]9 Q5 P, k7 Q& N- {" Z1 W2 |$ T
   function notice_details_meta_box($post) {# ^- h" @# `6 u. v9 y/ @( E2 R
      wp_nonce_field(basename(__FILE__), 'notices_nonce');; S: P0 l0 ?" W
      $notice_title = get_post_meta($post->ID, 'notice_title', true);( i! N2 Q1 A  S3 A4 i9 t* ]+ y. n
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
) C* ^. u  J8 Y      ?>7 K4 X2 `0 I% Z, J2 e0 q
      <p>. a+ A' r, h+ \. N4 j+ T  u
          <label for="notice-title">Notice Title</label><br>- H: _1 x+ |6 x( f3 |
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">6 q% T+ R( X2 k' y0 {
      </p>  J/ n! J1 d0 o
      <p>4 l, A. {5 Z& A2 v" ^
          <label for="notice-content">Notice Content</label><br>
: L" x7 S4 A. T; L- F5 _6 v          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>/ Y* j0 _$ Z; D7 X5 z
      </p>
4 W0 t  T! p" E      <?php2 w/ P* S7 m+ I4 W3 _& k
   }
5 z0 W+ T+ ^' G; ~) v4 b1 S2 f/ j( t% `2 b0 }
   add_action('save_post', 'save_site_wide_notice_meta_box');
: K+ e8 ^- g! Y& t. ^: A% C; N  R   function save_site_wide_notice_meta_box($post_id) {
' s- S: b! ?; |# x/ v/ n& ?( G# I      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
0 n! L4 @  N; e8 N" V         return;4 }/ F$ Z! C* v1 i/ I6 I
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)) N, d! K5 u* E2 ~% O+ i3 t
         return;5 U1 M8 J2 ~2 i$ c4 m

! m8 T! t2 o! n      if (isset($_POST['notice_title'])) {
3 x5 p3 y  \$ ^& R          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));1 `: g% c* x; r8 p' k
      }  B9 D3 V/ _9 o  ~) o
      if (isset($_POST['notice_content'])) {. w" O4 I8 h1 j- j& w' y! U8 C. c3 E
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));6 j' g# w5 l1 L: x
      }' `2 t* {9 [1 C' x) k8 L$ Q" y
   }5 A7 H% S+ J) B; f
   ```. }1 u) N2 V9 h8 n4 Z; I
" G9 k, K2 |4 e
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
, o) R2 q0 ?5 C7 D; L3 V7 N2 M) R$ P! W6 j5 s3 ~( K' G
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:( W+ Y9 o* t4 l5 `2 ~
0 x! p( W, \4 z0 f( ]
   ```
& R4 Z& _% H7 p9 \; ?% k8 k   $args = array(5 z7 V" D; _& }7 |% x4 w0 p
      'post_type' => 'site-wide-notices',
4 q* Z4 c# P4 f: }0 G      'posts_per_page' => 3,9 Z8 n$ [  z" X( o/ K6 X$ K
      'order' => 'DESC',
* B3 h( ?; G' L# ~4 D" O3 |      'orderby' => 'date'
1 n+ @& B- t- N6 r   );
. Z4 {! M% v3 F' u* t) P; f   $query = new WP_Query($args);
3 H- \$ n  K/ v6 [( k   if ($query->have_posts()) :
  e& m% @4 x' {# S1 `6 ~1 q      while ($query->have_posts()) : $query->the_post(); ?>
! x8 h; P9 h) C7 W6 p          <div class="notice">
( }& U1 y; Z" t- {% y              <h3><?php the_title(); ?></h3>. ?3 m0 a9 P) h: D
              <div class="notice-content"><?php the_content(); ?></div>
% A: c! V* ~# W) g; w! M1 j          </div>
2 h( K7 b- ^: X6 D% F# V      <?php endwhile;
+ L6 F7 @8 _' [. m      wp_reset_postdata();! D% @% \) i+ |$ U1 ?8 P
   endif;
+ n3 g( A' C' u) E% T9 G   ```
7 g7 p* J7 U" k" d; g
$ e* j( v1 v; Z- V$ Z! @   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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