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

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

[复制链接]

341

主题

540

回帖

3565

积分

管理员

积分
3565
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:' {1 j% B. o6 H/ M4 K4 Z- j4 [1 g

, O# [1 @: S8 {& V% f. x1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。, E5 [; L( {' M" w, l3 @, H
. L% X1 A/ S; l4 {, N: Q( K, n
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。( H: o* w. X! c2 k$ W
/ L/ F0 q5 p" j4 v/ N, p" j$ E
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。' R7 B% K! h  y& s, _  C5 T; m
4 D" q! |. U7 V. u: t3 S
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。# p. M7 _, w$ l/ t

: x4 h! B3 k3 ~注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

341

主题

540

回帖

3565

积分

管理员

积分
3565
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
: {% h% \% Z5 T( M/ O! O- |
  @5 W( ]: e& M, t; L' i如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:! R1 z9 R0 ~- _4 S4 |; E# ~
- u, h2 P4 J0 r2 T
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
& ~/ p( i0 C, V4 E( ^* D7 d6 o
9 i# ~/ `3 W+ I8 M! Q$ B   ```
3 {4 J" {' M9 e1 I   add_menu_page(/ q7 E3 [" q: O- x" d
       '全站公告',
. Y. p' j5 D% @- |5 A; T6 o       '全站公告',
, k* y" i3 ~0 k" h4 a/ Z       'manage_options', //需要的用户权限
/ P% s$ u) a% g3 E: ~8 t       'site-wide-notice', //后台页面的 slug
; B# ^# G1 u+ d( m; y" q       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
8 V6 c+ r! ?5 A; r" d9 v- o6 U       'dashicons-megaphone', //用于显示在菜单中的图标6 b7 r$ M/ T+ e$ d
       30 //菜单项的位置
5 O* Z: u1 K; Q' q' c/ g9 K. m  Q   );( S4 a- g+ [7 o2 O0 u2 z2 ^  |. c
   ```
5 C  V+ v& Z1 N" g/ U/ d4 t2 i( K' i
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。5 K, e8 T$ b, T9 |

. f) Y6 k' Q: `7 Q% `; l2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:* L9 B" z3 K8 O! |! [

6 E# l( I) t+ C/ l0 \+ C   ```
& V# S. T. t8 x) i/ B   function render_site_wide_notice_page() {
. q1 t- \  T7 T& u+ P5 `% w      // 渲染后台页面内容" }" J# t$ y  b# g3 D) i; Q
      echo '<div class="wrap">( |6 E- g1 e" d8 t4 j9 j* a
          <h2>全站公告</h2>9 E' u* K  r6 h- |
          <form method="post" action="">7 D+ w5 C4 i4 {% o/ ]7 s
              <label for="title">公告标题:</label>
, g- i1 Y, p" K- a& B% e: x  X              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
  x2 w7 j7 P4 L, _4 {# j  d& U4 A% I4 M              <label for="content">公告内容:</label>
: w" F) u/ e! n( k              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
$ Z: y- j5 ?7 U6 Z- s2 X              <input type="submit" name="submit" value="保存设置">
: V2 u) h# o) \, `          </form>
% `! F3 Q0 m$ _! |% l      </div>';
9 x6 L+ H5 _; h: R; P
' X* d3 b8 J. m3 u& i      // 处理表单数据8 Y4 k2 i: k+ |
      if (isset($_POST['submit'])) {0 i$ t" k# i+ h$ i  k8 B
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
. ~& C' L& h" Q7 s3 ^' E  G          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
: i1 }0 F( j6 R; C      }
5 x, U1 `& Q0 m- y- s1 H- D3 }% L   }
& e6 V, `% y* F$ C. h8 g" ~4 i   ```
  f% s* i% D+ w  f4 u6 z: H% {8 p
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
' f1 n7 c/ C7 z6 k8 w: _
7 ^4 p$ f; m- I- I  ~- r1 S' C7 s3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:2 S0 I" I4 A0 X! h; G: R( s
8 Q8 a' [" a1 N2 l' D2 S" w, J
   ```
. I4 d, c8 E: d4 V: R* w6 k2 f   <?php
+ u: a9 a4 a% A' Y* K6 h   $site_wide_notice_title = get_option('site_wide_notice_title');/ T9 L( S7 N9 N) P* b
   $site_wide_notice_content = get_option('site_wide_notice_content');/ T; g* _% r2 M8 Y0 g8 q" M7 e
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
# a9 j9 [: ~5 j1 k7 k2 G) n1 `       echo '<div class="site-wide-notice">';
! f! ]7 t0 ~6 M1 B/ i4 ]       if (!empty($site_wide_notice_title)) {( B$ j. O3 S5 N8 I& g6 m
           echo '<h3>'.$site_wide_notice_title.'</h3>';8 h+ g7 \0 W( l3 |0 \0 ~
       }
( U+ Y0 ^& e( j/ l       if (!empty($site_wide_notice_content)) {
" _) r' R4 s. o7 I           echo '<p>'.$site_wide_notice_content.'</p>';
; L, I, c: J1 K/ Q       }
) S6 @  f) U: E* [( F       echo '</div>';
0 G4 o$ b6 _, I- ]& r2 h   }
- k) \- w. q% \, G   ?>6 j3 O2 ^% a. j* m
   ```) g1 h6 ^, r9 A% K+ G# L2 t1 Q  b

# @/ m+ ^) d5 q* m   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。+ y  m9 c) k7 N. U! L
) [, _  j) W3 t( E
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

341

主题

540

回帖

3565

积分

管理员

积分
3565
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
2 l' g+ `0 ?/ ~0 [; Y
- [1 q" @' `3 g& F) [您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
9 P' m9 s+ H# G) B8 s: P6 s) a5 G# \- f1 G
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:+ X( n! d* {- B& n" x5 l! k3 A

' B% B# M- d, S2 j6 v```
; D; X, l# M( @$ I! Jfunction create_custom_post_type() {( J1 \5 I- y& Z. j1 J
    $args = array(; z$ Z, Z7 x! v) S9 C
        'labels' => array(
6 }  c1 J9 R$ g9 {" `            'name' => '公告',9 {1 x% t# F+ q. M! m  C9 k! I
            'singular_name' => '公告'* K6 d* H( V& t( U: z
        ),8 O( g" n! j6 i. N8 w* V% R0 U0 b
        'public' => true,, R6 P/ @3 m' Z: U) \
        'has_archive' => true,
% o, \- r. g6 y) _3 p0 }& b: x        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),/ X# q: d/ k* D0 y' o
        'taxonomies' => array('category', 'post_tag'),
) f9 D/ A+ @3 I5 p        'menu_icon' => 'dashicons-megaphone',; Z0 W( [+ Y: C, q. |
        'menu_position' => 5,1 S! z/ l/ q) n% k% L6 v: y0 J
        'rewrite' => array('slug' => 'site-wide-notices')$ Z9 c/ m! L" }+ P
    );; y9 T" j& u$ @) O3 z9 v4 g9 Z' t- O$ g
    register_post_type('site-wide-notices', $args);5 }4 ~. H0 z5 F
}8 f0 @$ O! o1 ]4 {5 x' v
add_action('init', 'create_custom_post_type');
4 R6 F# N% M9 y0 @1 j/ `6 ]$ b* V```
4 V4 c/ s  g5 Z4 x2 a& K$ v$ e# p" _$ }6 O7 ~9 B
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。3 k( o+ [) w1 j) M$ D
3 L: i8 _+ i) S3 b: g
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
9 J- H6 ~) S1 p
$ M, y# p* s! e4 ^8 G! J2 k3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
& T* j" {- G8 d5 _" o
- N( d2 {. h0 r9 Q, |4 @```
6 D) {- W1 C% `; m3 P  @; l$args = array(
6 l, R0 ~' w5 Y# ~    'posts_per_page' => 3, // 显示的公告数量
7 D# X8 M8 [" ]" Z    'post_type' => 'site-wide-notices', // 公告文章类型7 H- t  o& ~6 B- a- V9 Z
    'post_status' => 'publish', // 公告状态# u) s6 M# f7 z  _1 a# O
    'order' => 'DESC' // 排序方式
& T" r( @' x9 x# E/ |  N; X);
) O) p$ @! a5 g0 h) S) f
# u6 p2 ]1 E! Y4 x2 M$notices = new WP_Query($args);
1 ]  a. V) e8 Z6 N- K. zif ($notices->have_posts()) :
4 x) k+ }* _5 V9 V9 ]# {3 f  B# D    while ($notices->have_posts()) : $notices->the_post(); ?>
$ Q% i6 ^8 ~; \4 y  G; `4 N* ?# J, i4 r        <div class="notice">. @1 e4 {! g% O; u
            <h3><?php the_title(); ?></h3>
) a: g6 C1 \/ u% |( h9 c' L$ }8 E            <div class="notice-content"><?php the_content(); ?></div>8 y/ k" d! W) [' \- H! b6 B2 U- Q; V3 t
        </div>
6 x& u# a4 p9 c( `; b# `    <?php endwhile;5 ?1 A2 h& A$ H% P
else :
) G, |0 K% D; G3 d& X% D& R! h    echo "暂无公告";
( A4 _/ }2 A9 `3 l7 m. Hendif;# L' o7 Y9 x; ?; G7 ^7 z' |
wp_reset_query();! k( Q0 n* _/ B. ^7 c
```; f$ G+ r! ^$ ^! z2 d  q

