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

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

[复制链接]

334

主题

516

回帖

3392

积分

管理员

积分
3392
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:4 S7 c6 P6 j% X/ |% h- A" i
/ \, v! q& h; R8 ^
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
( F. N0 ~3 ~; K; ~8 `
- x0 E; n/ Q; W  e( C9 P2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
/ _. a& M$ g; g; k2 s' `  t7 ~  A1 l2 z! I
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。7 R/ ~; P6 r9 P) X/ [% P' v
9 F' X$ |/ G$ ?: u. s
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
# n+ f) @9 @! T2 x- n6 D
* ]3 b/ ?$ `& L9 h# x注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

334

主题

516

回帖

3392

积分

管理员

积分
3392
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?1 w; J7 B' A  {2 b0 {1 @# j

( ^& Y& P9 ?8 f如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
! |6 T; x' ?8 Y# m# D- d2 [& K9 k: M' y# Y
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
. b, Q; B% z, W2 t' j3 k
' U: E5 l: D! e( d$ }! C7 w   ```2 @! E: {- F2 n
   add_menu_page(* P6 L: J) v0 @1 {# D
       '全站公告',# s* i% L8 L+ I: z6 Y& _* }9 F
       '全站公告',2 M! z$ I- B& H8 c  y1 y$ o. E
       'manage_options', //需要的用户权限
3 h0 A/ C& w2 C. ~& Q       'site-wide-notice', //后台页面的 slug
5 |/ r$ r2 v# A# @  y. {) [       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
* a3 b- Z! \7 j3 K+ R& E       'dashicons-megaphone', //用于显示在菜单中的图标
( L" g: ~9 }7 ^- ^! S, A       30 //菜单项的位置, u) x! A6 _  D9 F- W
   );. I4 P, d4 r9 Y2 u
   ```
3 ?4 B/ g7 {6 |: K2 @) ~
7 A1 z  p, r* L+ p   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
2 z& [' z/ z! H2 _1 r: q" u1 D
! U; W8 z+ T3 X0 Q3 u2 t( {& \2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
; Q4 j4 Q# k7 ~! y8 m3 q3 n3 z* M) O, y3 n3 f& y* a
   ```
8 _; {; B+ c7 I! M7 }   function render_site_wide_notice_page() {
/ E! ^2 r' u( C0 L8 [  X      // 渲染后台页面内容3 y  v/ i3 r& c" U- I
      echo '<div class="wrap">
5 W6 w# J0 G0 D+ A5 K9 B' O          <h2>全站公告</h2>) j; U5 a9 R* ^2 w5 y
          <form method="post" action="">
: @4 X5 K- b9 _* t( {' U5 a9 B              <label for="title">公告标题:</label>$ B$ V; c- \5 ^  b+ Q3 ^
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
2 G3 A9 J# o/ a7 s              <label for="content">公告内容:</label>
4 F$ z4 Q/ X) F              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
8 I- H/ v: k9 k, ?* }" |              <input type="submit" name="submit" value="保存设置"># Q# n3 i! |% B( [
          </form>) k3 y- \, `) L) m# f; C! L
      </div>';
9 k2 E. L  c7 E9 F& @1 _
3 H, z  J" y# W5 S! p) \+ R      // 处理表单数据. N) t. S: P# \% F  Z, D
      if (isset($_POST['submit'])) {
2 T# h0 h% R7 t& J7 u: ]/ M# V& j6 b          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));$ I4 S! y( f; D) t0 y
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
, I8 w) g, q4 C0 [- D$ ?      }4 w' n" B& V' H2 d: b
   }" z% M" k- R0 f5 Y/ @3 k" `
   ```
; y1 `* p. [% g4 K# o. ~" b( o" g" I3 g0 f2 r9 r
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
# m- M' _1 {' q# n4 n4 u
! P% C! x  L8 z# Q" j9 b; l3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
) G7 K3 x  q6 }) U, V
- @: U  f" W; X0 n- g0 q% {% l6 G   ```
% z( y2 R. c3 X& U: U# k   <?php
) x0 k4 i0 R! A6 V+ t  m   $site_wide_notice_title = get_option('site_wide_notice_title');
0 k7 Z4 [# p% p" e3 r1 H) p   $site_wide_notice_content = get_option('site_wide_notice_content');4 z& X/ b9 U* f: S
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
* d% N3 i; ]0 P       echo '<div class="site-wide-notice">';1 s9 v+ h9 m$ L& K2 M8 P6 h
       if (!empty($site_wide_notice_title)) {4 d5 v* f) q# Q/ B2 F4 i
           echo '<h3>'.$site_wide_notice_title.'</h3>';
) C) ^5 V- j2 t: r       }
* T- W! M2 u, Q8 e       if (!empty($site_wide_notice_content)) {
! B' f. i5 X. z6 d9 P$ D6 g           echo '<p>'.$site_wide_notice_content.'</p>';8 v/ H* p2 e0 _% B
       }1 G. z$ q& R. P( U4 T0 ~3 P1 w1 L
       echo '</div>';- ~3 T# b+ U4 h1 Z- s6 S
   }4 r, m6 w+ u5 Q; G4 C* P1 p& q
   ?>; t" c3 ^! k0 s0 ?
   ```  r0 x7 J& d! Y0 Y& _# Z
, l% }8 |$ W7 V
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。' g" `) p5 d, v* _/ V

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

