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

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

[复制链接]

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
) y3 p4 A! v5 n( r* q; L! q$ v3 \  g+ i! b" L, R5 l
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
: h" R0 O( t, k4 c1 A" K% i4 C
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
, z8 B) A. A& G2 Q  F8 |; j+ n$ H: O
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
. k& ~" u& ?0 Q9 l5 h5 W- f
# b; E" K( x1 s/ z7 u/ S4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。3 k+ D. k# y2 K

" o. ?$ q+ a: G# N. h注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?  X6 ^# w6 a0 v5 R" v
$ @! h' x3 q! m+ p) o. y" V
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:( ~5 b. }9 [: j/ R

. A( i) I! C. k: v# h0 t1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:* ?; I0 A/ {0 G1 R- R+ D; F. @1 f

4 R2 C9 v2 y6 X1 M4 n   ```
  T* `& m+ D; Q' z! _7 M& s7 u/ v" ~   add_menu_page(
! I2 u9 ]/ a2 e; `; i8 v% n       '全站公告',& x% n1 V! n! I3 ?8 `
       '全站公告',
( q9 u  o, v6 b* i# K" J       'manage_options', //需要的用户权限" A9 [. W  C* v$ e
       'site-wide-notice', //后台页面的 slug
% W% e; z% B8 a) o: q7 Z       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
0 L. ~1 O. y0 U       'dashicons-megaphone', //用于显示在菜单中的图标  \1 a5 s+ Q. ^$ `: C2 f) R
       30 //菜单项的位置! f8 Y7 q, g; v5 F. P( t& n+ S
   );
: [7 n' b; [2 ^/ L2 @% h: z   ```, n. \" Z) L; Y

7 q! L$ T) X6 P1 m   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
' d5 |, Z0 {7 z( ?- @) }: F' |% b
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:! T1 r, e6 ?+ G

