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

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

[复制链接]

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:/ r/ D7 ^2 g5 ^2 p) v
9 ?6 Y- E) n/ i
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。6 R3 |& x% H7 C% C# g5 Z
7 B2 D3 L. H6 G0 W. f
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
2 a+ p7 r5 P( R, n5 l8 \) ?  P1 ]7 c) P) r
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
8 M) I2 a9 `0 D5 h! l- {
( E4 x# O$ J: D3 J4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。. a/ k  S9 Y$ x1 ?. e

, V  B/ n# z; r, n注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?3 i# G# @* {) T

( e& ^7 N$ r, |3 e1 L5 Z( a如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:- z  e0 C, j! q* i

9 O6 s+ J8 X) D0 G1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:1 O$ Z5 w. F5 ^. U8 f
) M6 u+ M! ]" ?5 h1 h5 C0 r7 R( x
   ```: u, x* v7 y/ B% F
   add_menu_page(
1 P4 P: v$ a- T$ C9 f6 n! D       '全站公告',
, N7 K5 Y! u2 @! @5 p4 W# [       '全站公告',2 @8 V6 R6 s* @7 I' R( o+ v2 O
       'manage_options', //需要的用户权限
2 f; d) H4 f6 c4 L+ Q) D+ R  g; n       'site-wide-notice', //后台页面的 slug
5 W3 b! H6 V/ m& f8 a% B! W8 _% {4 i       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
$ n- ?- x9 _$ V. S6 S3 d$ z$ W       'dashicons-megaphone', //用于显示在菜单中的图标
) \7 J3 |0 l1 g8 C9 Q5 W1 @1 u       30 //菜单项的位置. \% t8 \8 I1 ^  f
   );
3 P7 j  o& G, U& b+ L& c1 m   ```1 p6 U3 c! c/ Q- F

  i$ a& K$ _! V; _  q1 T   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
: r0 g" m" f, X1 Z1 H$ M% F. C, ~) N
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:1 a: P( d1 Q1 I( E
2 }1 ]! g3 O' h$ b2 G
   ```
