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

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

[复制链接]

340

主题

522

回帖

3494

积分

管理员

积分
3494
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:4 y: h9 C8 n& M* l0 Z+ ~, z$ m
9 Q4 z* g. p! ~& x9 F
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。0 m6 W" u9 o8 G9 M! [( b

# P$ b( \" o6 A, p! D7 V5 N2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
( E  ^5 S' f- c6 |  _7 L
" x$ d( o( ]- e/ w3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。/ C7 h" [8 f' G' `3 v, u' V+ |" g

6 Y" r3 y: I7 J6 @9 x8 W4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
3 g# x# b# X% R" f* @- h& D, |" e5 t( @, a6 [) F" P; }" a
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

340

主题

522

回帖

3494

积分

管理员

积分
3494
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?/ d2 `+ X0 K: F
/ o: k2 h* {$ N: |: M
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
1 l; G" E* N& Q) p( M" f
/ b/ l7 {& [& N4 l; Y) v+ R1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
7 `0 V7 _/ A8 o) b! C2 X& V% N7 r  V: e6 J& N& L
   ```
* v8 i0 m/ H8 V! B' Q/ h   add_menu_page(9 x; u) J8 f- p5 m: k4 j
       '全站公告',
, {* L2 L& g; o# w  D0 R       '全站公告',8 Z7 k/ [3 [; ?4 Q7 C+ ~
       'manage_options', //需要的用户权限2 b; m5 n% `" i6 [; [0 `7 w7 {$ e
       'site-wide-notice', //后台页面的 slug
; h3 t. H$ x! v" E9 P* u       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
0 R' d8 a1 j7 ~& l: M& Z( c4 A       'dashicons-megaphone', //用于显示在菜单中的图标
' V0 n+ p% s8 y6 r+ U6 O1 [2 l       30 //菜单项的位置( p4 |) B4 L: p
   );% m% s4 ~) C/ e0 j/ A1 _+ q( k8 Y
   ```
8 X" m- X6 \) {( y2 B
8 g4 Q( S" ?- n  v. V- Q   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。: n' K' K" {; e' o

2 t) U* \$ T3 F. x2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:; k: Z* k- ?! E, s1 w/ R: z. z
2 q; F! L8 ^* c2 m/ \3 s9 F
   ```: {/ R9 e2 l1 S! I. H& U
   function render_site_wide_notice_page() {
5 d$ Q" g3 _6 i$ ?* m4 Y      // 渲染后台页面内容
% k7 z4 i, c$ M  k3 Y9 ]! H( N9 j: L      echo '<div class="wrap">% W0 C+ |, C6 E; G: R
          <h2>全站公告</h2>7 w& u6 ?* O" N6 x+ _+ ?5 ?1 S& z
          <form method="post" action="">( m) K) C" u* K# Y' L" O& \+ {
              <label for="title">公告标题:</label>
) u2 t& G; S# W: Q9 |              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
9 d4 \4 P, G9 M5 H" g              <label for="content">公告内容:</label>. \1 I$ X% ^. {
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
% Y& M# w: O! M: C1 I/ ^. w              <input type="submit" name="submit" value="保存设置">
; j4 ~4 a3 @9 O( J0 u          </form># i; _0 K. x: t7 z8 o! L& v- ]
      </div>';2 K3 i& N  J. k; m- K8 M; L

6 p& }" e6 Z5 l3 q8 D( @8 b5 I2 a2 H. k      // 处理表单数据
+ N; r1 E6 C% S3 F9 |5 V      if (isset($_POST['submit'])) {
( Q% j( {+ I0 ^+ A  p- }          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));9 A5 k2 H8 M. f, T
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
; I) z6 V: O! f: ^      }
. B8 J. N- a7 R! A4 e" V$ T   }) t$ X5 w* C% A2 q) M, t& s
   ```
0 ]8 ~  a0 D, K! y3 n. r9 M; u
% ]- d: k& a( {' n* v   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
% ]; N' q; m7 G/ n. U8 ~+ D* `' E( Q* |. P1 e2 _
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:  O1 y3 P, `, ^1 T& t. W! c" |, F
2 d( s) X$ Y/ x8 |' e
   ```% a, {2 K7 h( ?! o- M
   <?php! I) |4 P( [4 e" ]& ^- T
   $site_wide_notice_title = get_option('site_wide_notice_title');
- V8 i, P; O' J- r. w5 U   $site_wide_notice_content = get_option('site_wide_notice_content');
& A2 v& L$ v. d* S9 m   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {) i( z5 x4 Z! D; ~7 e
       echo '<div class="site-wide-notice">';
  u+ b2 f- P4 _7 \$ ~. r1 Y       if (!empty($site_wide_notice_title)) {
6 s3 z( o; {9 I# d6 ^; Q% x           echo '<h3>'.$site_wide_notice_title.'</h3>';
- y* Z  R; G! r: v9 [! w5 F" d( o       }% y) ]  P: L4 y! S7 P3 e- p
       if (!empty($site_wide_notice_content)) {* S( `: X" t) d$ ?$ C, `6 H# w) g  s
           echo '<p>'.$site_wide_notice_content.'</p>';! P& @: t( O* t% g- L# n( ?+ L
       }+ A/ N/ F, `4 S$ i/ T4 l
       echo '</div>';
% U; t: B4 [' _  _/ N7 U9 t   }
$ g3 K: R$ ]/ _8 t# R+ s   ?>
* H' q8 B" T" X' W" F$ C, y   ```
, u. |8 F9 _, h$ i1 A
* {4 D5 K$ Z3 B5 H+ K' ?   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。: G' z1 g; b$ P, g! n9 g: Q

. `$ F/ s8 y1 f5 R请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

340

主题

522

回帖

3494

积分

管理员

积分
3494
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?4 G; q& |, ]3 l6 w  C
8 _. E( n8 w2 }8 I- a4 \
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
5 Z2 j: ^3 i2 B2 P& g( ?$ S) t' E/ }
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
; }& ?4 R5 c0 |5 a- s0 e% u& d9 R, g$ u
```
1 R! }, X7 J( O& m" T4 Xfunction create_custom_post_type() {4 t, W# ?/ w0 t# i! B3 Y
    $args = array(
$ x( v1 B6 |$ ~& T) P+ V2 m& i        'labels' => array(
; Q0 r8 a& f* i0 E, g            'name' => '公告',( ^: W1 L" z9 J9 q- u
            'singular_name' => '公告'
. r1 ^: H0 U) v        ),
/ X6 v0 S( y) ?& }9 o% L, I        'public' => true,5 _1 L9 X; |  M+ ?
        'has_archive' => true,  I# r- E6 A5 Z* i7 S) I4 D
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),# I% {5 z* U; h7 w. |
        'taxonomies' => array('category', 'post_tag'),
- z5 b  {3 L$ S. a- x8 E        'menu_icon' => 'dashicons-megaphone',% k1 M* P  t* f  V
        'menu_position' => 5,- i& B1 `- s! O0 R, C
        'rewrite' => array('slug' => 'site-wide-notices')! F' r  A" B" b# x3 y" u: g
    );
& b! M5 U0 y' E2 l& _+ ^6 w7 T    register_post_type('site-wide-notices', $args);
3 f3 k& R/ s' U' z; i5 d- _2 `}
4 @4 Z% U1 l7 W7 y  ]7 Hadd_action('init', 'create_custom_post_type');; g1 |1 p5 p( t8 Q, Z4 [1 m
```* j! N6 l. u- s' O

3 c$ X. f: a, Y' d2 t% U* n在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
4 F# l  M% c; n) g% S% _. E3 A8 N( k8 `
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
  V$ s+ J' h2 H; s. |1 [: L" Z3 e: ~4 {' P( _
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
" |, [" u. Y! M2 r$ [$ Q2 x( G( T
' @  i. j2 b1 |$ L. S) D: ]( M```- t2 v6 V5 `* K: }
$args = array(! \! S& B' i2 m
    'posts_per_page' => 3, // 显示的公告数量
% E8 r' c5 Z8 H9 V7 @    'post_type' => 'site-wide-notices', // 公告文章类型
# `9 o- ^+ D! ]+ ^2 O8 G" j    'post_status' => 'publish', // 公告状态0 y9 K1 C* }4 V+ p6 m
    'order' => 'DESC' // 排序方式
& F  i! R$ {+ l; |* y2 L( B);
: ~7 }7 E; u1 i: ?9 T: P7 c, L& @! {* f% _: M& q
$notices = new WP_Query($args);
- ]- k1 }0 N5 Tif ($notices->have_posts()) :
2 V8 k- a' n+ E! y    while ($notices->have_posts()) : $notices->the_post(); ?>7 i9 M2 W( Q7 ~( T7 t0 N; i
        <div class="notice">& ]- ?5 {, k( E
            <h3><?php the_title(); ?></h3>
) \; ]) l1 m! v0 O            <div class="notice-content"><?php the_content(); ?></div>' f  X) t* o6 L6 U: a2 R" ~4 H
        </div>0 o9 B* V5 _& V, x; F
    <?php endwhile;
: b* P. |% T8 x" Z! y) R% K5 W) telse :
, F0 w, w9 ]$ G. @% p    echo "暂无公告";
3 L# G  O* {/ ]& l/ \. Oendif;) G9 z( o7 }. u4 S- H3 W, n
wp_reset_query();4 a9 f) l7 I/ `2 ?0 a
```
  w+ N! j; k( g5 K- N- ^" s' i9 L* V  Q& z! a4 I' f
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。1 c. c: r  ^- H5 e/ ]9 r8 ?# C

0 p% l$ J0 B% k, w/ O2 D以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

340

主题

522

回帖

3494

积分

管理员

积分
3494
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
3 D0 a  |, c( B/ J  c  w( ?) t8 W) n8 L( |8 l
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
2 y, a* k  I: w0 ?7 R- z3 l5 {! S6 C# r* q
以下是创建自定义插件的步骤:
; O# V- H9 a$ R0 S  s0 b. [. D+ K7 `( S5 D1 l
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:2 \. a" H1 F, }' K7 M: R

$ n3 ]# N* x* t) P! a( W4 }, Z   ```
' R+ F* n; b4 m   <?php
3 A+ W; |# S# ?: y' ]   /*- h& k) w4 J& A9 C& W! `
   Plugin Name: Site Wide Notices Plugin
" `5 m) T" }9 v5 v   Description: Adds a new custom post type for site-wide notices.
* r  l& H' N1 p+ V( B. o   Version: 1.0
8 d4 Z" R9 t* H& r; v2 V+ W" r   Author: Your Name
: W$ B* n! E2 _/ s( Y& k" a4 G$ g   Author URI: http://example.com" G+ b" s5 H' G; L& {
   */% U6 |' P* d! H# K, B. V
1 w* f5 f7 K: y! C1 B; }. E
   // Add plugin code here...6 z# a! t/ @6 }0 B
   ```7 s3 q% \1 T$ x! }. H

" G* j  X7 x9 ^' K  ~) i   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
9 `% k% G2 p2 f0 Y% b
$ l5 y' t) s, J) ~2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
  S1 ]+ W' I" K6 a$ g) I. c$ Q7 `  m' k/ ~7 j! n) p) C
   ```/ _& ~5 Q- Z+ M- T( h
   add_action('init', 'create_custom_post_type');8 x0 n7 q4 a& A* p! y/ d. R
   function create_custom_post_type() {
! F; u* }" c/ y% ]8 Q3 R, L' @7 I, I      $labels = array(
% r& V8 ^! _; U9 }          'name' => 'Site Wide Notices',
  \8 I8 N; {$ ]8 j! b) ]6 Y! e          'singular_name' => 'Site Wide Notice',
. E# E/ p0 f2 [& f; m# i$ a6 v          'add_new' => 'Add New',
. e+ q$ b* r) s, i          'add_new_item' => 'Add New Site Wide Notice',! b* o! M7 a& e
          'edit_item' => 'Edit Site Wide Notice',6 v6 g5 c( b5 g2 k* i$ p8 b+ I
          'new_item' => 'New Site Wide Notice',2 x2 ^1 B. j* [$ @: K- D* [
          'view_item' => 'View Site Wide Notice',
/ D; h0 s9 n  h8 U, i          'search_items' => 'Search Site Wide Notices',4 \% D* a/ a5 n% ~
          'not_found' => 'No site-wide notices found',  v; s! C  L, u+ g
          'not_found_in_trash' => 'No site-wide notices found in trash'
# B/ J9 D+ d7 J$ @  _: O  s      );- w, {" z& F3 Q. ?: d5 e( g
( H* J, b/ U. i
      $args = array(
/ d' s7 V* u0 j/ u3 L( H          'labels' => $labels,
% N" Q6 i" z: ]5 |) X          'public' => true,
3 h' b' A. L& L          'has_archive' => true,
2 F7 _$ ]3 E; {; \/ j          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
. ~$ M) N. A$ W0 S  m8 |# F  E6 f7 P  z          'taxonomies' => array('category', 'post_tag'),
) x& v) P4 a, w+ y( }2 g* w8 y          'menu_icon' => 'dashicons-megaphone',
6 O: }& U) O* B3 m9 t) n          'menu_position' => 5,
+ v2 Q) L6 u8 f% A1 m8 q          'rewrite' => array('slug' => 'site-wide-notices'); U2 }5 E" U: K/ I; o
      );
6 ~. @  y# c6 S1 c9 K  f" R# T$ a1 V8 ?6 A; d% m
      register_post_type('site-wide-notices', $args);* g3 E: \1 ]+ h0 r1 {
   }
! H! W2 t2 L6 H% c1 P5 r9 n" y5 q   ```
3 R2 f# i+ `- f1 G
) X# r& P* S) m9 f1 |! P   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。* [# `9 V, \" K7 J& ]- s, F

  I5 n9 E  ]2 w( k' ]& z3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
0 o3 g/ |$ j5 q' D; r
) |4 G2 ?# c: M( D   ```5 [5 w6 c: o9 n2 [3 X
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');+ A9 Q- W7 R9 u/ _
   function add_site_wide_notices_boxes() {
8 c5 D/ e8 f, z8 a# [+ i3 L      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
* x" F- P8 U' |+ w' A/ F+ ?   }
9 P( Y. l/ r& E0 q2 U1 S9 O8 }$ K) a: S
   function notice_details_meta_box($post) {
( W/ j  i$ E# }8 v! `2 u) ~      wp_nonce_field(basename(__FILE__), 'notices_nonce');
! e9 m! f& |/ _! x! i4 K+ {      $notice_title = get_post_meta($post->ID, 'notice_title', true);
* v2 z1 H, ^" w% [) N# s      $notice_content = get_post_meta($post->ID, 'notice_content', true);
: ]% _- J  y% t' p% W0 ]! w+ P1 k      ?>
$ N' J1 y9 ^2 j) J# M      <p>% y9 c5 @! L4 x3 y+ |
          <label for="notice-title">Notice Title</label><br>7 a+ I. V  _' o/ s1 V
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
$ y7 W7 }. i, F" T      </p>/ o0 v" @, Y: }
      <p>7 s% @$ Y  M6 [5 M
          <label for="notice-content">Notice Content</label><br>
/ S1 n2 g) m6 g* N) g% S( r& @/ a          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>1 A, }" n, o0 _
      </p>5 c4 k& V' H0 H( B: _, |& k* `
      <?php
; X& g$ L) M" e! Q7 j   }
4 H! K) L5 [! B3 c8 b! ~
6 v: U7 H+ ~7 k$ H9 L+ d   add_action('save_post', 'save_site_wide_notice_meta_box');
% G6 w! R1 q- v6 q, @% U   function save_site_wide_notice_meta_box($post_id) {6 f6 ~0 [4 Z% l' |
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
$ G* F+ Y2 B$ v8 S         return;
- r% L% _, k+ P$ J5 ^! B+ h      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
* D0 [7 }. f. Z5 C  z         return;
+ S+ o- x, P. ~0 `- t
% l7 n: |' s" d5 z4 m- q      if (isset($_POST['notice_title'])) {( ~0 ~& _- H7 t/ P+ R; o
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));* B# j5 R4 y8 `! E
      }1 q4 o" A. o* X; w( m8 P+ ^
      if (isset($_POST['notice_content'])) {: n# E+ k2 A. z9 Z
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
; e- x& o5 ]% [- ^* ]      }  x4 V3 Q! P! S& \& ]3 j/ A
   }% c) p- G0 D9 w, h
   ```1 N/ B) ]: A& [! N

$ s' a0 k/ c3 T" G$ I; Y   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
* m7 H$ v* U9 X" {4 E$ _
# F8 @- ~4 O* l6 e( A+ G4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:' F- u/ S! u& [4 H. b; ]; v
$ |1 _1 q/ T$ m1 x! T% v2 I3 K" R$ i
   ```  I5 j6 Q8 u. Y& ?
   $args = array(% C. o7 j, P; t. _8 l# Q3 P. }
      'post_type' => 'site-wide-notices',
! l8 s. t. T! b      'posts_per_page' => 3,
( W# Z2 x; V" t' `1 L      'order' => 'DESC',
$ G% ~7 f, k; S! C) ?' n, f5 n      'orderby' => 'date'
" Y5 {, |, n9 V+ N! w1 N   );
& C, z9 p  B2 e   $query = new WP_Query($args);8 s' _9 D, O, f# }) A. k, b
   if ($query->have_posts()) :
% U  P4 r* g+ t9 E* z      while ($query->have_posts()) : $query->the_post(); ?>" V6 e7 A2 t* @
          <div class="notice">
% {. y7 v: J& M- H3 ]# T              <h3><?php the_title(); ?></h3># L0 a4 D9 V. D- Z: P0 M. k% X. T5 U
              <div class="notice-content"><?php the_content(); ?></div>
9 m9 W+ N8 k0 d8 x          </div>. M2 y* q1 t+ C: }* O4 J
      <?php endwhile;$ O6 O" ]6 F; @, E
      wp_reset_postdata();
4 u" Z3 [# ~. ~5 w/ Q   endif;' E9 ~& S+ h4 A+ S# Z
   ```
+ Z( q, r$ ~: D8 t1 c0 ?. P
& {/ e- R7 c7 s6 \% Z   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-12 07:52 , Processed in 0.019288 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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