3 j3 Q' n/ ~8 k: Z   ```
1 F7 V4 f: d& ]4 |6 V/ y% [3 j5 ^. e4 t   function render_site_wide_notice_page() {+ x$ [: t+ |  a3 ^
      // 渲染后台页面内容
2 O: H# z, ^- `% v4 K& L8 F" Z5 B9 [      echo '<div class="wrap">9 c% p* ]+ \. N8 b0 R5 @9 e
          <h2>全站公告</h2>+ {) \$ Z7 A1 S9 t9 B* i
          <form method="post" action="">3 `+ T: D  M  H) P2 v
              <label for="title">公告标题:</label>
, ]& b" C8 o0 ~0 ?: }! h( [              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>2 x+ G" ]+ o2 G- q' ]& x
              <label for="content">公告内容:</label>8 x& w5 Q' S" u* u
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>1 k; i" p7 K; Z* ~" K3 y% }2 \8 |
              <input type="submit" name="submit" value="保存设置">9 s0 j5 D" W5 F. Z8 y( z- }
          </form>
: p1 L' f4 c) I0 Q$ H8 j      </div>';
. V) T+ G- {, ?2 B# N% S
) g- J6 d5 m8 J! ^4 Y1 I+ w      // 处理表单数据
* L, a9 h4 Z- d. z1 s& x* r      if (isset($_POST['submit'])) {- k4 v$ L* P  c
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));  l1 x2 k/ _2 Z+ x; k0 A# e
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
5 `% z; p/ B% |4 q      }
3 ]% b3 \- D; V! p1 k: ]7 _! s   }
- X0 P$ g+ ~* P# h! Y! X, H' n   ```
4 x5 ?0 l8 A4 D4 u& _$ Q  g) w7 _
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。. j& i* q6 C' u. S* b8 ]2 [
+ c0 n# i# V" Z
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
5 g# O" `7 l; D" E+ |$ S* r/ s$ D" K2 O) ?: P$ y- j( O
   ```
2 G3 ?& S6 D) n2 L$ C( t+ W. H   <?php; T: }: v3 }  I9 Y
   $site_wide_notice_title = get_option('site_wide_notice_title');
7 N; a; d6 ^: _9 E2 Q& i3 m  c, a   $site_wide_notice_content = get_option('site_wide_notice_content');
# Z8 d' v" }5 @! M7 X% @   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
2 D* z2 \& u4 W, n6 Z. ]2 n4 Z       echo '<div class="site-wide-notice">';
/ x' r2 K2 w, ?8 E3 T       if (!empty($site_wide_notice_title)) {
" w9 `+ k$ j- Q6 l3 r% \: o2 w           echo '<h3>'.$site_wide_notice_title.'</h3>';+ {, K  g' a" ]' y/ y) x
       }- v7 v* p. x5 q8 j  L6 }
       if (!empty($site_wide_notice_content)) {
, ?! P* @* a6 e& @% R& W           echo '<p>'.$site_wide_notice_content.'</p>';
$ {9 m6 g0 j* ~3 ~+ h. o9 B9 J# `       }2 M! m& s4 Q: F9 ?
       echo '</div>';0 h8 Y' z$ }/ W  K
   }
# D( [: n- W' r2 C& ^8 b- a   ?>* E7 g4 ], w, D" G! G4 R
   ```) Y5 Z' i9 V$ `+ n# Z
9 y* a$ C0 V6 D& f
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。9 ~+ M$ C8 m4 |- c" p

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

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
! B$ S) }% A, s5 p2 _* n8 h" p- d& F7 j2 R
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
9 M$ T" k. K: j% L% G% V
9 q# J" w1 S3 \6 p0 E1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:; \- n7 ~- C! u0 A" |! |
! F: G' u" ?: V3 U! t6 h
```
" t6 j  H. ]9 m) c/ F' gfunction create_custom_post_type() {  D/ M! B- S# w
    $args = array(# o  t& t: @7 I* t
        'labels' => array(
# P0 n& }  ^5 z0 C" b            'name' => '公告',
1 S2 A) D/ M% F# E: A            'singular_name' => '公告'% n9 g: B5 C+ f5 b- \
        ),
5 Z, m6 F# \3 ?# s2 o% A& O% v        'public' => true,' {3 N. c, K. M, u8 M! K
        'has_archive' => true,1 H) A0 j8 |8 K  [. F$ Z# |. S
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),1 T* x: D, J9 }3 S# M4 R  z+ A( x% e
        'taxonomies' => array('category', 'post_tag'),0 v& ?1 {. b3 r  F, ]: H
        'menu_icon' => 'dashicons-megaphone',
. M. ?: K6 \& E* X6 X& p" G        'menu_position' => 5,1 t8 ?$ ~) H. v6 t
        'rewrite' => array('slug' => 'site-wide-notices')9 E5 W3 o2 ^) q- m# u( o
    );
) u- h% h/ J. E$ M/ @) {5 A/ ^    register_post_type('site-wide-notices', $args);5 i, |1 i+ J. ^- x  M. e
}
% C8 D9 {2 q; ?9 @9 J9 hadd_action('init', 'create_custom_post_type');' V9 C; P+ A/ c
```% ~) `$ O$ l7 ^5 B: Z) a
4 n. W' e" `  |* V; B0 C4 V& l$ K3 Y
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。" ~) R& s0 t$ [1 g4 J! x* O2 b6 @
: n2 ]2 \* [7 {
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
' q# Z5 Y1 T$ g6 |, N2 K7 ~( _! p/ x! h  {
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:! V" G3 V4 U+ m3 w; C" U

8 H6 O+ ]- J' ~( P) X```4 g9 ]) \9 I& U. ]
$args = array(
3 B/ f0 F  x% k) W, a    'posts_per_page' => 3, // 显示的公告数量
) y- ~" b2 \" ^" D! B* n5 ?* b' Z/ }    'post_type' => 'site-wide-notices', // 公告文章类型9 m- x, h; [! a. q0 ^
    'post_status' => 'publish', // 公告状态; {: K" l: u: J  M, a7 O
    'order' => 'DESC' // 排序方式
' D$ Z( U9 \1 V% V, ^! w);
+ p/ s9 W. h" W4 U# h/ J7 F" ]" Q/ }% T$ M( h
$notices = new WP_Query($args);
, M: k( I+ j% I& c0 ^) Bif ($notices->have_posts()) :
; v# J' x( W$ ]( E/ P    while ($notices->have_posts()) : $notices->the_post(); ?>- C  P) C- e& m
        <div class="notice">
7 ~0 C6 Z$ K) g! `/ ]7 `8 z            <h3><?php the_title(); ?></h3>1 J3 ^) Z" C9 k) v, K
            <div class="notice-content"><?php the_content(); ?></div>
8 S  C) `' J5 l8 s2 J5 H        </div>/ i) W* ~$ ^1 M* |' n. O
    <?php endwhile;
# M8 ]: c8 d* v  t$ D: Lelse :
6 \! U0 z$ n2 d9 `& P+ \' s    echo "暂无公告";1 r1 X% h* R  {' u% ~
endif;
( Y4 g; O: p& K) p* w3 @6 Wwp_reset_query();2 z, F+ c& }. L2 Y6 J) v
```/ ^+ O2 x: r% T  a0 Z) `1 X' G
' u- [0 H- ?9 Z* Z
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
% s6 x& u/ a+ K' {
9 ^5 C" E  R% ]# p以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?! @% J, g' V/ q