# N0 z: D7 I- z' [# ?这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。9 \  ~% Z# w2 `' p. G5 ]

) ^3 q; C) z9 B以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

341

主题

540

回帖

3565

积分

管理员

积分
3565
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?& T1 f, k, m2 \4 x) ], j4 g, S
9 f; r# R6 y. }
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。/ R$ ?+ D# o+ P* B; X; K
# @$ c. E3 c, f( `( o' J& e; m
以下是创建自定义插件的步骤:* q$ N1 a' A. w9 j4 ]  a3 h( W6 f7 d
/ h# T& U5 G: u( p. K1 Y' v) t
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
7 j1 ?% f; ~) g( T0 N, U( N0 V( C9 p, v! N. g
   ```+ z- t/ `2 v5 h! r* v. T8 I
   <?php
# A# X8 v& ^2 O! y: b) v) q   /*$ ]% @3 n7 K" B' Q
   Plugin Name: Site Wide Notices Plugin! B8 V- ~9 q4 t* Z
   Description: Adds a new custom post type for site-wide notices.6 L3 X2 X2 Z: ?. s& h
   Version: 1.08 c/ T( y$ i6 r
   Author: Your Name
0 A) M( p; ^/ k   Author URI: http://example.com
$ X0 G2 W4 Z: |0 O   */9 g" O' k5 C# R3 d9 |5 Y# p
1 {7 \" c/ [- b' u  A$ J' g
   // Add plugin code here...
7 w& t! [9 ]% {6 F) X* e7 D9 k. K# N   ```
( Z  q8 }5 M4 G, }( d
$ E! p6 q' ~8 F, L) ^1 q! ?   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
; X! b6 m7 d5 z. l. [4 o8 o+ [8 k3 l8 P9 k9 B
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:9 G) X: P$ g# f7 d4 E

( |3 L* U7 s/ j. i$ O   ```
. u* A! h: o6 s, `) ]   add_action('init', 'create_custom_post_type');/ ~4 X2 `+ B! @# t, Y
   function create_custom_post_type() {' L9 h; [# Q: q1 R+ o" J6 |# `+ I
      $labels = array(
" }* [8 _$ C# B6 ^0 v/ S          'name' => 'Site Wide Notices',7 q9 P: M, Q, Y2 W' C$ r
          'singular_name' => 'Site Wide Notice',
9 V( f+ J. V3 H- d6 J2 K$ m. `4 h          'add_new' => 'Add New',
" O( F) T' }* X, a; E+ U* [          'add_new_item' => 'Add New Site Wide Notice',
/ ~0 E6 F8 m* g+ ~: H          'edit_item' => 'Edit Site Wide Notice',
8 u9 u1 q7 G+ Q4 ]          'new_item' => 'New Site Wide Notice'," o! m8 I1 |! q
          'view_item' => 'View Site Wide Notice',/ a. J( j9 H/ ]$ w2 H
          'search_items' => 'Search Site Wide Notices',
" l2 C; j3 `! j5 b          'not_found' => 'No site-wide notices found',
3 ~* i1 U+ @, k' w          'not_found_in_trash' => 'No site-wide notices found in trash'/ F. m& x( [, L. h3 [, p
      );1 ^5 R& S- I; k- w# r7 e: M

6 i8 ]4 l# v( x$ C7 G      $args = array(
- s  O3 t; w! c! Z7 h  L0 ~6 |          'labels' => $labels,
, v9 ]) ~, ?6 {          'public' => true,% I" P0 J  y) S7 l, c
          'has_archive' => true,
4 \% `/ @/ `( D5 Q          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),0 |# T0 O" i/ {! T! S# ^$ s
          'taxonomies' => array('category', 'post_tag'),
+ G) Q4 ?: H3 o. |          'menu_icon' => 'dashicons-megaphone',
1 g5 _$ Z# }: g( k) U# X          'menu_position' => 5,# j; r& w/ l) K' \* q+ K; L8 b
          'rewrite' => array('slug' => 'site-wide-notices')
9 `( N% Y: t, Y      );
9 M+ L5 k* p6 R" r
/ {& j1 G' {4 e" }      register_post_type('site-wide-notices', $args);, K- O; G- s$ ~8 d
   }
  K1 Y& g4 l7 {  }+ ]1 T   ```
* e. O: |0 V7 N) }* n
/ `3 H5 }" u) C   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
8 E/ o( ]7 {) D) b, i: U* O) A8 ?- ~3 A9 @  _% N8 T  n$ X0 n
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:5 J, N( A, Q' f. F. ?- f
9 z! a/ m% q% }* _9 `2 Z
   ```" a) t9 ]# u# ]7 v/ @6 Y/ B7 c
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');; B& }7 a6 b2 i% K: d) S8 @
   function add_site_wide_notices_boxes() {
/ O8 W3 _# n9 Q6 Q4 I9 S+ S      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');0 E* m. T* ]$ D/ g7 i! T( F2 \
   }
  |5 V5 U. q8 a& B# K* T  X0 t6 |, N* U9 h! d% x
   function notice_details_meta_box($post) {9 g/ t/ {  \: i% V% _
      wp_nonce_field(basename(__FILE__), 'notices_nonce');
; u- r+ m& ~8 y) H' B4 O% h      $notice_title = get_post_meta($post->ID, 'notice_title', true);
+ W$ y. t6 Z  y      $notice_content = get_post_meta($post->ID, 'notice_content', true);
! N5 l1 F; S; Y# A4 a      ?>/ {$ C" {/ Z3 K7 ?
      <p>
" G" `" T# T7 a: D0 U, u  n  B          <label for="notice-title">Notice Title</label><br>
- E% g) u  o& D          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">0 a7 M7 a& _! k" Z4 C8 }
      </p>
) o/ A: G- p  q0 R8 e" m      <p>/ k; W/ u. p2 m1 e# t" F% l8 J
          <label for="notice-content">Notice Content</label><br>- e7 m+ a1 ?6 G# O2 }9 J
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
+ C; z1 \  K+ b/ r% f      </p>
  z2 F4 M5 Z8 q+ x5 T      <?php7 a% S8 V' ~4 C0 v" n4 ^
   }3 ^% w5 f9 {) m

