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

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

[复制链接]

335

主题

520

回帖

3415

积分

管理员

积分
3415
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:" M& ?# b) x8 H' I3 c

* B, Q8 t2 }0 |+ ^1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
9 O$ E5 N. s3 f, p$ F6 ^+ H8 U: S7 r6 f/ C
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。* _* P& R& J* z/ R5 ?
1 Z6 C  h( W  Y) r  \" @5 n
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
4 ~8 P# U% w: ^. \
* \( A' d; S. j# z. v7 f6 V, ~( D4 m, k' [4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。4 ]0 h" V1 h' |# l: l' n/ k
5 Q% N; o, V( i4 g/ G6 f$ d' ?
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

335

主题

520

回帖

3415

积分

管理员

积分
3415
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?5 k8 }8 P; _- B- m# z7 v

( g- A0 {4 Z9 q+ S) W$ `如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:) M# |6 l2 e/ ?$ H+ e# c
7 J% u0 ]! _6 _. j& W6 P
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
, K: a9 X+ S2 \+ G; w; a  U# o: x
   ```+ V; K: }/ m- [$ V3 c2 g1 y' B6 M
   add_menu_page(
) s5 c' c# ?" `       '全站公告',0 I0 Y& {/ F0 I" j+ p9 r9 p
       '全站公告',: \! m  W# e- ~! B) e
       'manage_options', //需要的用户权限
8 T2 n; ?) g: q( X  Y; k6 F1 M5 ?4 n       'site-wide-notice', //后台页面的 slug3 z3 e5 O, w1 a1 p- L) Y9 r' B* E+ s
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
7 j5 Q1 a6 }& S* ]/ |       'dashicons-megaphone', //用于显示在菜单中的图标4 {  Y4 A7 ]. U0 U/ B
       30 //菜单项的位置2 @* V& I$ d& L  N" G1 d6 b; _# I# Q
   );) B( c+ n4 @1 O& e* A
   ```5 E. c* M8 f/ v9 e  \

# Y0 f6 O9 o' y5 j6 L& T   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
( a: ^  ~: V. f' p. m# c5 T8 n7 }: n8 v" ?9 e
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
( f. C* D5 o2 y- \  @2 ]2 t( O' O, W/ b& x2 {, D6 ~# Q8 a
   ```: X- K. ~5 C$ h  d0 X/ o$ j  X6 d
   function render_site_wide_notice_page() {7 i% [- I' k- ]- h
      // 渲染后台页面内容
8 \0 D5 m; e% ^8 u      echo '<div class="wrap">
4 Q. H) M: v; }' r: I& O5 s5 l          <h2>全站公告</h2>; c: U. f* e0 I7 f
          <form method="post" action="">
" u+ \' Y6 L! y* c% z- u              <label for="title">公告标题:</label>
+ m. ?9 ?, b& f              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
6 H$ N& v* V# P) U9 z$ [/ Q              <label for="content">公告内容:</label>7 B7 [& b9 O4 @
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
2 x% e5 a, E$ n" e8 W0 z5 R              <input type="submit" name="submit" value="保存设置">
: P6 u; H, c8 b: }$ H          </form>8 m, O" H6 {- a5 ]( x* m; v
      </div>';; r: T+ t- s  o' M# @1 a6 [

