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

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

[复制链接]

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:" Q  j9 v5 Q2 V% a8 [

/ S1 _% g8 H! d. I: A  P1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。) e+ ~" Y& x6 [" Q) p6 r
0 v$ ?" H5 @+ [3 T! V8 u
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。5 i# z* q4 v% q5 T
3 Z3 l! q- A4 H% ^% J- v9 t, |
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。# p1 A' L0 q1 }; T6 t& `5 c$ g

! G0 o3 F/ O/ f6 D( B" }8 Z4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
* f3 w8 T& F5 |4 R& n8 G' w7 M  S" Y1 @6 j7 ~/ S- ^1 C
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
" n' I, n, M6 T" x) m
& P/ t; o1 d% a1 q2 k+ z. P如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
5 s/ [  a5 ^6 L5 [+ J
$ J2 U, C5 E) P8 J& v2 u5 l# y2 B1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
" P) C. l1 D0 ?3 z- H* Z% {
; y" m) N. `7 W. K( W- b5 X6 H! c   ```( \& }$ d4 D6 J- X! P& U
   add_menu_page(
9 i" k  q  O& D2 t9 o4 U- Y. `       '全站公告',
* m0 s. K; n# \5 S& R; _9 n       '全站公告',
- s# F* s/ P6 b$ A$ n" L; k5 {       'manage_options', //需要的用户权限, Y* P0 `, W! ]7 {/ R: n
       'site-wide-notice', //后台页面的 slug
0 `# ]& |) \3 d       'render_site_wide_notice_page', //用于渲染后台页面内容的函数9 M2 E+ G0 Q7 H3 ]+ a
       'dashicons-megaphone', //用于显示在菜单中的图标
0 T* x5 [9 r* W       30 //菜单项的位置
1 i5 a0 h' n2 @7 z& I0 ?4 J: X/ X   );8 B1 [" Y0 k! q, d
   ```
; H+ h' }2 |& c0 N" j5 y$ P' t* X9 R% l2 d4 g5 a3 L
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。& M/ G7 y# [/ R) N5 l' m! G
; V% L( ]2 Z1 A) M6 s  V! V0 G8 [
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
7 N% O5 Z% K, T( s3 Z9 ]4 D
4 L& \% g' w+ Z4 t- e   ```6 @0 F$ P9 S$ n+ n
   function render_site_wide_notice_page() {
& k4 _) l5 }( M3 G! S      // 渲染后台页面内容, t5 @0 s/ F, Z! Y) B
      echo '<div class="wrap">" O% a. Z' [" o
          <h2>全站公告</h2>
3 R7 ~# ^6 q1 |* L! E* {) ^9 T          <form method="post" action="">; ^; \# C4 {% |* d0 w2 ?
              <label for="title">公告标题:</label>! m$ I; l; B  h. `
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>5 U% a$ u$ F1 V* G3 Y
              <label for="content">公告内容:</label>5 {- J& [/ a# s) @
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
7 O9 Q3 l( ?% A. o- z" b              <input type="submit" name="submit" value="保存设置">
/ E4 G0 n" W  G3 ^5 l9 l: x7 [          </form>
7 C% M& f7 q; n2 K/ p/ t- X      </div>';( E- z1 Z/ ^# P  _6 S
% X/ s9 f; N: `: g  N# g$ j
      // 处理表单数据3 W- @$ ~7 c) O0 y; M2 Z4 d* q* U
      if (isset($_POST['submit'])) {7 L' r; k( F7 x2 h+ n
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
9 Y4 {: e2 k1 ]5 K/ r+ E  B$ l. f" D; I          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));  G1 b/ z4 y( Z) `3 [6 D
      }
0 q4 {- B6 a0 a   }
: R- s& v: y. l   ```: M& z7 _9 ?: j$ ~( H4 y" ]
& \8 L* Y% P) t$ K9 V7 G: L
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。& _$ ?% d2 ^. I( @, U* V- y* b' j
, m9 a. h" q$ V3 ~3 L+ ~: U' l1 Z
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:" m% r, ~  m1 |7 M( s2 Q

2 S) D. \  x* W5 X' s$ P% h/ X   ```
2 u! ^+ t5 l3 ]) m. j4 A$ @6 A   <?php% b# E, m( h5 Y4 B1 b0 m# O5 P: _# a
   $site_wide_notice_title = get_option('site_wide_notice_title');8 N/ n7 Z: O. J+ v8 K
   $site_wide_notice_content = get_option('site_wide_notice_content');
! T3 p6 d6 I1 q8 H$ p$ t, R   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {1 ~" n6 X& j1 S# `
       echo '<div class="site-wide-notice">';
) O+ @1 `$ b  j       if (!empty($site_wide_notice_title)) {
  k7 R& G& G6 K6 U$ P7 T6 S; t           echo '<h3>'.$site_wide_notice_title.'</h3>';4 ~8 f  @- T9 @3 w( L& R! t* b
       }
; G& h+ A: {; ~' [, }* L( ^. {9 ^/ |       if (!empty($site_wide_notice_content)) {+ ^( n  y( D# V4 w2 D4 M7 e: U
           echo '<p>'.$site_wide_notice_content.'</p>';
; ]2 r8 y& M9 ]3 _: s, y/ H$ d% A       }" `9 ?) a: s8 S/ y0 f  ]) ^/ s
       echo '</div>';  z6 f: j: y* w$ D7 J0 ^: K
   }