1 ^3 b+ \4 X& h) d( r1 ~   function render_site_wide_notice_page() {6 A' f( V- n( p! v" u  G
      // 渲染后台页面内容2 I! o# b& D% B# D; [7 @
      echo '<div class="wrap">3 o6 E' @+ d9 F0 C! e# k
          <h2>全站公告</h2>7 z, p2 b, \* J, F7 A
          <form method="post" action="">$ r! H1 S% U. k  `" k5 t/ i
              <label for="title">公告标题:</label>1 z9 P3 A& e% C1 O6 q
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>  L# w3 u- I  @8 s( N9 \& Z
              <label for="content">公告内容:</label>; S' @8 R6 ?6 f) V) `/ T7 Q
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>$ v, Q5 r4 h0 s  E8 H7 ^: F! ^
              <input type="submit" name="submit" value="保存设置">' a: _1 a- V5 r5 K0 N' }
          </form>* o6 Y$ H( ^  D' E  f3 a6 ~
      </div>';
$ E  W2 z. y6 O0 k7 _4 u( {7 I3 U  l$ T3 c  s' J
      // 处理表单数据
" `, b+ _/ [* b# T$ G# p      if (isset($_POST['submit'])) {
' F% d9 }) N+ v$ Y, h& f" [          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));5 `8 `, b+ ]( n' o7 T
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
. @# J, g0 H  d      }
4 Q) ?, `- F& x) |   }+ e/ P7 w/ k9 ?( k" V5 d! F6 L2 f+ d
   ```3 R. ~4 O! }; x' e. d
$ l4 W/ q. r' m8 Q9 H# [
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
- {4 Y* M" X% w5 p! o+ ?2 S# \& Y- K3 _2 U
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
3 v* k* n. |7 _2 d- s% W2 x+ w, A5 r0 g" E. V# Q# `
   ```- O9 p2 Z- P2 O  D
   <?php
+ r' Y# H; b" z% n% e$ @' z   $site_wide_notice_title = get_option('site_wide_notice_title');
" j3 v, d( i. Y7 D- M0 b3 g   $site_wide_notice_content = get_option('site_wide_notice_content');, j$ E, }$ X: g$ p
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {8 U6 I: [1 V( b+ D4 C3 u! V
       echo '<div class="site-wide-notice">';' L+ b3 ?. i: s% Q0 J; R9 m* L9 l
       if (!empty($site_wide_notice_title)) {
8 c; g. V( C! K0 ?0 W6 H           echo '<h3>'.$site_wide_notice_title.'</h3>';9 Y+ p* u; f) |8 C
       }
0 @' P1 h. F/ k: D( e. {# P. Y# d% _       if (!empty($site_wide_notice_content)) {/ i' b% @* _- r& |- g) q1 F1 K' J9 u
           echo '<p>'.$site_wide_notice_content.'</p>';: S8 k. r3 I$ k$ A6 f
       }% S5 Y! x' L3 }' d0 E- ^; B
       echo '</div>';
/ p2 ?3 X3 q  ]( u   }& O( D/ ?) U2 @1 G- y" ?- v& H
   ?>
7 J. ]" E' S0 w9 z3 @1 R8 `9 e   ```
7 V7 Y( a9 M' j6 H% {
% h5 X+ S4 J3 Q# B$ u   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。/ E0 Q3 e) e) y
6 H" Q5 n! D; n
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
5 i) c- h! B+ A5 P& a, `& x, W5 I, f4 k8 r: k
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:7 X2 ~/ A( ]$ D0 _# }9 ?$ _
$ P! g# q# n# B+ P8 B1 {
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:1 S! w7 B; b: C9 S9 z. Y; W; C

# g" G/ S2 H+ v8 i8 D) L0 }```  j- G) {  r2 F% P
function create_custom_post_type() {
, a* i5 z4 z: e8 ~0 n! i; i5 V/ t    $args = array(
  _2 u/ s! L7 N6 A: y        'labels' => array(
; C( l- L# z( Y            'name' => '公告',
3 j8 p5 M+ C7 E* c            'singular_name' => '公告'( G! X. {- L# k" ?
        ),  ?1 h; [5 H' p3 X
        'public' => true,  |# Q( l! C. ?3 |
        'has_archive' => true,1 }4 ?$ v: J7 ]( x6 O
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),8 c( A& G$ e/ k1 w
        'taxonomies' => array('category', 'post_tag'),
7 |& C7 q0 K6 k5 @" W% {& b' Y% S( P        'menu_icon' => 'dashicons-megaphone',
: K+ x+ H! ?8 K, i# W        'menu_position' => 5,& D" Y5 ]! r+ |  t; d
        'rewrite' => array('slug' => 'site-wide-notices')
5 p- k* f; K% `    );: f3 }2 e7 t! ]7 }
    register_post_type('site-wide-notices', $args);, n; M- q: o" ~( x$ r* @
}6 c. {0 f& l  h1 F; `
add_action('init', 'create_custom_post_type');) N! I, _& M  F) [* z! G
```
- |1 e2 ]( j  H0 P$ e6 B
5 }' V0 S( `9 ~4 Z" Z  b在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。& O1 l# |' F6 M2 t% J, \- P, v

2 o0 j4 o' L9 E' C1 g9 k1 w5 l2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。  A6 Y  h6 q' x7 t1 P1 c+ a5 ]

. l, {1 [* K: P; p2 t3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
' o! Z  J1 B7 U! C1 Z/ e  |
7 L' K2 U6 ?4 m( O4 ]  C/ N) }* o2 f```
% k5 t/ A/ Z" h" u8 j8 d& ^$args = array(
. @+ H" X: z9 z    'posts_per_page' => 3, // 显示的公告数量
9 l5 s: L2 N: G7 o    'post_type' => 'site-wide-notices', // 公告文章类型
: M/ u6 E& p, T' L1 J# t) o# {    'post_status' => 'publish', // 公告状态
4 w+ ]- Q1 F5 V( q3 b( d3 H    'order' => 'DESC' // 排序方式& T0 w+ }/ B1 O, `) U' S7 a; x
);: P" |( [5 S$ j7 O/ e
8 x" c; {# V* _2 q- s) U3 k9 @
$notices = new WP_Query($args);
" ?" j( c0 H' |/ Aif ($notices->have_posts()) :0 A' R1 c6 I3 ^: |! J4 f9 f  L6 W
    while ($notices->have_posts()) : $notices->the_post(); ?>9 r" H% D8 b2 f% z2 {
        <div class="notice">! n4 ], N& E4 o  g
            <h3><?php the_title(); ?></h3>9 ~1 E1 ^$ H/ S
            <div class="notice-content"><?php the_content(); ?></div>
# G6 N# r0 u# Q        </div>
6 U3 j( o8 k7 G: T  Q; S    <?php endwhile;& Q, Z+ U2 `7 T% d/ d* G/ O
else :
7 z0 R2 g- v! t; ~2 _    echo "暂无公告";. `. F  J: P9 N/ G$ T6 }" _& j
endif;% T  B! M) T( j4 w: W; P- i
wp_reset_query();
' y" u5 i! R9 R' q% L; B  A```6 g9 m8 `5 m+ W6 a( D  u, L

8 A  [; u$ A3 W这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。* S( _  ~6 }6 H! f" Y+ ?/ E

& v% C9 E  h) i- D& o9 ]以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?, s$ r3 K+ Q5 V/ k" x' ?
+ e4 W) C7 _; B, r$ T
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
+ O- |0 p- h+ a. }. H8 _+ b: u) k4 t
2 ^8 f2 c* s- x4 ^" Z以下是创建自定义插件的步骤:
% x* ]+ O! Z, r, A* [5 p, k2 Q& Y3 @7 _, ^& `, E
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
7 c* ?$ i# m2 O
. D' l8 ~/ j+ S0 e; T" p# _   ```/ u1 f3 \& ?& `8 n+ M( K3 ^' v6 r
   <?php' }$ z" j6 K0 Y
   /*
0 X! d( i- @  u! [6 Z   Plugin Name: Site Wide Notices Plugin
7 N3 z: \: @9 S' O6 X) `* W   Description: Adds a new custom post type for site-wide notices.0 J4 m( k) F  d) I0 h- H0 Y
   Version: 1.0
- P$ ^9 |3 o5 z$ {0 @7 z" [, s# v# C   Author: Your Name
# S8 w# ]) A& v% m( s% Z   Author URI: http://example.com. y0 l4 j- X% m; y: I$ M
   */
. B( q8 V3 ?* [$ \4 \6 C  l2 S4 ^
5 {* z0 t) f$ D8 {   // Add plugin code here...2 A1 A$ U7 j8 D% q
   ```
) A/ `/ ]- T; b' z
& R0 S9 m4 U# ^" E% o) z$ X- d2 V. c   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
% C9 ?6 v/ C4 J) G& M6 B/ v8 l
0 w1 A' ]' P: J. n/ N; e2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:1 y# R4 ?- ?" x6 I

- ?; v, Q( g! q" o   ```
5 ]/ @. ~, a$ V   add_action('init', 'create_custom_post_type');
* Z& e! j0 [. ~; ~$ R3 j  z   function create_custom_post_type() {
& ]- J; I: @7 @$ c. r  E( k      $labels = array(( K! b& ]8 k1 f8 T% B3 ?" k  D
          'name' => 'Site Wide Notices',( q/ t3 v) i- Q/ x( |% p5 y
          'singular_name' => 'Site Wide Notice',
+ l0 u. e: V5 V6 a7 T2 _4 o1 B) H          'add_new' => 'Add New',
* [8 O. B. s, H" s  M. _" A  T          'add_new_item' => 'Add New Site Wide Notice',
- j, Z4 Q. y; l9 i          'edit_item' => 'Edit Site Wide Notice',4 J5 u2 P. Q1 Y, V
          'new_item' => 'New Site Wide Notice',4 }- H$ z. Q! V! s" W; W# ^
          'view_item' => 'View Site Wide Notice',
9 h" N" G: G+ H# C; R* w$ h          'search_items' => 'Search Site Wide Notices',1 `9 O. O. {1 P& j$ C' B3 P
          'not_found' => 'No site-wide notices found',) [8 d8 R1 ^- e3 q4 ]  I
          'not_found_in_trash' => 'No site-wide notices found in trash'# ]% V! b" s) E/ g5 ^' z2 _: K6 s
      );* a' c. I" n0 Z" w( T* Q2 S

; U  s3 ~' {8 @+ e" ?1 ?; o) p      $args = array(
: j( Y6 `  l) k6 r3 z5 v          'labels' => $labels,
. m8 u' j$ J9 \+ d) ?          'public' => true,
: `0 q- L- C: V          'has_archive' => true,6 G% N2 i. Y8 [/ |* ?% `! x4 K
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
" U' y- v8 K9 E3 J5 [          'taxonomies' => array('category', 'post_tag'),$ Z9 E2 Z, u: A, G7 s
          'menu_icon' => 'dashicons-megaphone',
0 Y$ d2 h7 D0 X( K( A/ _" i          'menu_position' => 5," q( w1 v! k9 a7 {4 \
          'rewrite' => array('slug' => 'site-wide-notices')
( J9 j" i5 W. v- Z( g9 x      );
7 L8 S, m8 B0 T- e9 O$ z
3 g" a8 f) A$ C3 a+ ^8 y      register_post_type('site-wide-notices', $args);
. Z: X9 ?5 [7 Y6 P/ O1 a   }
  e" G* E6 C+ E) W   ```
! B# m1 L6 L: ^* f( f) \& }9 \* j1 G6 n* F, Y
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。6 ?. F* |8 @! @
% i, c! E. H5 F, G7 _* ?
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:! k( {( r3 B; L% k

/ C% F/ r- `  s% d! ?0 R  a8 [   ```& Y: N1 _6 o: z$ W. J" k3 b
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');6 P3 I4 s3 k8 ?3 B- V' A
   function add_site_wide_notices_boxes() {# F. S7 X6 W# l
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
: Q; p) Y6 H/ g& M  ]; t' [   }, \: h$ T; D3 F8 p  F
. ^! ?- m& X/ b8 R- {; ]
   function notice_details_meta_box($post) {
" M8 F- }. n) E8 ]      wp_nonce_field(basename(__FILE__), 'notices_nonce');" m$ G5 r3 t$ |; ]
      $notice_title = get_post_meta($post->ID, 'notice_title', true);; W0 m7 h/ O/ `* }6 a
      $notice_content = get_post_meta($post->ID, 'notice_content', true);  g7 K( {! n0 `$ B) l
      ?>: ~  Z, L. {9 M% s: c8 X6 A
      <p>! V" k; M, h) J! c- g" q
          <label for="notice-title">Notice Title</label><br>7 Q% P) O) M( V$ x! G5 w. O3 r
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
( [% [: x  E! T& W; V      </p>
8 \& z: @  B6 ?  X+ z7 b) Q      <p>$ a1 R+ h7 u) W7 @9 t! d; e
          <label for="notice-content">Notice Content</label><br>, s  R2 V% [8 S
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
- v  ?' S+ R" e0 W+ R) K9 N- R0 N      </p>
8 ?0 Y8 H! t& \6 I      <?php
/ p2 F9 F9 `+ p  V% N; [- T/ j   }8 n* w9 Z" m* D- G
/ ~8 u1 b9 S7 T# P2 K
   add_action('save_post', 'save_site_wide_notice_meta_box');
6 ^" [, |8 D! f. E: H   function save_site_wide_notice_meta_box($post_id) {0 d* M4 R9 E* S: ?" |. P) @
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))% v: T( ~$ S  b4 j& ?  w# l. Q' L
         return;+ d: V8 m9 W; H5 o$ o
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
9 Q0 w* @# {' ?2 |6 E" r         return;3 H1 J8 B8 d' y$ m1 s$ Q- @

: v: f% m% @/ A      if (isset($_POST['notice_title'])) {
- e7 @" I- Z! W& i( V          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
# `3 u1 `2 W  N. V5 u6 F5 {3 {      }
+ O  m- W) [. A) A1 Y9 @1 o      if (isset($_POST['notice_content'])) {7 N3 m( T0 U9 O
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
! V' t+ n5 Z' e$ E      }9 {8 ]1 |2 m* Z. R5 ^" x" ?
   }
1 e% h; p7 G' {! {0 }/ @1 p   ```# B( M; _  Y4 q9 \7 {' b5 \

  A! }- k! O6 ?1 z# o) n9 t   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。$ Y8 Y5 d0 K3 C, M1 r. S" c
3 r+ h/ |; I# |4 F" t/ |
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
; S- Y/ k' p6 a% o
9 x( v# ^0 f+ Q1 o   ```
  p: m1 e& G+ H6 H/ d2 p8 b8 r   $args = array(; H/ y' w8 o+ m: y; Q, ?
      'post_type' => 'site-wide-notices',6 b6 i/ \9 G7 Z4 ]& E; \
      'posts_per_page' => 3,. q, J9 D- J- |/ N
      'order' => 'DESC',
5 L; k+ w. V/ B: w4 z+ q      'orderby' => 'date'/ l0 ~0 Q% j% l- K6 o
   );
* F' P1 v" M5 N, K  \0 p8 H  f   $query = new WP_Query($args);4 o7 \0 h( s9 i- Y
   if ($query->have_posts()) :
7 h6 C4 R, ]: }4 l* ]6 K      while ($query->have_posts()) : $query->the_post(); ?>9 ?0 m: b  Y0 H# f8 C# @7 D$ ]
          <div class="notice">1 `+ Q+ X# I  t4 d" |
              <h3><?php the_title(); ?></h3>
% I0 t5 ~2 K( K- f% {              <div class="notice-content"><?php the_content(); ?></div>/ D+ ~( ]8 f2 A+ n  _
          </div>, g; N" S4 z: t1 L' L4 ]# s4 c- h
      <?php endwhile;
' {$ Q( t3 R& H7 K$ L  ?      wp_reset_postdata();
# R8 Y- z  F( Y   endif;
9 h, \& n7 I4 a+ v   ```0 o# e' v% B# ^: H3 R% \! h
; a5 c! y3 @1 R4 R
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-14 00:29 , Processed in 0.012641 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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