, n9 U. [9 ?  a# ~6 t' q; q      // 处理表单数据& R: \; e: t" k8 m( R
      if (isset($_POST['submit'])) {
% q0 w1 q$ m- O+ X* W& J" Z          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));7 b' p4 e4 v  x0 W3 \2 A
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
$ U+ A% t' {2 [1 u& [8 ]      }
# |( P3 O" l; h4 ^   }
; J) s3 S7 ?/ `, ]   ```
! j8 z  J6 S# k: X' v& b. t- v2 i( U0 z; k8 P2 `
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。- Z. K1 y3 r- D
6 U7 J9 ?4 c; r. K
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
+ a, u' a! t% `
  D& w% y( N1 S- w* O   ```# ?- O% ]1 ^) X0 [: h9 F/ |: V
   <?php
8 r4 I7 ^& f' U5 a% s! [   $site_wide_notice_title = get_option('site_wide_notice_title');8 m4 a$ R% P; h
   $site_wide_notice_content = get_option('site_wide_notice_content');3 i: L2 [5 |# E( d2 [4 t& z" u
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {" K) [, C6 o( P1 Y0 w8 f
       echo '<div class="site-wide-notice">';( g4 A+ k2 g; n* {! v- F9 Z$ b
       if (!empty($site_wide_notice_title)) {' C' [" S. l0 Q5 B
           echo '<h3>'.$site_wide_notice_title.'</h3>';
# H  O, Y! U' U6 k       }
/ A8 y/ c7 c: }9 U: G  f( ~       if (!empty($site_wide_notice_content)) {, }& @2 J1 r/ H6 A1 D. r4 E
           echo '<p>'.$site_wide_notice_content.'</p>';; U- z& X, @1 ^2 q4 |: Y1 J
       }
' T& O, b3 H- {' [4 e       echo '</div>';( L1 Y+ Z' c4 ^9 o) H9 ~8 }  q
   }
: k( `, |& t. D& n& r   ?>
; o/ V7 a$ u5 F0 }   ```
3 }7 q7 Y3 ]0 D
' M5 K' P: q, a" h3 ~$ R7 [   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
- |$ q3 g  m  u) w2 z- L! P. f! f$ B  l: ]' L; z1 P2 f$ N2 U) p% y
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

335

主题

520

回帖

3415

积分

管理员

积分
3415
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
: \1 [$ a6 q  a2 A& |, j& h. U7 l% Z3 [% P8 y/ X
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
6 j- Z' s. V* k1 e) Z  ^" l/ F3 w, r0 o; v( D' N3 ?
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
) J% h% Y. s( s
' m/ T7 V" u; d1 w```5 v" Z/ J% x: T" E; A
function create_custom_post_type() {
+ S: z0 k4 D3 {    $args = array(8 J; ]' k: X6 \) J; @
        'labels' => array(5 ]) G! [( w- b. \
            'name' => '公告',) T5 u, X# u$ U6 a! s
            'singular_name' => '公告'" x1 s; Z, I' v' m: a4 t
        ),
" W: p9 b& [; K6 Q+ X        'public' => true,
7 H: u" l9 J% t. A. C        'has_archive' => true,* b0 f3 Q0 ?. ^% S" g1 j
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),& G/ [. f: o+ G" |
        'taxonomies' => array('category', 'post_tag'),8 X; q" J. h1 @+ f5 K# G
        'menu_icon' => 'dashicons-megaphone',  a7 F4 `. q0 r( P
        'menu_position' => 5,
* i3 K' n" w) p6 [& d        'rewrite' => array('slug' => 'site-wide-notices')
+ Z# `8 O, W: Q0 y  k$ \8 R6 m0 o    );
9 V' b! }5 g7 \8 C! k) [6 d$ B    register_post_type('site-wide-notices', $args);
6 a* i) j/ e4 K* C8 i/ d}8 a3 N$ b! S% M% `
add_action('init', 'create_custom_post_type');
1 @( _3 K' A, A4 q$ ]' l  Q```% r9 @4 P8 w8 ^5 X

  E( ^8 x4 l8 y* V/ D' x9 S9 r在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。1 d! E% O' x9 ^* X$ L8 W
& `8 H  i' y% h/ I# H4 X
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
* E9 c! E1 {  r- |4 e  |+ g* n0 L! |( v
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
0 j+ ?# G* X  `" O8 N+ J
/ B+ c2 w# w$ H8 F3 e" s1 L, g% W```4 h5 W, Y2 x8 s5 J6 L! X4 b; P
$args = array(
) ?5 X' g1 S+ h, g    'posts_per_page' => 3, // 显示的公告数量8 x* K+ B; h' Z7 }7 s4 s
    'post_type' => 'site-wide-notices', // 公告文章类型9 ^; C! L) p* S% |8 T5 O
    'post_status' => 'publish', // 公告状态2 h, _( A  @" u, a: N+ H$ H. K
    'order' => 'DESC' // 排序方式( Y! l2 I6 y2 i6 k$ V9 \$ @$ L* n% _
);' L$ o$ m$ M% t& b: v1 }: Y
, Y, R5 C, V7 D+ _3 j: E, z! x
$notices = new WP_Query($args);/ Z& c3 y6 X: e6 v& n8 ?
if ($notices->have_posts()) :
6 G5 h* f; L. N# x6 v  S3 I$ E4 N    while ($notices->have_posts()) : $notices->the_post(); ?>
2 _0 i) Z8 |( ?! a/ }        <div class="notice">
4 H& i* M5 R9 u# c. k5 f. E5 K            <h3><?php the_title(); ?></h3>$ g9 m2 y; Z9 P* q" t. E4 M, E3 y
            <div class="notice-content"><?php the_content(); ?></div>