/ L7 g8 w! R+ q   ?>% r$ M6 b! L& q/ K% Y: K8 \2 L
   ```
, T1 {# h; ^) W9 M, q. N' k( J- B- I/ x; @
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
7 `/ w$ I# ]5 l# x! S
$ y. w! {% i( |& d) j- o) m请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?5 |/ ~% B8 c( ~

! Z5 s/ C% I1 t( G! S您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
8 _8 h% n2 j0 |$ N: ^% I" P4 z" l" }5 e; K* H( ]# t
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
: r* s& e6 V4 K: |
+ z4 o0 s1 g1 S9 r```8 ]$ [" q5 t3 M/ {+ Q8 C, }
function create_custom_post_type() {2 P  d' z! P% J$ u4 u) ^. h$ ~
    $args = array(# X% @7 F4 M5 g% \  L/ U) F! O
        'labels' => array(  m2 A5 B1 `3 F8 N6 z
            'name' => '公告',5 _+ q0 ~3 I# U2 q
            'singular_name' => '公告'
1 j, K" Y6 C* t9 G2 R' U" |; X) p- ^6 r        ),
% p) P" N; }) L& ~        'public' => true,
. V  T& t; B  o' }8 L0 _0 u2 r( r        'has_archive' => true,3 n4 ~' K( F% G5 C9 h
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),) P9 F+ t+ n8 t) B# X$ A& Q
        'taxonomies' => array('category', 'post_tag'),3 {" l/ X  p$ x, V' _1 N  c
        'menu_icon' => 'dashicons-megaphone',
5 U3 d7 Z4 y' w( w) i7 {        'menu_position' => 5,4 P. \( j. b/ X9 H
        'rewrite' => array('slug' => 'site-wide-notices')
2 o  }5 ~5 X7 _2 n: C    );
0 M  ]* |9 g+ a    register_post_type('site-wide-notices', $args);+ V# _( V/ q- [( y" B: e, n! R
}/ f( k+ G& m' o/ S% u* I
add_action('init', 'create_custom_post_type');) f. f9 T: Y  u4 ^5 N) s) ~) w1 K
```: t: U* P4 v8 x# q+ j* p

1 F8 i% p, S3 D4 o% O在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
) b8 q/ o5 C- _/ T( q
( [( s# B  |4 J0 Y2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。  |& y  M+ P2 J  m& N
& T* G# W# h$ p4 G2 n  w
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:% t1 q- o7 S" [; n2 o8 y
( S+ s, n9 t, f0 F9 J- H, }7 C! u
```& t+ U. r, W/ j" V
$args = array(
' F4 S; `5 l$ D$ T* M* g    'posts_per_page' => 3, // 显示的公告数量6 I# X0 o" ]# i
    'post_type' => 'site-wide-notices', // 公告文章类型
- K! N( k) j+ R6 i: |) B    'post_status' => 'publish', // 公告状态1 ~9 t$ W2 H* V% d" f, I
    'order' => 'DESC' // 排序方式8 l$ M, Y' }* X$ S4 O
);
$ O* Z4 S( M4 D( ~- K5 o/ E- `1 f) S3 E- n3 L) {  _" H
$notices = new WP_Query($args);
2 U- D9 m4 h5 m- K. Wif ($notices->have_posts()) :/ R  e. \/ ^1 e' f6 |% Y' N
    while ($notices->have_posts()) : $notices->the_post(); ?>' y  X4 b& u" O9 Q7 i4 B" i
        <div class="notice">
8 ~& t6 G& |& i+ E9 w. y3 t/ ~            <h3><?php the_title(); ?></h3>
7 R  y) ^4 E% v3 _9 v) G  O            <div class="notice-content"><?php the_content(); ?></div>) ^& _# g7 T5 [- {. v, P6 A- c
        </div>
5 v- E, ~( t) S2 l) w' ^    <?php endwhile;* g' N" U% l0 l1 S5 R6 J
else :
  `- m0 J" |: v7 P; E) r) u# Q    echo "暂无公告";
4 W3 k+ U5 j- W+ h9 sendif;, ^3 o0 w; U4 Q
wp_reset_query();0 p* Y1 E& D5 Y. c" R# q5 ^
```3 |; U% \4 g; o9 f& e
* c$ a. @9 ^. g2 ]! s- X' u. I
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。& [! ^1 [$ O$ d& v0 G, r. ?
0 F, I; I; @3 I& S/ m( a+ T
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
- ]) |: Q2 `& B' y3 n5 B. V5 K, u9 h
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。7 Z2 R6 @, K. ]: _0 c5 }
* P0 G- `7 }' U# W% H5 |' `: l
以下是创建自定义插件的步骤:, b1 Z4 d, g) L