3 i+ e! m! H: d如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
; X) y  J" v5 U- N: |6 {1 Y; V! J6 M3 w& ~! Z
以下是创建自定义插件的步骤:
/ C0 j, _  F" k- L2 A
4 z5 Z: z; t% f/ n1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:8 c7 a7 y: ~5 X
8 B% t5 R9 D2 X
   ```
) v7 e* [  R) g: E  Q. @$ D* J   <?php
4 ?# {1 [4 g% e3 F$ l1 Q) x( d   /*
: P2 A, J# f1 H" g3 m* e/ _6 Q   Plugin Name: Site Wide Notices Plugin2 \; x# X, Y3 [0 {3 X) D+ E
   Description: Adds a new custom post type for site-wide notices./ a. L+ m! q3 Z
   Version: 1.0) m9 {9 ?4 a# L% H2 }6 T
   Author: Your Name
+ |9 u7 e) s7 ]' s   Author URI: http://example.com
$ \' T2 Q9 X8 \$ R   */+ a( y$ V& p3 I+ ?" z: B" \

' p- E5 ^4 Z9 r2 M; E% U9 d/ y   // Add plugin code here...
3 k0 Q' B8 E$ ~   ```; I: }( G3 O* R1 b3 ^" h" D  w

$ g/ e4 H  I3 \% l+ P   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
( _1 k5 \1 w3 F4 f& z9 r! L' D( o- i5 `  d8 Q2 x
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
* e5 H) w5 F0 ~( w
4 s$ f- A7 s3 U" `' S   ```6 \6 I' @: L9 `4 i; j5 F
   add_action('init', 'create_custom_post_type');$ Z5 s! m  e$ A# Y( F- [: _
   function create_custom_post_type() {
6 O# U2 C0 D7 y* M- L      $labels = array(& z# m% Z5 R# _, M1 s- }' ]
          'name' => 'Site Wide Notices',
" }5 |0 ?3 {+ x, Q4 u: y+ b3 z          'singular_name' => 'Site Wide Notice',2 z( {6 j: w6 L  `9 d6 J
          'add_new' => 'Add New',3 h+ T# K% V7 \/ M% F
          'add_new_item' => 'Add New Site Wide Notice',
+ ^2 b6 Q+ {/ g/ O+ u          'edit_item' => 'Edit Site Wide Notice',
! {/ v/ j5 Q3 m# c9 X7 o, R          'new_item' => 'New Site Wide Notice',
2 X# I  O0 D0 O) y          'view_item' => 'View Site Wide Notice',
* x$ Z2 C: r7 F$ J/ y5 s          'search_items' => 'Search Site Wide Notices',
# c+ M* ~2 ^& ^# K8 y: h          'not_found' => 'No site-wide notices found',
, b: ]) P6 D: S* z          'not_found_in_trash' => 'No site-wide notices found in trash'2 o. k' i9 w! b5 N8 w
      );
6 J3 |& K6 E7 G2 t4 a* F( G% D9 G9 P3 l8 M3 ]
      $args = array(  A+ F& ]. X- H
          'labels' => $labels,
9 L3 w4 G) b/ Z: j# P          'public' => true,1 m8 U: X8 t* Z, A/ d" E& N/ Z# t
          'has_archive' => true,, G+ Q& l7 i& P. J1 d+ g
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),1 }$ m( l! A' W( t) i5 v' B9 l
          'taxonomies' => array('category', 'post_tag'),
) P& ]; ^3 ~& q4 \. l          'menu_icon' => 'dashicons-megaphone',
! n, e- @2 e' j% @8 c: R5 |" [" ?          'menu_position' => 5,8 ]% k- l3 J: U! F5 F6 ?2 C
          'rewrite' => array('slug' => 'site-wide-notices'). e  \8 ?) @1 A6 h; z5 Z0 K; p
      );
9 C' r& c0 g2 E2 i( ^, }) D6 v
8 F9 u% e; i6 ^2 g      register_post_type('site-wide-notices', $args);% j* L2 |! K. \- n9 D6 ]! |1 }4 a  v3 u
   }
6 g; Z0 K# B% ?  x; ~# d   ```0 [& l9 M: t2 n# D4 u- }

