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

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

[复制链接]

340

主题

522

回帖

3494

积分

管理员

积分
3494
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:7 R. }6 V% K: O0 @3 k& P

- p- O1 A7 D2 n1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。2 N+ o  Y2 c% ]3 w/ O+ X+ ~

3 W1 x& Y8 t% D& ]1 u2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。0 B6 b" Z% p8 A$ }: t
" n7 b) d7 g( O3 W% b: c7 g, Q
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
) U% o! y1 W4 q& J/ O6 ^1 d8 [# P5 x0 Y7 Q2 B& j" q
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。3 k- f% V& ^  l9 H; X- N# G# `

5 o& i  ^" y  B" x5 w* P2 W$ c注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

340

主题

522

回帖

3494

积分

管理员

积分
3494
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?% S% C# w1 u3 m  _; _' I7 ^; f
2 e0 }% t' D* V9 w" j& a; A, E
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
0 d' Y$ E# f$ g, b# q. t& L3 p! x
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
! o3 O/ N  @: ]* M* `0 [+ U% F3 W1 |
   ```$ U8 N( S1 D0 t5 z- K; g; u
   add_menu_page(/ ?* k9 ]! W$ @/ e4 N( L
       '全站公告',
( A3 @+ ~$ _2 E9 O$ r" B% T1 Q, W       '全站公告',) m/ q( p* F; q0 j
       'manage_options', //需要的用户权限" T9 k/ u- y1 D' r* A. W1 W" h. a
       'site-wide-notice', //后台页面的 slug
- e% m6 {) w2 B       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
# ?  Q5 y* \+ r# m, @  v       'dashicons-megaphone', //用于显示在菜单中的图标
. D1 v% Q4 L$ t% w9 X       30 //菜单项的位置% F  B( Z' ]. }9 e" S# e
   );
; K* A/ D  ^/ B* {   ```0 ?0 C$ d; g$ U; |

8 y5 e% m6 R% Z: o1 r   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
' S8 W$ K5 G: ]5 ]) U0 L
9 B, U; j9 B! G: P2 N2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
) R& |& A9 I! n2 r! ]
" o  a7 s6 c# q. A- ^) _/ F   ```0 M+ t# d6 p, G4 ?5 l
   function render_site_wide_notice_page() {  J  T: {/ b- x8 r* I3 f
      // 渲染后台页面内容% W6 D* ~. [# ^- W- I0 w# B- i
      echo '<div class="wrap">  b6 K1 k! p( y) c% R, @9 m
          <h2>全站公告</h2>" }5 U% s- p; C7 A7 B: q+ Z. T
          <form method="post" action="">. d/ v$ i+ Z5 ?% J( F0 Y5 b
              <label for="title">公告标题:</label>  {, d, `8 @9 P( x6 V; a4 g
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>) [8 Z2 X4 b1 F# g# s, ^: o/ q
              <label for="content">公告内容:</label>1 @. E6 r+ H, {- A' u' C
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
# w: w' ]8 l# }  s# d* p. S              <input type="submit" name="submit" value="保存设置">! \! W9 ?. `3 Z
          </form>3 _$ f) G' R' D( G4 P
      </div>';
! h% W8 k* n. Z) A+ B/ d/ e+ T, y& E& D; Z& d
      // 处理表单数据$ }$ g* y. U& v4 t" F# Y! h
      if (isset($_POST['submit'])) {
6 j' F9 H- H# Q5 p( _9 V          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));/ i. p3 M8 K5 U9 x2 G
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
" C. ?1 t7 L' z$ |* S% l: o- G, @+ u: c      }
5 y5 Z3 E: \) u2 Y: f   }; e& P/ G( a# k" ]' S, f! v4 l
   ```
7 x" x. |, x& i. `" m% i8 |4 w. ~, B8 T! Q1 q
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。) h! T% Y" l3 l, m8 R
1 j# I! K, N* B( q4 }* Q# ]5 T
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
, l0 t8 D; J) j3 T$ T4 D7 p, O* r" h/ y7 i  R% _1 X! y
   ```& J7 G9 y4 J$ E% w7 ?# c' j
   <?php2 t  i$ l0 }2 o  `) ^8 h- K. \
   $site_wide_notice_title = get_option('site_wide_notice_title');  b6 }; h) n' ]
   $site_wide_notice_content = get_option('site_wide_notice_content');: ~5 y& }) P' B! D0 C/ ]! W, I5 f
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
3 i4 O( l! W  R. I) i' P: O       echo '<div class="site-wide-notice">';6 o1 ^2 x/ N' a
       if (!empty($site_wide_notice_title)) {( Q* s: w; w3 e9 X4 B
           echo '<h3>'.$site_wide_notice_title.'</h3>';
/ _- K" N$ q/ I" b& G( ?       }
  @3 `8 z$ K6 V       if (!empty($site_wide_notice_content)) {
) B- n6 f" e' b3 V9 u           echo '<p>'.$site_wide_notice_content.'</p>';& k( h5 n, l1 v4 j3 ~- \4 p
       }" l" p+ w. W( q: [2 X2 W# u
       echo '</div>';) d# G8 E# h+ ?! i
   }
+ v! ^1 y; ]. u   ?>
1 f3 v* ~5 j. ~4 P+ K* A4 h3 y   ```
" J  z8 |) I1 C- ?1 G0 H6 a8 \
! X. E7 L' z% }: i/ e   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
1 S: B8 R$ g4 H% }& u) G/ c+ i: c9 a' {1 n- I
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