使用道具 举报

334

主题

516

回帖

3392

积分

管理员

积分
3392
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
+ V+ l8 v/ h* P" x/ M$ F, Y- m% H3 }& v) V9 q! N7 j; t
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
( |& d; X. P7 }0 B* ]5 h  c  Q9 g; z2 Y5 J: {( N3 \
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
- Q) D- X2 o( b. i8 g7 t
3 p0 g! b& j+ B. D: K7 y. X```8 d3 r/ E8 v6 |  L; N& C
function create_custom_post_type() {
; z: z$ ~+ J- d7 u0 ~) e    $args = array($ r% ~8 B2 j0 N. b
        'labels' => array(
9 A" P  j3 O' A; |/ Z2 R            'name' => '公告',. W+ u7 R7 z2 `- W+ ?1 j) C4 q' W
            'singular_name' => '公告'0 z0 V' f8 Q* x
        ),
" F: j7 T9 J! \        'public' => true,
* {  R) D( }4 d- l" o. d        'has_archive' => true,
" S9 s" g4 e7 r        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),! a# C1 M' a7 U6 \; k
        'taxonomies' => array('category', 'post_tag'),
! E8 m$ D9 i. o- G) Q( Q        'menu_icon' => 'dashicons-megaphone',# d/ q# Y0 L7 J1 w) E9 b4 d+ S! o
        'menu_position' => 5,
! g# j5 Q' Q: ~1 g        'rewrite' => array('slug' => 'site-wide-notices')
; T3 [" T9 U& V% t0 d7 Z    );
: Q5 c3 s" C% Z/ m# C8 K# t1 i    register_post_type('site-wide-notices', $args);
' ^* c$ f. s9 a8 j}
3 b3 ~: }4 z0 x, G5 O# Madd_action('init', 'create_custom_post_type');
+ R1 x( C4 P$ \& q: o- ?$ Y4 }```) }% t+ E6 b/ ]5 y$ `. X( D

$ z3 m2 @. ~& g: A) I7 ~+ n  E7 ^5 w在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。( f0 u9 e9 W+ |
; z( Q8 V5 l/ r' _  Q/ y" R* D- }& w* S
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。! i7 P! z( u6 A2 s$ H/ N1 [; A

% b4 x  E3 W6 w$ w# c/ w3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
: J9 J' `( F$ H" w7 t7 ?& U. l+ H$ v
7 H1 N6 w9 A, l( _- `( m```  @' W6 k- D) u, m5 g  W
$args = array(
7 T5 `" }: p+ X& Z! K* L: q& t4 l    'posts_per_page' => 3, // 显示的公告数量' T3 |; p  E7 L+ W
    'post_type' => 'site-wide-notices', // 公告文章类型0 R- N/ N0 U& k
    'post_status' => 'publish', // 公告状态- |7 L8 K: Y3 K5 ]
    'order' => 'DESC' // 排序方式& z' d2 N' C% k2 v4 \
);( X# D# e6 j6 \4 y% {# {% z

3 g$ M( G8 M. ~7 _6 f( k$notices = new WP_Query($args);
" J; Z. \, @- ^3 `if ($notices->have_posts()) :  Z8 w9 w: k7 m$ \1 R, K
    while ($notices->have_posts()) : $notices->the_post(); ?>
: `7 T2 i- g1 q1 b3 p/ N' i        <div class="notice">
& q9 _! o3 {5 a+ N' ]            <h3><?php the_title(); ?></h3>. q" V. A( L7 Q/ t  e
            <div class="notice-content"><?php the_content(); ?></div>* y- Q, y, n. ^6 J: y, s9 }
        </div>
* o7 `  E6 c9 n% ^! n' y    <?php endwhile;
2 R6 a. A3 [( [5 z" Lelse :. E- y; q; `5 Q8 h
    echo "暂无公告";
! Q) J" k' i- ?. O0 B1 V0 L  mendif;+ v; Z+ n, i. `: H: [
wp_reset_query();% C/ U, A3 _: y7 T$ [0 R, c
```# z8 D7 Z0 F9 W( r
# M5 X. R" J) J0 q& }0 L
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
  Q0 z$ `0 o/ \* s: L1 }4 h8 w% N( e- v3 U
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

334

主题

516

回帖

3392

积分

管理员

积分
3392
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?# }$ ?5 U# t$ E  V" y+ e0 h, N

- A/ A2 W3 b4 P! h, z4 |7 g如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。2 Z7 j' Q: D+ ?9 ^

8 |/ G6 q2 d7 n. K+ i) t: b/ {8 g以下是创建自定义插件的步骤:) S6 N) Q/ w, K6 v  ~

5 |6 _$ ^* _& {( s" U6 H1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
' B- j) j) V+ C% }) H+ N- [: F$ L% P: J5 ~  Z
   ```
9 F1 [) E# c  c+ @   <?php" E; X# q+ ^  G( S. Q
   /*# P/ W3 r7 Z/ c, M' h
   Plugin Name: Site Wide Notices Plugin3 h0 [- ]  a: M
   Description: Adds a new custom post type for site-wide notices.
8 }, H- l7 n; L8 }   Version: 1.0* j: Q! ?' O3 l$ d; B* f% n
   Author: Your Name! q- E/ R' N+ x3 o7 X; y, G! |# D
   Author URI: http://example.com- E3 i0 g5 ]$ j2 G# ]1 h
   */0 h9 t! G5 u  O5 D% c. X
" O# p. t$ s% Z* Q; F
   // Add plugin code here...% r# ]$ @% W6 s. O
   ```
8 K6 o2 A! Z: t6 h
$ Y4 C/ z& u+ u8 Q$ N# U$ H" j   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。4 h6 C3 z+ n& C. L* F8 h6 ], u' \
5 F( c/ L& ^) f2 g$ q
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
8 m9 D( M, E3 Z9 s+ K! y" I! T* n. N( L. z+ b% O
   ```
% D  k. a! B8 k9 N0 y3 z* Z4 j   add_action('init', 'create_custom_post_type');
* b' [0 F/ _7 m' g' j2 l   function create_custom_post_type() {- i8 g( _2 }$ ~& w+ N8 M, j/ p
      $labels = array(! @, S' j! d0 E4 ]. H$ l4 V; `6 }
          'name' => 'Site Wide Notices',
/ _9 n% o# J$ |2 a# u+ Q5 H          'singular_name' => 'Site Wide Notice',; M' v9 ^! i: R9 D& S
          'add_new' => 'Add New',2 l% P& ?+ A/ E& r6 {6 z
          'add_new_item' => 'Add New Site Wide Notice',
; m: ~! {+ f8 J# h* M+ ?          'edit_item' => 'Edit Site Wide Notice',
- [- W3 a) l' W# Q5 \3 Z          'new_item' => 'New Site Wide Notice',
: M* \, t: @" C" P5 e          'view_item' => 'View Site Wide Notice',
# ?5 p# i( d5 Z5 G+ ~          'search_items' => 'Search Site Wide Notices',
5 ]) d7 H& c  l. y4 C+ m$ E          'not_found' => 'No site-wide notices found',5 C1 N0 y/ c) Z8 ]
          'not_found_in_trash' => 'No site-wide notices found in trash', c$ Q& W" R2 }" w0 `
      );
1 k$ b* u5 L! a. ?/ y% y9 {
/ E  |% P7 x1 ~9 y3 o      $args = array(
9 z4 F2 K% ]' ~* X, F3 W! U6 |# n! j          'labels' => $labels,/ f8 k+ `* a; B, E
          'public' => true,
: h! y! G" }  |  N0 y7 i          'has_archive' => true,% _3 Q0 M& e+ |: f
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
& U7 Z3 [5 G; N; J" y( N          'taxonomies' => array('category', 'post_tag'),5 O3 ]! ]& {  {# o( a; w
          'menu_icon' => 'dashicons-megaphone',' G) |8 ^, S# L
          'menu_position' => 5,
% a) y/ Q: ~. y! C! p4 H. k          'rewrite' => array('slug' => 'site-wide-notices'); i; r% I% v* P0 J
      );, ]' L( |6 v$ {

# e/ P5 r% x) d  A7 @2 j      register_post_type('site-wide-notices', $args);  }6 u4 F. h3 v% _/ W
   }
1 a% {5 f  D% k4 |0 I, z, ~   ```5 [; d0 F; n+ K. W7 [
5 L; l+ ?7 f) S$ w+ M
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
& g% @/ X, L, @' _! y& |2 X" J" x- _( v- \9 {6 a
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
7 e& @$ `( g1 w( @8 ^; j4 H& ?3 c
. E# n5 a2 s' O( e9 w: `2 _" T   ```
8 V# r" v7 `* R3 c   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
$ A3 G5 }9 N8 o# [# _* K$ \, N3 X7 x   function add_site_wide_notices_boxes() {
4 [. K( {; O+ E      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
8 j  ~8 o6 `2 t9 f8 t* M1 E   }* Q1 I6 m- q( I5 H. }( r/ U

  B( w+ ?9 l5 h0 O4 ]   function notice_details_meta_box($post) {
# r; _3 _- s$ t% r3 F# \+ y3 X      wp_nonce_field(basename(__FILE__), 'notices_nonce');
0 _1 ~" ^  \4 u  r/ ^- ~+ Q      $notice_title = get_post_meta($post->ID, 'notice_title', true);
2 |/ F4 c" ^! d  v  S- @      $notice_content = get_post_meta($post->ID, 'notice_content', true);: Y' q" k) b) O* \
      ?>
( v5 _1 R$ W5 d& `; E& \      <p>; ~- x3 G! ?* c# v5 S; S; s
          <label for="notice-title">Notice Title</label><br>- M; O' w9 x* X- p
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
8 V6 p# N$ |3 p- t. L: r4 J( q      </p>
7 [6 D7 S" x/ q5 }      <p>5 I! `% e! C9 c4 n. `, H
          <label for="notice-content">Notice Content</label><br>
. M1 n8 @+ r9 V. v0 g          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
, M9 G/ ?7 }$ o% a. v, W      </p>3 n! X5 r3 F) k
      <?php
/ X& d# Q8 [3 ?. V, ?5 \   }
+ c6 ]- M. y1 w1 T' l! w- I- n# f2 ~0 g
   add_action('save_post', 'save_site_wide_notice_meta_box');5 ]* j2 G- v* }7 @. j/ v4 z# P" k
   function save_site_wide_notice_meta_box($post_id) {1 w- S& ~0 O4 ?0 ]+ f, S
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))6 l7 \6 t9 U! E$ b, Z. x! d
         return;$ \" }8 ~# K& w& p/ f0 n& G
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)7 M% Q5 R, E* c+ }0 B
         return;
4 n" w& L8 L- u# E$ e
& K% q, ~  B, [( Q7 }- e      if (isset($_POST['notice_title'])) {0 ?5 }0 q+ ~. H% Q( W
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));5 }( ]! a4 }- g: u
      }