0 c& j9 ?; T. M6 T, c- ^        </div>
$ [' B6 ]  t5 `+ `3 n  p    <?php endwhile;7 V5 v) W6 W  {3 l, \, X, Z
else :: c- _3 z( X2 P9 C# [
    echo "暂无公告";
$ U6 Y3 z* d5 W  X' I$ M. L/ Cendif;6 A0 l& c: Q, v& p& B
wp_reset_query();# t5 W0 u: z( z2 z1 G( s
```
7 d# h) W, e' O4 U$ D- D
0 S7 k# q7 g" P3 `* C* t这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
* \9 Y7 ^& L" F+ S+ U/ }$ d' N2 D! w8 T' F" E) Q; }
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

335

主题

520

回帖

3415

积分

管理员

积分
3415
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
2 l6 P/ k9 G; x# H, U: C
  p1 s; U  d; b6 k: {0 D4 n' V如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。% ~& a: B0 @5 ~$ [6 _8 \

) i* V. T5 y6 o" i8 r以下是创建自定义插件的步骤:
; r; x3 {, w* J8 v
* N0 k$ W9 d' L) a9 X$ }1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:  }  o5 C) Z& P/ P/ `' o

# Q0 I( _: L% E( G4 U6 F9 b   ```$ u& c* ^+ p" K3 o
   <?php
9 b/ y' m2 S/ z7 p   /*1 U3 L1 N( J2 J; u3 T
   Plugin Name: Site Wide Notices Plugin4 z; I8 s( G& m" z
   Description: Adds a new custom post type for site-wide notices.: q+ V% U) B# R& Q1 I# Y2 R
   Version: 1.0
1 c% J8 ]+ ]* P0 a2 B3 t. X   Author: Your Name% y3 k7 \, M( J" l- b- }
   Author URI: http://example.com
9 E3 u8 q' K( F2 k: J8 ^3 q   */' d: ^8 w6 d! L& o" z0 q

8 i9 J6 G3 c; t- ]   // Add plugin code here...
' c$ F9 s- e  H   ```
/ Z; U2 v8 ?6 o
7 D3 E4 l- f, m, z! [0 ~! Z4 k   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
7 Z1 X0 C! H: S1 l. {- W; `# `) [0 d" H% @  |
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
+ E% N# i2 W, ~+ Y' e! m' R2 z% z# _. `6 g
   ```; d7 l" [7 k4 `' n3 H4 Q
   add_action('init', 'create_custom_post_type');* {4 e, m/ _* Z+ T3 T/ D% E4 M
   function create_custom_post_type() {1 K, u% V; o) [) R8 s5 a9 I7 n& w
      $labels = array(2 r# g# e+ R; Q& H6 V8 E  Q
          'name' => 'Site Wide Notices',: z7 G% t6 y4 n6 ~4 p, z$ v; |
          'singular_name' => 'Site Wide Notice',
* b! F+ b* E2 X          'add_new' => 'Add New',  N% {( G5 c8 W& t. J+ {- F
          'add_new_item' => 'Add New Site Wide Notice',
1 s9 B& f2 \9 j4 T) F0 `          'edit_item' => 'Edit Site Wide Notice',
. e( X! J8 t6 b2 A          'new_item' => 'New Site Wide Notice',
( a* g& x' E5 O4 ]          'view_item' => 'View Site Wide Notice',
; e! n6 q7 R, y- ?1 `' I5 Q          'search_items' => 'Search Site Wide Notices',6 ~# a8 r0 Y0 S
          'not_found' => 'No site-wide notices found',+ p$ Z- J% b8 z  _, H; G
          'not_found_in_trash' => 'No site-wide notices found in trash'  g1 Y1 G% k: D3 \9 A. x0 `
      );2 M& `8 y& U7 p/ ~. Q' l  c

7 E: y; U9 n- [3 B3 v" ]      $args = array(
9 i- D) R9 ]8 m; z          'labels' => $labels,7 E/ ]4 I+ l( }8 d; O' B5 M: j5 x
          'public' => true,, a  F4 `1 o. N3 `- S0 D3 f* u
          'has_archive' => true,) Y: r. w# ?! {
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),' N- h7 T+ E+ ?1 z% I2 d
          'taxonomies' => array('category', 'post_tag'),
& f) t$ \  |  J' {2 E3 e, b6 M; x) U          'menu_icon' => 'dashicons-megaphone',
8 `7 x+ b; B5 H1 O/ R+ g- w          'menu_position' => 5,
  G+ k: I* I1 \5 j          'rewrite' => array('slug' => 'site-wide-notices')$ w/ D: h/ l2 u
      );1 S9 C. x; }2 B0 d
' k) e- j* J; ?  j
      register_post_type('site-wide-notices', $args);/ @# n& ~7 S- V* O7 r
   }
$ \1 {8 u& [6 @8 w   ```
3 Q/ A% M1 r3 d( o& F7 O; Z: w) I$ E6 S5 l9 t. ~
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。) t+ m6 D2 J* z2 }* T
6 j6 N) k- N9 u1 h8 M
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:/ Z6 A$ t' `0 p  S! K5 S
, W: L, c, x: C$ L: F
   ```% d6 Q  Z( {# T
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');! a3 W4 ]9 i" X/ [* w% ]4 l
   function add_site_wide_notices_boxes() {/ }1 A: j" e/ g$ [6 y! B  Z
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');4 A1 m3 c: v1 t! H1 {3 |0 t
   }7 T* \( R0 L" ]* n4 }
# b% o0 s  v+ Y) d1 @; Z4 f
   function notice_details_meta_box($post) {
4 J+ i# I, T# \( L+ X2 U      wp_nonce_field(basename(__FILE__), 'notices_nonce');; h5 o9 N. _" q' G3 l
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
' c$ ^( ?" |7 M8 k      $notice_content = get_post_meta($post->ID, 'notice_content', true);% I) ]+ C6 G; C' m$ y/ m
      ?>
1 K" x# i6 m' r      <p>
  K1 B/ w. x% K8 N9 I          <label for="notice-title">Notice Title</label><br>
+ M8 [7 e$ u  @/ H3 k          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">- P  i( l7 n. ^& p1 z
      </p>- O  }, R2 [$ n/ B) s
      <p>8 u: [& {; A" V* f. W/ J
          <label for="notice-content">Notice Content</label><br>) Y" z" D' Y5 l9 f. \& W
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>6 W! s: X# D  k# K8 n! f: @
      </p>) `) a6 y; M/ Q0 [1 h
      <?php
4 [9 n1 [5 ?+ [; A3 w   }2 ^5 t8 h2 W- z" u! N

: e9 }6 q4 U) [9 E+ K. C   add_action('save_post', 'save_site_wide_notice_meta_box');
! s' [* y! I# K: ]& Y' X7 y& D* T   function save_site_wide_notice_meta_box($post_id) {
) s! u* q5 Y, g- E" w' z" [      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
/ A; W1 m" G! C6 U" D6 S         return;
1 M& `- h  ^& n1 }) T8 t      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)& V$ m$ n" R6 u4 p' I' Z+ @# E
         return;' z* @2 |9 r' a" r' o1 m

" w' u# B& n; R8 _: R+ g" R      if (isset($_POST['notice_title'])) {) Y  s6 o: }" d
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));& [7 u5 ]/ J' |6 Q
      }1 ^8 n3 k+ h4 o% a; }
      if (isset($_POST['notice_content'])) {$ D  h, k6 P) @7 V& F1 G3 K
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));+ z0 S5 K* }& }# A$ C
      }
3 N) \  {2 Z" f- b   }
: |3 R* I5 D0 V4 w# H3 ?8 `3 d   ```; J+ u. A$ O/ B2 A8 M

3 W8 j/ c$ Y1 Q& ~3 n; c" D   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
; ]- U% v# m+ x8 J  X. O8 p" o
  \/ M( w' o0 G9 `& u* b3 U4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:# q! y4 K$ o+ M4 j! I

3 b7 c$ [! ^0 T4 Y4 h   ```
. y7 o" W+ S; d3 Y2 G( b  V   $args = array(
0 Z9 M8 h& v5 s  o* Y      'post_type' => 'site-wide-notices',/ b2 f+ S+ |! d4 ^
      'posts_per_page' => 3,
" T& Y* O  x- c      'order' => 'DESC',3 j8 i2 o! k0 J$ P6 J' Q$ U
      'orderby' => 'date'
6 t9 u6 v4 P3 j- T) E   );3 s3 d5 L% j8 |) |$ B) ?: X; r/ ^
   $query = new WP_Query($args);
" R: @2 X9 b4 h$ L   if ($query->have_posts()) :; @, b  @5 c9 i7 N4 j3 L
      while ($query->have_posts()) : $query->the_post(); ?>
# Y6 {: Q2 g! {/ w9 C8 O          <div class="notice">! L8 Y7 J+ j8 X. }" _0 A' N
              <h3><?php the_title(); ?></h3>  J  ^' ~  _1 J$ m! i) P+ ]  S
              <div class="notice-content"><?php the_content(); ?></div>
7 i0 |. ~9 I5 r% m- Q          </div>
" p& g. t, T- L# ^/ X      <?php endwhile;
; r: v# B( z3 O/ r1 a' f2 e      wp_reset_postdata();' Y3 a0 x$ _6 C9 ^( F
   endif;% f0 k% G2 g% Z2 {% a
   ```1 F. l) [$ E; o, w% r7 |% W& {
& v; r9 S" {, ]6 J+ E1 w6 C4 M+ O
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-8 19:29 , Processed in 0.077431 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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