340

主题

522

回帖

3494

积分

管理员

积分
3494
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
' Y5 e! G: r* h; F4 C& W4 V& L+ H; Y7 ~& n
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
% B) [+ p) f& |( F" g, t% y% E: k' E& J( }7 M* G" p7 w$ h
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:0 t4 z( `1 F: p% Z$ n

* y) v, h. f; l5 A* j7 d3 r```
  m+ ^% f: Y' ]5 k3 efunction create_custom_post_type() {
3 z+ I" j" B- p; ~/ v9 Z' u4 q5 b    $args = array(  F% s/ J! d+ M1 X4 l0 L# h' r
        'labels' => array(
; y- X' V% n, @& P4 H0 ~. \- n$ ?            'name' => '公告',
0 K9 k- q" o  M            'singular_name' => '公告'/ N; a6 m2 Q- H8 b! `
        ),
; s3 }! y/ g' Y% @        'public' => true,
7 ]/ j9 m  s( }2 K' [        'has_archive' => true,
7 ~# v, ?* m& p  ^        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
+ d3 ^0 t, `4 k) _  l% O4 \        'taxonomies' => array('category', 'post_tag'),
* m! R- Z, K9 R4 T/ [  @0 E        'menu_icon' => 'dashicons-megaphone',6 G. V/ c6 x# \) A( A& p
        'menu_position' => 5,2 X# M! d' v) c5 t" _
        'rewrite' => array('slug' => 'site-wide-notices')
- O5 q* x9 d% A& M& t) Q/ z    );) y) D- w  m1 P+ ^
    register_post_type('site-wide-notices', $args);
. ^! G$ z6 h# u. Y: m+ p}
/ Y, ?; E7 _0 t! x# a1 Y+ {3 ~add_action('init', 'create_custom_post_type');
8 e4 ^: u4 \2 G1 u3 E```. \3 a8 s$ C/ Z( Q7 ]

' F8 {4 z0 C! S' X" z在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。, g* {8 Q  c& H1 }0 o- t3 U

/ K$ ?9 D: M9 o+ B! o2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
. L! [2 i! ]+ v! f
5 X' v" v  q1 p+ V4 X- G3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
6 d$ ]8 J# T9 D" |. |0 h% }% V% b
1 \2 p$ C8 c( W2 g5 y1 x8 y```2 y/ s6 L9 }8 q( d
$args = array(
6 {( ?8 G  p4 `0 b2 I2 d5 b1 S    'posts_per_page' => 3, // 显示的公告数量
6 E6 }9 _# M8 ]- \: e    'post_type' => 'site-wide-notices', // 公告文章类型5 A6 k4 }8 q  J( B9 {
    'post_status' => 'publish', // 公告状态% m+ L6 }/ `  v$ g% c; T2 v
    'order' => 'DESC' // 排序方式0 s  Z3 G; N5 b% d- S
);- j7 I* ~2 ?. F# W+ H3 J) J
: Y5 G" F) v) i- H0 s
$notices = new WP_Query($args);
) u! v0 t& P( W* Y0 p  G' lif ($notices->have_posts()) :8 L3 S: e: O: _- C
    while ($notices->have_posts()) : $notices->the_post(); ?>
% P1 G' A' G: s  l7 @6 I9 p( [4 U        <div class="notice">' t: _4 V, H% q* O' O
            <h3><?php the_title(); ?></h3>5 _- l: u7 C* H/ J& ~5 N1 o& |
            <div class="notice-content"><?php the_content(); ?></div>
- y5 P8 B' w- J5 C        </div>
* L. }) l+ n. b    <?php endwhile;
9 q$ P! c8 y" w3 Gelse :
+ k  I/ _" c9 Z0 w' Y5 F9 ^    echo "暂无公告";# O0 ^/ ]# H) T# e  a
endif;
$ [8 q8 R! A4 k4 j) O6 Bwp_reset_query();
7 W! v4 x1 L5 c1 [  Q7 g% W```( Z/ B4 W4 N) V
, P% [0 d0 M- U+ P5 o6 ?
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。1 `) Z) }0 d/ J- b& E! N