- H2 Q  p- n+ L+ w: V      if (isset($_POST['notice_content'])) {/ C7 L+ U& J- Z4 @1 N
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));2 o# Z( f% I* W  o) @! ?# M
      }
7 r8 j( h$ O% _$ U) f) R+ j! M8 g   }
5 E! Z5 p  u+ b; a   ```
* e% K2 P; _+ J  {8 l
! R4 h+ \) |1 G5 m& t  y; m! O1 X   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
0 b& ]; k8 |- [8 F2 S; \3 ~& X, s& Q2 c1 [
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:- H4 m, M+ A; @0 X
; G$ _7 e) ?/ \1 U$ o9 J* q! z
   ```, ?* C3 u$ Q" y( `8 h
   $args = array(" j  C0 w4 v9 e1 S# m! H
      'post_type' => 'site-wide-notices',2 |' {1 Y  D6 _
      'posts_per_page' => 3,+ ~/ m4 k& z- x2 ^0 o) a7 h- d/ s
      'order' => 'DESC',
4 E0 G, n+ m& A$ ?- c      'orderby' => 'date'
  ]# {' Y; _+ I0 T& v   );
; U8 g* i7 @# E) O( \   $query = new WP_Query($args);5 P6 E2 m) F4 Y. @- ?+ f8 ^
   if ($query->have_posts()) :
  \3 k7 H( H1 _8 g8 Y0 l      while ($query->have_posts()) : $query->the_post(); ?># j3 t7 ^: k( c7 S$ @  K
          <div class="notice">1 V4 C3 u* L6 @$ e- G6 E5 [
              <h3><?php the_title(); ?></h3>
1 r# b) z) J: P8 f              <div class="notice-content"><?php the_content(); ?></div>
8 M4 v  H9 V: E) G" e: ]( j3 C  }          </div>4 j5 d3 q; C) I/ k$ \
      <?php endwhile;$ X6 _5 y# P9 {" y# L1 j
      wp_reset_postdata();
2 r. D, \: O( b9 Q3 L: g* w5 F0 V   endif;( A: ^6 E1 {4 s) u- V/ `
   ```- g3 n# x5 J2 W6 s. Y

5 a* Z$ \: L+ V9 _6 r# a% @. A   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-29 13:43 , Processed in 0.081528 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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