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

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

[复制链接]

334

主题

517

回帖

3396

积分

管理员

积分
3396
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
- |* V! X: r! R4 Y  d, I# u4 [" S# j& G8 S+ E6 L  _
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。' `- c6 \  s9 f( s, S

/ k7 K; Y" W' W! s6 F: _! L2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
' _2 A8 [! X7 }1 {9 g1 O
: E1 T0 ]* `0 q% ?3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。0 J0 A& W' e" M
0 B7 @0 W% I7 F. V- |  ]6 r
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。* A0 K2 t& U% Y# a# n5 @, H

3 L" O% K# q- x- D, f9 o5 q注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

334

主题

517

回帖

3396

积分

管理员

积分
3396
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?' J5 C( T% C2 e; x2 U5 s1 _

) b, a' \0 p8 [, u$ n如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
  e% Z+ x! z0 H9 W
' S# o* s7 e0 d2 D, V: U0 G1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:' s+ i4 k% J9 {6 O& F4 x
4 I+ Y/ c+ P) M0 {- P6 [
   ```  R9 U0 j( _  O$ W; k
   add_menu_page(
( q* y, n+ H* q: r       '全站公告'," q! ]3 S# W' R1 c- ?( G
       '全站公告',- {$ B0 Z7 @/ e, }
       'manage_options', //需要的用户权限
( ~1 S- W& |& Q; `. J  W       'site-wide-notice', //后台页面的 slug$ y: R. o, I7 |; `: w
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
# E/ I! y: Q* N1 u/ T& _+ \+ s       'dashicons-megaphone', //用于显示在菜单中的图标
. O- |# K: o) j, {! I5 I/ j0 E       30 //菜单项的位置
& x% v$ E( Z& t   );; l# b% m- k0 `) J
   ```3 f5 L5 S+ Q/ L$ M. I4 }

0 ?% d6 W/ D  _" h   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。9 b7 O* d  B0 {4 A
2 A: D0 b( T) O0 y- b0 i; i
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:( \3 A$ p$ j/ q" K# i0 \& _

' v% q/ U- Q0 v   ```" E1 c* g  d  v
   function render_site_wide_notice_page() {
8 D% l: W( `- U9 A% W- Q' p      // 渲染后台页面内容
' Q3 o4 C  y6 k1 T' o      echo '<div class="wrap">& s1 L) v4 P& H. C
          <h2>全站公告</h2>
1 g2 \, \- `) W* D! o( q          <form method="post" action="">0 N" S$ [/ }8 d
              <label for="title">公告标题:</label>: `# B& d8 y  H) P' ~% E  ^% T
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
% U; }+ H, Z0 C6 i              <label for="content">公告内容:</label>3 q; e5 g* [* `. ?1 z
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
6 O, ~' M$ |) S' \, a              <input type="submit" name="submit" value="保存设置">
: a! x( H$ h, o" F  z' w          </form>
8 \8 A+ K, [% V+ d3 C/ \      </div>';& ?, U: i5 D2 \  m; Z

+ x3 J# E( o7 A* s% `& c, B      // 处理表单数据
) w# G5 s! g- c1 ~) R1 f      if (isset($_POST['submit'])) {( j, @6 i# {- z. p: [
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
: F* E2 p2 B( L4 F- X          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
: k& M) Q- ?, w      }
. F. I' L' T3 {9 e/ {  K& T   }
+ g, G0 {  J2 `& i4 R! m   ```, V0 W" S; z4 q* ^  s
4 g9 L9 Y2 E; |
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
, c# `7 q8 s% R# M3 ^
  \; V8 Y+ o2 x0 f) D5 L+ ~3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:; S5 G  W  o+ K5 |

. {! B- M) H, g% g, ^0 c- f   ```
% ]5 [( t1 u# l2 f# ]3 A0 i   <?php
; o: {4 g" W7 Z! _5 J* U   $site_wide_notice_title = get_option('site_wide_notice_title');' K# Z( L  W- F' k1 Q0 y5 K
   $site_wide_notice_content = get_option('site_wide_notice_content');; E! ]9 [1 r* ?/ i4 h+ @: S
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {3 f# C4 T+ l/ \: J3 Z5 N
       echo '<div class="site-wide-notice">';
/ Z! y. O0 I* `       if (!empty($site_wide_notice_title)) {6 v8 I7 t+ X" Z' G3 f+ R2 E
           echo '<h3>'.$site_wide_notice_title.'</h3>';
$ C# e/ F  b$ ^2 s9 Q/ ^! x9 w       }
- c) @* k) C4 T. y% Y       if (!empty($site_wide_notice_content)) {7 T, m7 K7 x0 a) ^+ b- w
           echo '<p>'.$site_wide_notice_content.'</p>';
) k% n+ {- Y7 I! q, L       }/ j) X  s0 {7 X' @6 I3 [* h
       echo '</div>';3 G* {* q; j1 Q( f/ @: l* n
   }
) K0 |0 g! K6 _" I   ?>5 }5 r- H% Y9 w% @5 c* j
   ```
! M0 W  }2 G' s! ~4 M- `/ P  {2 }' z2 k' b; Z0 L) O
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
1 i% f9 b9 s3 X$ ]- g: {7 O; L
+ M( G" E( L$ {9 J6 o请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

334

主题

517

回帖

3396

积分

管理员

积分
3396
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?  B9 Q+ w* i8 {+ c4 E7 W$ s! y

$ [6 \. D* I! |, x您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
* i2 i7 |+ K/ t& U" o! R. @% \" I/ M3 A
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:& S) V% [. ]  I  E5 K5 M

8 d, m. d2 R& G( @* ````
; ]& _3 }, o$ s* h1 k7 Hfunction create_custom_post_type() {; k( m5 w3 X& }* [2 r5 R
    $args = array(
/ ?2 m. L+ \* H7 t: y/ e        'labels' => array() b6 U4 C7 g0 V4 L9 }
            'name' => '公告',
) f- [- b- C$ j6 ^8 G            'singular_name' => '公告'6 I' W/ q' h  X% e$ {# }; J
        ),
, h; E: K2 E- M* x; s        'public' => true,
6 @; f+ O/ w  [( U. J        'has_archive' => true,# J- R( b  x3 \, g/ V* L
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),4 _: A! H1 V! h$ U; z3 H
        'taxonomies' => array('category', 'post_tag'),
% r$ X* {' Z3 ]1 ~1 j) `$ C        'menu_icon' => 'dashicons-megaphone',
. u4 ~) t$ C# R  j        'menu_position' => 5,8 }2 ~, j$ p: X4 v
        'rewrite' => array('slug' => 'site-wide-notices')
9 w' O. P! J3 Y3 p6 d+ |$ K/ Q    );
9 c, a7 D9 C/ N: a+ i  f0 B' P    register_post_type('site-wide-notices', $args);9 U5 d1 k0 |3 D. [
}
% a# P4 a5 P' Y. J0 u' _add_action('init', 'create_custom_post_type');. y( o: @6 f: ]' I
```2 c+ A: `/ T/ S/ K6 L6 o% P8 v/ T; w
0 d8 c4 G3 U1 j* t
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。4 n( F! p, A5 Q
5 ~+ Y' s. r9 U; B% a
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
, m+ c# ~% ?9 {: M: ]# T
/ J0 w; Z8 ]  t6 P9 K: S" z3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
6 n) p$ E8 v0 Z5 ?) X! f5 v) D3 E
. j7 v" h* M  s2 d" @+ K: Q```; I' r2 z5 N" j
$args = array(" C5 F) f' _: u# g3 m, T
    'posts_per_page' => 3, // 显示的公告数量
# E3 d9 L& }! Q& f4 ]    'post_type' => 'site-wide-notices', // 公告文章类型
: S+ ^0 m/ N5 v* ]/ o    'post_status' => 'publish', // 公告状态; b5 S: n+ F7 Y' X7 m, H4 @! H
    'order' => 'DESC' // 排序方式9 p2 ?$ i+ M( ]9 L: W
);
5 O' w, ~& [3 o$ A1 j( ]/ {# g9 h+ `/ p' {9 y3 N3 ^6 o; j+ w
$notices = new WP_Query($args);$ S4 M" p/ l7 `4 }# H! r1 b
if ($notices->have_posts()) :
' R( E; K0 C& g( h3 Q/ G' V# @    while ($notices->have_posts()) : $notices->the_post(); ?>
( I1 D& A' ?. A7 O  j        <div class="notice">  i) g: t: S. U4 j. n
            <h3><?php the_title(); ?></h3>8 n4 \- \! O# e$ q. ^# Q
            <div class="notice-content"><?php the_content(); ?></div>/ c5 ]  `1 a$ z9 `# F$ t
        </div>
5 w% @% `# c+ L4 F    <?php endwhile;
. X! c7 ]/ G. w( m# {3 Eelse :$ r) u+ j% f  g5 ~" z
    echo "暂无公告";  z& _+ v5 W( M  F3 t
endif;
$ a5 @: I: w. y6 F3 Zwp_reset_query();
( W0 v% p& H3 V# p```
% V* B% }. w# E5 X/ a( v$ v* s
9 A4 D! L$ E( L0 P& ]# g0 \5 m4 l这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
3 Z7 T* ]; @, Z3 m: {% n/ D2 {: m! D0 \5 D0 v: `1 ?
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

334

主题

517

回帖

3396

积分

管理员

积分
3396
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?+ s, f2 u$ D9 A$ d# [0 R3 L" j

; \, a  y# V) @4 j- Y2 ]. f/ t如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
6 N- i% r. r& V, w9 f3 J' }* U2 w
以下是创建自定义插件的步骤:8 ^5 v/ S8 M9 [/ R" ]" i

9 D- A( ?0 v8 M+ {* }1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
" a* x: q. V) S; t% m5 V6 C, C: c3 D* V' H
   ```; A# O2 I& H8 n1 n% N  V' e- f
   <?php3 f1 k0 [4 R# I$ X* j) _3 T
   /*
: Z0 P; w1 Y1 @$ B$ Y1 k; q   Plugin Name: Site Wide Notices Plugin4 H. {& S& O. S8 ~) E  t
   Description: Adds a new custom post type for site-wide notices.
  x) |# \6 O  c   Version: 1.02 `) X: l8 d; X# {# _
   Author: Your Name9 @" d4 s  Z# R) J9 Y' I
   Author URI: http://example.com9 R) O8 O" `- s) x( `% ?) \8 \
   */1 J* U2 f: |: m" v
# _2 z4 ]) I8 A  B6 i
   // Add plugin code here...
- H& Q( L! Y8 Q3 i! R& V   ```9 e5 f0 \: {6 r0 m4 S
& S6 O3 e) w6 C5 M
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。5 @- _. [; Q" }% b$ Z# H) e) f

7 q: Z; M" z3 l& l) X2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
% Q2 d! \. g' c  e! G! Q$ W/ C. L% I  ^2 g
   ```/ x$ ^  [  Y4 |0 A# [
   add_action('init', 'create_custom_post_type');* k7 g" Y/ N4 h- u; b
   function create_custom_post_type() {
/ Z7 ?! P9 k5 X      $labels = array(
, r- m# \9 m5 p" r8 a- A# w          'name' => 'Site Wide Notices',
+ _- l6 x1 ~5 j' d+ |/ t6 S3 L          'singular_name' => 'Site Wide Notice',9 U: h# ^' K: ?! X# v. W6 y( X3 a
          'add_new' => 'Add New',
; x% @$ ~* \1 k$ I9 v          'add_new_item' => 'Add New Site Wide Notice',
' k1 e6 [: u; u' S: |          'edit_item' => 'Edit Site Wide Notice',% X7 @3 e" s% X: v: p' G% H
          'new_item' => 'New Site Wide Notice',! g9 ?  T2 g( }" q. G0 f1 L
          'view_item' => 'View Site Wide Notice',0 ?4 o; D) z6 L( w7 t
          'search_items' => 'Search Site Wide Notices',
7 M! g0 L0 f# I0 P+ I- k8 ~4 t          'not_found' => 'No site-wide notices found',
+ b* r7 C' _9 {2 p7 k; H          'not_found_in_trash' => 'No site-wide notices found in trash'  L0 v% Q4 ~6 j0 L
      );5 W# G1 k( ^& m  X+ p7 n

" o3 E8 X) q, I( K) j( R6 B      $args = array(
; {  `3 X% C% W          'labels' => $labels,
3 C! @+ z8 e: t8 q$ ~1 k) K          'public' => true,
* D0 h  O, E& Z  U. B          'has_archive' => true,
; D+ M+ ]1 Y9 {- Q; [          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
! o- n' L! M8 \: y3 z( Q5 B- n/ i/ L7 q          'taxonomies' => array('category', 'post_tag'),$ O! }* m7 x5 n1 N( J
          'menu_icon' => 'dashicons-megaphone',
) ]2 ~3 e! K6 N$ F          'menu_position' => 5,
* {# o" B# t  |1 y/ y! K* _% M          'rewrite' => array('slug' => 'site-wide-notices')
$ u. \0 t! s& q" w7 h7 e( i& d$ h      );
( w" W4 H+ v, U% O3 F' a5 \# b! L9 T3 e+ i& R$ ^
      register_post_type('site-wide-notices', $args);0 h& ~& `: Y: W' H9 }( w
   }
* a3 ~5 ^1 P' t* R   ```
1 s7 g1 v  d) I! e. M$ H
0 [; F- O4 y; X4 \) |   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
, }/ {- ?# a' N& R- y7 h. m# }! r6 j; S  I5 M# ]. e' Q/ U6 ~( Z0 d
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
* X& [) }3 q6 B8 y  {3 H. A6 l) J6 M! D0 Z$ S  q3 g  Y
   ```
; Y- H0 g% }6 L! Y/ P   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');& h1 {" j# f& a  P, c6 y
   function add_site_wide_notices_boxes() {
$ {6 t0 `' d7 t- G# ]      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
' \& E4 ^2 O4 i  d2 P1 F+ F8 b2 C   }9 g4 P& a2 a" ^4 A5 A4 U" H
5 |% m3 ], h% g/ Z. \/ D2 v3 ^& W
   function notice_details_meta_box($post) {5 I! Z2 K( `& `* {/ B
      wp_nonce_field(basename(__FILE__), 'notices_nonce');$ v& c: ~! H9 P' b& b# ?9 t2 Q
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
9 c& P' M1 |9 g; t      $notice_content = get_post_meta($post->ID, 'notice_content', true);
& f+ w7 X6 h) l& C6 W+ ?, b      ?>& J; {3 |+ d7 T, D* \0 N. o
      <p>
% Y+ R# f1 p- O: t5 Q$ n: d" A          <label for="notice-title">Notice Title</label><br>
6 R% T# g8 W; b5 J3 \          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
8 G0 _4 r1 r: Y2 H      </p>
" |7 q. t3 t0 U5 E+ w: ]! w      <p>1 g- ~0 R, ^( A7 c+ z2 n* M4 N5 ?2 T* j
          <label for="notice-content">Notice Content</label><br>* I0 A0 Q* t5 _, d% v, L0 V, ~9 ^
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
& v3 y6 `4 U, B      </p>
2 g' n7 n' [3 X4 \6 N      <?php
; w) R  k7 ~6 z( Y" b   }# N4 P$ U, m6 A

  C" Q9 s: C5 ^# Q1 I4 p   add_action('save_post', 'save_site_wide_notice_meta_box');
9 u% z/ w5 l: A+ ]  F8 `% A2 M   function save_site_wide_notice_meta_box($post_id) {5 ?9 D" j, n- S4 ?# b: G; P
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
2 v* O. y. L1 \) ]6 n; D) @         return;3 d, `" Y# C( \2 o( O! U$ A2 t
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
3 m( X& J# ~( ^' F         return;
1 ?' u  r- W) ~* ]! l) v* E  }5 H! {
, j% x, y3 I: e5 r, F: X- S      if (isset($_POST['notice_title'])) {
6 q* _0 k) N8 y( T, T, ]& y; C/ Z          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
- r5 L; Y- L4 {& ]/ i! Y: C      }
4 `) u% M* t7 |8 R      if (isset($_POST['notice_content'])) {
# K& c; U  Z: o* @& k- I8 C/ s( \          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));- }! [  @& \) o+ T( e2 _
      }2 O0 |: g4 _1 u( V  Z
   }1 U$ K  @  b$ I6 b+ X  |
   ```
) J+ }* I% ]3 E# u: u$ L
5 [3 ?4 m1 P$ L# x0 F   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
" }) a; t% D" [9 Q8 }; `9 M! T2 p; X2 u& T
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
7 P+ c" B: {/ P9 s( P$ U9 D0 _1 _
   ```
3 R& X  b, Y5 x) ]- F   $args = array(+ R  d0 I! ]' i. q
      'post_type' => 'site-wide-notices',
; n, |! K2 d, v0 A- b4 H. _      'posts_per_page' => 3," W0 \1 I, E, M/ _0 K3 h4 f
      'order' => 'DESC',* I2 C3 V" Q! w) t0 T$ s( z
      'orderby' => 'date'1 @3 j1 `9 u+ y, a
   );
$ ~5 `# U8 X. w7 [8 ]   $query = new WP_Query($args);
5 F5 E9 u  s8 b+ p2 |/ j$ D' C   if ($query->have_posts()) :
# C6 z6 k$ Z& D      while ($query->have_posts()) : $query->the_post(); ?>4 ~/ y2 n( _% |# B$ O
          <div class="notice"># _* ~' v% j  d. k
              <h3><?php the_title(); ?></h3>. C, `) k0 V( I
              <div class="notice-content"><?php the_content(); ?></div>6 _. M2 M4 n: v$ W( h0 l3 j
          </div>
, c& S, U. U2 r9 n/ c9 a: L      <?php endwhile;8 b. {$ x. q# R0 M: F
      wp_reset_postdata();
7 r  ^( a5 G& o8 K7 u   endif;8 k/ s7 F- Y) C! M( o' Z
   ```
( T! f" R8 {6 _) a- I
) P7 k, _$ }+ v, C% W8 o   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-2 18:22 , Processed in 0.077188 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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