1 S+ i1 ~* }) F" n: s以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

340

主题

522

回帖

3494

积分

管理员

积分
3494
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?+ ?9 T# \- ^, z$ ]6 p

( ^8 `: T1 V( ^3 ~! h如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
: R8 B" ~8 P# N  Z! y+ S6 E4 O9 H6 s
以下是创建自定义插件的步骤:
! O) c+ h; z( j) G- T$ A* r2 u
) p% i0 @$ y! v6 P1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
1 x) O3 I, d$ X; [& a/ w2 m0 K& Q  p7 u8 j- S4 C" D
   ```7 f  E9 c0 [8 S: M1 ]
   <?php2 L) p7 ], U6 \, B
   /*" Z7 n: e" M* r# o6 {, M. Q2 e5 t
   Plugin Name: Site Wide Notices Plugin
/ y# C: ]2 t8 `+ [  z& u   Description: Adds a new custom post type for site-wide notices.7 ?5 S) b+ O0 G' B# p  x3 p
   Version: 1.0) j- |$ }0 P6 s( w; _% {. n
   Author: Your Name" y- ^* u/ V' L
   Author URI: http://example.com/ \- D) l: S" h
   */
+ f; T/ N- w, u
- J+ S' R; {, A) E# t! Y1 K) q  o   // Add plugin code here...
3 i" m/ o1 A( e) V( N+ M1 `* I   ```  o% g( f: h1 V( ~( [1 ~- P
+ ^* Z9 R$ Y4 o' Q
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
/ F3 _  c' x9 |9 {
$ d5 N. F" r) ~. a3 B0 G1 n7 a2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
/ l6 t) ]: v! H: r6 X5 l" y' F; W; `+ E' L9 ?& [
   ```
1 `* I$ I+ n' }  O  s( K   add_action('init', 'create_custom_post_type');* ^2 D+ C6 a/ B
   function create_custom_post_type() {
# f3 K4 e+ k1 q      $labels = array(
; x9 u) k2 h+ g0 E$ u6 a          'name' => 'Site Wide Notices',
" R1 j# u5 u% W5 m          'singular_name' => 'Site Wide Notice',
' G; g0 C1 T9 }2 H7 T0 h$ y! g, V          'add_new' => 'Add New',. P) C6 T, q3 a1 T" N0 T
          'add_new_item' => 'Add New Site Wide Notice',- f2 |" y6 Q1 s3 U+ g3 u4 J
          'edit_item' => 'Edit Site Wide Notice',
$ k" M: l& h2 m          'new_item' => 'New Site Wide Notice',
5 J# m" |/ M+ x. H. }          'view_item' => 'View Site Wide Notice',
3 J* }/ _3 v# i: N$ ^          'search_items' => 'Search Site Wide Notices',
% D6 x0 c5 g8 ]/ b. p' J5 M5 j          'not_found' => 'No site-wide notices found',
" ^& ?. C  K# k) |% @: c5 g          'not_found_in_trash' => 'No site-wide notices found in trash'1 \! d' z- e' t& E9 b3 x( n  r
      );6 q2 @# y! y7 Q& O* p. i. i
: ]; S9 n, T0 N7 B
      $args = array(
. t8 l2 E2 U' m/ s' _          'labels' => $labels,% x0 U* J$ A6 y' _
          'public' => true,
5 `9 \& D; K! Y" @' H          'has_archive' => true,
- ~. `+ r, J1 g% I& b6 m5 R3 s          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
1 i) {) _2 P4 S# O3 G  Z          'taxonomies' => array('category', 'post_tag'),. A8 J$ f& [2 `) c0 c1 ?, @
          'menu_icon' => 'dashicons-megaphone',
) j6 O: {$ K' T! D          'menu_position' => 5,7 V+ Z# r' P+ A
          'rewrite' => array('slug' => 'site-wide-notices')8 \) e! }: j  Q8 k. ?( b/ |  F
      );
7 y1 `, x* ?8 o: x' k7 e" z# W; c( g3 R0 F  K' o; `! A
      register_post_type('site-wide-notices', $args);