; r& t4 ^" h3 I5 E% {1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:. o6 V4 {% \4 M* d: O( Q4 h
" l9 n) D/ h( [  A
   ```
5 }/ P+ H8 N$ h7 p4 f   <?php# q$ ?, a7 u4 o) Q
   /*
& u5 M/ i% W% R# G( V   Plugin Name: Site Wide Notices Plugin
5 V2 `% n. b+ {# Z) K   Description: Adds a new custom post type for site-wide notices.6 |* _, h; G! n6 @2 ]. q: O& F
   Version: 1.0
7 d7 ~0 i' U1 a5 D% k: i' H   Author: Your Name
6 A3 x, M1 f! L   Author URI: http://example.com% j! G# x& x( E4 s1 ~
   */
- B. H/ F7 l) ?; {: W
0 A; R5 x6 q7 B% K   // Add plugin code here...
. t( P7 ]0 i# g. x) t9 d( G0 A   ```. H9 Y& X% I1 h; W
: q0 Z4 G+ f) r; Q* n( T$ Q
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
- ]8 `; ~2 l3 f1 S8 Q1 F  r. s9 C7 @2 l
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:  F) W0 B" V* @% Y4 J
* g- E/ X: M& N
   ```  H' S9 B) W$ G  u& ]
   add_action('init', 'create_custom_post_type');