4 E! @& {0 W8 U8 A5 n   add_action('save_post', 'save_site_wide_notice_meta_box');
( M0 l( w! k  _9 `8 P2 ^   function save_site_wide_notice_meta_box($post_id) {
" F1 E7 @$ x: v1 J+ m      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))$ d' Z! R* T/ g, e7 I2 q
         return;: I, q% \8 F3 E( _
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)0 M1 h+ I, K1 W) N
         return;- z+ K% }# w" G# _1 v

0 F6 C8 T& |: `* X# v      if (isset($_POST['notice_title'])) {- R8 p: |+ \& f* \1 c7 |# p
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));/ S) N* K( V, i0 c1 {
      }
; o# b5 _; [9 k3 M: T& d, P      if (isset($_POST['notice_content'])) {8 v7 S$ L5 A9 x$ q4 E, i) p0 a
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
: @* Q' y1 f: d6 q- p      }* m) z' A& j2 }8 G+ a# m  Z/ M
   }
- F3 _9 Z9 H2 C+ L0 ^   ```
5 E% [  w: O9 C3 R* W
+ h9 f  U6 S8 b$ N   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
9 t  i3 L0 L, d3 M5 N0 T) Z% u9 Q2 F" j1 u8 W& [; x
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
+ q% A3 S  G" {4 G9 f7 m) i7 [
! T, g; d+ V( @3 r   ```2 c3 m5 v& }  b( F/ E4 {
   $args = array(
" \1 ?, P- J+ V4 d0 w9 D      'post_type' => 'site-wide-notices',' s, b- d9 ?* t$ J7 \0 X- z# a
      'posts_per_page' => 3,
7 B, t$ O! S% c1 J, g% X1 i      'order' => 'DESC',( N/ L' `+ z) z6 f1 O. D0 V
      'orderby' => 'date'0 A7 O) X9 s$ H: u0 {0 I0 T8 l; T
   );) Q( V  ^! m9 h' I. X1 J1 p( S
   $query = new WP_Query($args);
- \1 a$ Q0 F6 X. ]   if ($query->have_posts()) :
2 B, W: s; W/ ^7 }      while ($query->have_posts()) : $query->the_post(); ?>
) o* x7 h5 N) \4 ~% u" a          <div class="notice">* o2 z( @# J2 O) o
              <h3><?php the_title(); ?></h3># i/ A$ A$ T/ K6 ~
              <div class="notice-content"><?php the_content(); ?></div>+ \  S" ~! v& s" S2 a4 c
          </div>7 m6 i" ^$ v" v" M- {
      <?php endwhile;9 x  A( Y  u  B6 D- n
      wp_reset_postdata();
7 T8 t& p) r) Y5 ^4 E   endif;
& |) t9 I9 D8 Z   ```" q* w' s- _2 N' T! I5 b6 K3 G# v4 O
8 R2 d/ e8 X6 z& B6 B* D
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-24 07:18 , Processed in 0.021612 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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