7 k+ Q6 x! K) U, L2 _6 D   }
3 |- L& V: v9 K/ ^; q: [1 x/ {   ```
6 }8 D4 ?9 _* S& m) ^3 l) c# ~( x3 t  D) E5 t. p# \( t  ~: v
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
9 D0 v* A8 L  @+ ]. N3 I" _# u& S1 E- j
0 {: n* F' g; O8 }" e$ _+ t3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:  }; L7 x3 X% |/ E' K
. @2 v- z4 R& [, y  o
   ```6 b7 O. l. p/ H+ |5 z
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');* ^# k2 b& P; T0 p: u! e! u. r
   function add_site_wide_notices_boxes() {
0 S; t. R- A' e1 X# G/ o      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');3 e) Z. F* ?7 w5 X& q- f! p
   }+ b% H3 a+ a/ i2 W* A, Z3 ^( g

, ]1 I' _5 @+ W   function notice_details_meta_box($post) {
2 G' l4 ^$ X: A, r      wp_nonce_field(basename(__FILE__), 'notices_nonce');! p# j& R& Q3 t
      $notice_title = get_post_meta($post->ID, 'notice_title', true);* [2 L+ M! W" [
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
4 f! M# R( u3 c# ^- l( [  Q      ?>
# j( j3 z1 n- z( e. |      <p>3 f9 p2 U5 H! o$ R0 o
          <label for="notice-title">Notice Title</label><br>3 t0 C2 h6 z- y8 W0 r
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">- n; E6 C- x1 |; Y2 z# G
      </p>
2 d, t* `  `4 U1 z      <p>' s. c/ d/ [$ ?2 _7 d: t
          <label for="notice-content">Notice Content</label><br>
3 ~  C1 f6 _6 c+ R% @. o' ^          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>% o( N3 m5 j1 J
      </p>
, I: {  k6 I) B5 B% r. [      <?php6 ?5 e  |7 t# P; A* I9 V2 F* T; q
   }
4 _% h" A. x' O( H  x) r
, y$ o! t1 @* {: e   add_action('save_post', 'save_site_wide_notice_meta_box');0 p" r4 D; {( l
   function save_site_wide_notice_meta_box($post_id) {
8 p9 f* s6 x; X      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))8 g6 d' ~3 |7 g) l7 ^; [) d4 d
         return;
) V! G8 `  A; Q4 a      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
- i+ ~5 J" [6 x+ T         return;$ e. B' y. Q) a* r

# p% ^8 ~9 T8 |- ?- N      if (isset($_POST['notice_title'])) {( K* G; {; J8 A0 I, M
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
8 V! ~  X8 e( J, h0 y6 b      }5 S6 V5 B% s) O' U+ z
      if (isset($_POST['notice_content'])) {! K: T  q2 a% @* }
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));, J6 y. |# [3 m" ?1 T; s
      }4 w8 M! |4 ?1 f" ^" |5 B4 W
   }4 Q+ Q0 a, M! p2 |" @; @6 Y
   ```
/ e- A4 E3 q/ z) v" m3 i  V3 x. g4 X- z) _2 {# _2 q1 j
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。, T. o: O. C5 Y! t/ F3 E
8 S4 I$ c( H6 o6 ]! x2 C3 ?, \# P
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:1 W2 p% H8 q1 }( h0 |  X3 Q

9 F: e9 r" x6 g$ z8 [* V   ```
& [: W- H' k- W9 p, ]! c2 ?3 s   $args = array(0 k. n8 C" T" ?. L
      'post_type' => 'site-wide-notices',
% V+ Y' e! i" q  i1 K8 S! N      'posts_per_page' => 3,
( ^+ V& q- Y. C      'order' => 'DESC',  C# G" R$ j5 K  N* g7 T
      'orderby' => 'date'+ X2 Q) ?4 z- `7 D8 i; ]) D( G
   );
( P2 ?: P$ I0 m/ N. b   $query = new WP_Query($args);' h4 _5 F! o: P9 y. O: R2 M3 f
   if ($query->have_posts()) :
3 }$ q+ E) Y  f* s; ~  K      while ($query->have_posts()) : $query->the_post(); ?>- W8 r6 q; n4 o3 ~5 [- L
          <div class="notice">
3 }* g, J" E8 M4 N7 z' g5 H% _; w              <h3><?php the_title(); ?></h3>
* x# C* o2 p# k              <div class="notice-content"><?php the_content(); ?></div>
7 d$ Q! y  p- p8 m- M7 [          </div>
5 g$ S9 R6 _' E1 ~7 K$ ]1 _      <?php endwhile;1 ^, o. Z7 Z0 n; s( K$ k
      wp_reset_postdata();) E7 o8 c8 H' |) L% q$ p
   endif;
/ N$ E  l' i$ Z' u   ```
' [$ |" |) U% x' p4 L9 Q* S! f: t+ i* i& F. a
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-12 00:34 , Processed in 0.016090 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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