; y9 Z2 M5 }, M& e* Y! R# c  L+ q   function create_custom_post_type() {
8 W4 S, R  S7 n- O; u' x      $labels = array(# i# g4 i- u1 {9 H8 x$ L! @
          'name' => 'Site Wide Notices',  }* \; X; x+ K& O
          'singular_name' => 'Site Wide Notice',; t! v- q7 X; {; u6 W0 V& X; O
          'add_new' => 'Add New',
$ ~+ S/ T. z! e0 N( B& l% F( ^$ `$ B6 Y          'add_new_item' => 'Add New Site Wide Notice',
4 X7 Q5 U3 D! B6 D. G( v1 Q          'edit_item' => 'Edit Site Wide Notice',7 c+ ]- }2 K1 o# D9 ~
          'new_item' => 'New Site Wide Notice',! K5 {" D0 ~+ x! I0 u" u
          'view_item' => 'View Site Wide Notice',
$ q% w; e) K5 N# x- T  h          'search_items' => 'Search Site Wide Notices',
+ x* Y4 G0 D/ m: m5 L          'not_found' => 'No site-wide notices found',
- \. Q# y* w: u( Y/ p+ V          'not_found_in_trash' => 'No site-wide notices found in trash'  m" f1 s1 V: f0 Y# f, w3 |
      );
2 [) s# v1 D- I
' d. d5 l9 D- P2 j      $args = array(
/ Y- e; a7 u) @: d- q          'labels' => $labels,
3 s& W  \3 Y& A6 ~2 e          'public' => true,! E4 k0 c; S' S6 ?
          'has_archive' => true,+ b* }- G3 d  B8 B
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
. O& l2 V+ Q% @4 g$ q  H0 F          'taxonomies' => array('category', 'post_tag'),
3 r/ `; x6 o1 Q; X* J3 u. m( }' y+ m1 F- C2 ~          'menu_icon' => 'dashicons-megaphone',$ |: x  b+ v, O, z# T
          'menu_position' => 5,
6 _2 o8 Y; f% Z8 n* X  f5 n          'rewrite' => array('slug' => 'site-wide-notices'). z4 p2 M  F2 x! W
      );
' r3 ?1 F3 }" N$ q* v" E9 v6 E
+ `5 _& k& c1 E4 S, X0 L; d2 }. \      register_post_type('site-wide-notices', $args);8 x) O* i3 H. U3 v7 z
   }+ v* S  U2 J4 R# X
   ```
2 b0 y1 Q  h# @7 I5 N
# f! m( R6 L& @" Z! {8 }) W   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
1 c& T" P& p) D. }# W" p! G4 O6 U4 T0 \& a8 |+ l! E* ?
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
7 B7 ~+ A$ a" V: [$ \" b5 a7 ?# x" g: S. d' R3 g. m  j: w
   ```+ e3 m6 M' F# z
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');( P% O4 O* }9 o" ~; E* N
   function add_site_wide_notices_boxes() {3 c% ?/ V% _6 S) ^7 o* ~
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
$ z1 I/ X- A  Q9 ?   }- \+ U$ d( [% v# o
9 _6 j: w, R3 ]3 t/ ]
   function notice_details_meta_box($post) {, M) E3 @7 |: k  y) {6 R7 F
      wp_nonce_field(basename(__FILE__), 'notices_nonce');7 B1 G; S. Y+ \! f1 }! v- h
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
( B' z+ z# |7 w$ y& ~      $notice_content = get_post_meta($post->ID, 'notice_content', true);
5 B7 y' m  f1 a) @- h      ?>
( N; c; {) ~9 r) c: o2 V      <p>" Y) Z  `, H. x& R7 e
          <label for="notice-title">Notice Title</label><br>3 W+ s- l0 e/ B( z- `2 {, ]
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">1 g# Q/ K  v" ^) u9 T, s: z5 E
      </p># K0 p& E' ]/ X) L  E% @
      <p>
( b! a8 M2 r2 Z' K          <label for="notice-content">Notice Content</label><br>
8 S) l( ~% B6 t9 U) D& R          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>' f( O2 n% [& R$ ?. }0 ~
      </p>
7 h. R1 M9 r6 x1 w      <?php
/ y5 z! Y2 {( H' k   }
7 w' y- y2 e# t  ^
, k' w" w2 }; k/ l" r3 Q0 j   add_action('save_post', 'save_site_wide_notice_meta_box');4 L" F3 P  o' B2 ~7 Z
   function save_site_wide_notice_meta_box($post_id) {
/ V! w5 C1 h# t6 u& P      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))8 T- o- D/ O$ ?
         return;& h! M; H$ A3 Q  Y
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
: Y  O* M$ G4 W# u3 ^$ X( b         return;6 @4 P6 F' H. T8 G
* H1 u) A: A9 ~5 T; ]7 C
      if (isset($_POST['notice_title'])) {
, G. j* [$ ]" g" t; [! n* Z9 u          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
4 w# e5 X0 |) g" Z2 l      }
/ a) R: }2 v7 M% l% q      if (isset($_POST['notice_content'])) {
% @+ @0 Z# t: _  C          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));# e$ j. s9 q" l- b( u; V
      }
3 h3 L$ Y3 G/ \9 `- ~& I4 X   }, T2 @) O0 a  Q5 h0 R6 h- Q
   ```
1 O6 P' J) R8 L( i8 ]  g& @4 x" \# X: W- Q/ O; ]6 [7 G
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
  `& p: p+ [; U) d' r1 I. U3 r8 T
/ l. P* M3 I, i5 @, @# _; ]0 _4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
- `* a: R; _" X3 ~
& h' X; t. L( G  ^& D, ^   ```
3 T+ V) P6 _# Z) s2 v2 y" n   $args = array(
5 ~  U( V# n+ L2 N5 v8 F5 x      'post_type' => 'site-wide-notices',
5 e, s- ?0 a4 a* [1 f! V      'posts_per_page' => 3,9 r+ }) ~  |0 d0 `6 ~2 x4 o
      'order' => 'DESC',
  k& u' N" W/ F! A% ~$ G$ G$ b      'orderby' => 'date'
$ D9 Y; r* O- N; l2 m8 M   );# p5 v. W6 M; M- E* Q1 I8 J0 [
   $query = new WP_Query($args);
" u# ~% O. T! V* J   if ($query->have_posts()) :
$ ?% K5 @5 ^* B      while ($query->have_posts()) : $query->the_post(); ?>
1 k" A! s* s6 v& L8 k- e+ W! K          <div class="notice">- K& P8 c/ Z/ N) @9 B
              <h3><?php the_title(); ?></h3>
. w: r# M: Y( N' V5 s              <div class="notice-content"><?php the_content(); ?></div>
( n( f3 c, D6 P% E" s; @7 o! }          </div>
7 \# z) H! N. c8 ]# t      <?php endwhile;
. q/ E  d# F+ y. B! k      wp_reset_postdata();/ c# L8 c0 W+ |
   endif;; e* @7 p' M: S. o% G. j! `
   ```
; h& t& h! H, p# L, ]6 ~- T# u& _( C0 x7 e. t9 N1 v# R3 z
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-22 11:03 , Processed in 0.012659 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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