% ^: v6 V! n& S/ N   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。/ a5 V1 P& |7 w
, C5 W4 |: b2 a+ j) @
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
) H8 j- D3 c* Y. ^1 y4 k0 L" {& A3 N" o% N6 |
   ```
+ e- s1 f3 t$ w- F1 m   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
7 [) Z' v- c$ y6 @) [" A   function add_site_wide_notices_boxes() {) p2 S1 |0 i1 K4 f. A7 _& J+ r
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
3 H) Y2 |! A& p! X% w   }" R$ S. U  O+ b$ s+ C  p
4 m  O, r. k5 Q- D: A
   function notice_details_meta_box($post) {. K) G, O) X! ?* d: F2 x
      wp_nonce_field(basename(__FILE__), 'notices_nonce');
9 w" ~( i  p$ Y# U  _      $notice_title = get_post_meta($post->ID, 'notice_title', true);% @$ Q) I: U' b% \: _
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
& s% }& K1 F* E- y, x4 i8 ?$ u6 X      ?>! q5 B9 @; w7 v! ^7 ^/ K4 _
      <p>
: |1 G7 f4 w5 G  K( e' K          <label for="notice-title">Notice Title</label><br>, L* }1 ^9 F1 j
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
  q  p7 G5 V: ~% @      </p>
2 e1 ^- v3 Y- b6 [  e3 B      <p>
. G( L5 C' S5 K$ Q" G% _+ L& L% U1 M, i( t          <label for="notice-content">Notice Content</label><br>
& K5 |% W$ p- g          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
) S8 A) R6 i( u1 }+ M& L3 r: U! h      </p>$ `3 g5 R- E2 Y4 f! Y
      <?php5 B! P" t& }3 P; p
   }% R4 u0 I/ t* e1 l, |9 I

& F8 p  b; \' Q+ g9 n- |* [   add_action('save_post', 'save_site_wide_notice_meta_box');; ^# P$ o6 t/ p
   function save_site_wide_notice_meta_box($post_id) {
, D7 z* h  \, j! Z( X- c% u' l7 d      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))4 H  `$ G, K2 v
         return;
5 v. N/ d6 t, W      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)6 F# x# U$ ^: s8 e9 ?
         return;9 Z, b( v1 n7 y* v! E+ U/ p( [

. j: Q5 _; @( X" C      if (isset($_POST['notice_title'])) {
. o# _' y" k! G1 A) o          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));; h, I! W  j- k2 s% u0 N: t% H: v
      }% y$ k( {' c! Q8 c0 I7 l9 \5 |
      if (isset($_POST['notice_content'])) {% n% d# q# L0 k, [# r. U% k
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
, L7 Z) P8 r! ~/ \7 y8 T      }
( B; V! ?: _' a8 G- @/ @   }
8 m5 m* \( \1 V+ `  c7 W8 G, c   ```/ Q1 x4 F8 L  g; p  u8 T
, s; O0 v7 `1 S/ g, v! Q6 s
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
. I# T7 N) L% w, q" ~8 d7 S1 N. N1 x, k' o
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
2 e  i* ^0 k5 E# h
, q9 J5 u4 a2 Y+ W7 M" T0 J" @8 M- i   ```; E! U7 }2 l5 ~$ J
   $args = array(" p6 E0 O) b6 w5 D  c
      'post_type' => 'site-wide-notices',: g; P- {6 w5 H& B
      'posts_per_page' => 3,
6 u+ r1 W$ V. n; c9 s      'order' => 'DESC',* t* d: c" X( P8 Z8 u* X3 U
      'orderby' => 'date'
8 E) e$ P$ n/ q: @3 Y   );2 u, |+ R- i1 B) c# K# v  R6 G. F
   $query = new WP_Query($args);$ k, ?1 O' B: Z8 r; Q
   if ($query->have_posts()) :- `3 d- \" G9 c  q' b/ c$ _9 o
      while ($query->have_posts()) : $query->the_post(); ?>
; g1 m- d/ w" ]$ y' N! V          <div class="notice">3 {5 K; c4 R2 W* G  M( p9 K
              <h3><?php the_title(); ?></h3>
% k) S7 Y2 s6 d              <div class="notice-content"><?php the_content(); ?></div>- w" u1 m; T; c4 V6 A0 \# ~4 I
          </div>7 a, e8 H# T1 f" }
      <?php endwhile;
9 `1 x& j2 D5 [8 a7 m      wp_reset_postdata();
6 X% g; T: U9 I+ g5 T4 @5 w  W7 H   endif;
  w$ ]0 P2 `+ z1 p) P   ```
$ q! X8 G, z0 s: U
: V8 d% v1 x9 @' G( t   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-19 09:26 , Processed in 0.012924 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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