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

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

[复制链接]

342

主题

543

回帖

3590

积分

管理员

积分
3590
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
5 V% s- y( H0 r0 I/ S* j1 N0 o# i# z
" U9 A6 z- ]$ Q+ S0 ~* c1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。3 |( X$ ?* V: F8 ?

  @6 D$ Q  ~* \2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
+ F$ P, O5 |4 T* G
. R" N% N- y8 v: s; q6 a6 C: N4 |4 q' }3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。; {4 L6 \/ {: r6 p# Q' L

, y$ a3 A8 ?3 ~# f4 U* {4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
$ e/ t, I' D$ w( g
, q# X" U' A9 {7 g! Z注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

342

主题

543

回帖

3590

积分

管理员

积分
3590
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
! F* O- X; K0 |6 S  d# Y  A* q; ^9 t  W: x
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
8 ^/ d0 F4 Z7 H
: z5 r+ ^+ _4 K& X5 q9 c9 ?1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:+ d; _3 C# v( C4 y" n: _

5 N0 t) p* N. i* m# {$ R1 y3 l1 W* N2 c   ```% Z/ u- a. [$ l+ |" S1 D9 E
   add_menu_page(# j* L, r/ X7 a
       '全站公告',: V& A+ ?; G; t
       '全站公告',1 x! o8 H% v: Z* O* ^# b- m# J1 n/ u
       'manage_options', //需要的用户权限
9 O: \; c6 Q: [" b- m  Y- g       'site-wide-notice', //后台页面的 slug
! B8 c+ t, [6 f8 N! `# w7 q8 I9 c       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
0 G2 ]# t3 ?2 ]* T! @/ q       'dashicons-megaphone', //用于显示在菜单中的图标# }" ?  H" n) O: k0 ^, o/ e) F
       30 //菜单项的位置: f" {' E! v6 Z3 o$ \
   );
5 U0 @! G; g5 P8 F- y' v" A. v   ```) ~2 G  M5 ?8 j' D& Q: ?
( N  n% X, H: w0 p# v6 d% n( T
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。+ ]- R0 ^0 T% Z) Q

* `. d# T/ w3 _" `# v% W( h- k2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
( X0 m! ^* N9 B& x% Q8 _& J* M6 {% ]/ T- W# k
   ```' _# U; j4 l8 w! U7 w
   function render_site_wide_notice_page() {
4 `5 ~/ m/ Q4 V! J+ F9 r. H) J      // 渲染后台页面内容
8 {1 x0 t" L# T# F8 \( S+ P9 U      echo '<div class="wrap">' ^( s) p  P1 k5 E9 d1 h2 p% L1 n
          <h2>全站公告</h2>
% [! d* K; q  }6 N  p) F          <form method="post" action="">
, B" F# Q+ v0 j: v" o: \& ^              <label for="title">公告标题:</label>: Q# h- E' _* b" I4 w
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>  V2 k& e" V9 T. V7 S( s& ?& Y
              <label for="content">公告内容:</label>
6 e, Y, o4 Z/ u3 h, @              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
) ^6 v: D  k2 a0 w              <input type="submit" name="submit" value="保存设置">
+ n# m+ G$ h) s# t; N' k+ `# n          </form>. }* u- V  `3 X& O) j/ C3 T; X
      </div>';) ~/ ?  l3 c+ h0 V

* B$ S9 W, j. x3 b. C; B7 F: @      // 处理表单数据
- B. R4 \; ~. z- p/ U; S      if (isset($_POST['submit'])) {- ]. S9 k( @9 J9 G# u8 l
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));5 A* c1 ~# A/ [4 i1 G- y
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));, v* J! Y& h8 }$ S+ t. S
      }1 ?" h" ~+ n  T8 I+ C' r$ L6 y
   }
; W9 F+ T( C  h  h. Y. m- v   ```
7 t$ ^( g* U) ^; w+ U. b5 P3 Y' e' G% |5 X# H0 L: W9 p3 W5 c3 c6 P- t
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
- p% s+ E: y3 x) t# _% D& q' k  W! ^1 a
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:* }- o2 E3 ?1 b" ~2 _# [

5 R# y7 K/ P1 x$ A% S- J' f   ```( K4 Y( T1 _% v' }2 r6 u
   <?php
! J# _0 R# w9 W# _1 Z   $site_wide_notice_title = get_option('site_wide_notice_title');
& e, I. S; W  K- Q8 |0 X" Z   $site_wide_notice_content = get_option('site_wide_notice_content');
) V  p) q- x' s   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {! S! _$ n& \" g4 k
       echo '<div class="site-wide-notice">';
6 U' Y1 O& n4 Q% _  N% f       if (!empty($site_wide_notice_title)) {
+ t) t' B( w" }& z1 |5 @' q/ ~           echo '<h3>'.$site_wide_notice_title.'</h3>';
' v) a/ k6 J5 E3 }       }: R' g8 M2 T) M  f" ?4 a$ o8 X/ ?
       if (!empty($site_wide_notice_content)) {
' f  Q+ v; ~" U: C. I           echo '<p>'.$site_wide_notice_content.'</p>';
1 J4 v2 i" P6 R. _       }. R! h2 A6 o' F  Q
       echo '</div>';6 B! k: k8 T- _6 X8 R7 @5 d
   }- g6 U& m6 r- w. f
   ?>2 K; p. b( W: t/ u' A
   ```9 ^9 ^# q4 J& N, c) e
& g0 [' F9 z! ?" q
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
9 K1 Y! U. _! P4 D/ K4 X5 D. }* H2 F; ^6 x
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

342

主题

543

回帖

3590

积分

管理员

积分
3590
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
- \' B4 c  \; A5 K, ^
0 K0 R# N- ]5 h您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:2 m! C/ Q( }6 D" Y9 G
7 H7 O& [; m3 o8 X" t
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
( }1 l7 [/ M9 W% w5 u& \3 u/ l' @; ^7 {" M2 x, k/ J2 M/ ^# E
```
' u1 _6 c6 l* a* kfunction create_custom_post_type() {
! v/ n* B' o0 o% B6 Z1 ~    $args = array(
/ U% v. y1 k) x7 `        'labels' => array() C! U& Z  R  F" G3 D7 t
            'name' => '公告',# c7 ]; ~( l3 U' w( q
            'singular_name' => '公告'
( m) U2 P. I7 y; o' j, \        ),% f: r4 i) \$ Y. M
        'public' => true,
" f: V1 e1 ?! Z9 z' R$ U        'has_archive' => true,& H4 z# Y8 v4 L6 J6 `
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
3 q4 {* K) O/ B2 y; ]        'taxonomies' => array('category', 'post_tag'),
+ }, N+ W* m  I5 O1 h: M& n$ m        'menu_icon' => 'dashicons-megaphone',
) |+ K: V3 }0 t4 W# s  v" i        'menu_position' => 5,; Y7 v$ _9 G9 P7 R) ?/ L; _. J
        'rewrite' => array('slug' => 'site-wide-notices')
6 U/ g+ G4 N* F! m: |2 K$ B  n& o0 v    );
% A. [9 m# |3 Y2 x; M/ X" g! U5 I7 e' @    register_post_type('site-wide-notices', $args);. p+ J/ m5 `% }% {/ _
}
& T* a; W8 ]7 e9 i1 `# s5 |add_action('init', 'create_custom_post_type');5 N; [* w) B7 s7 x9 D8 Y7 P
```2 Z5 p; _) w1 D; l
/ N& ]# y7 q4 E! f6 \5 w( d1 c! R
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。0 w, h3 C+ j( X' Z( q3 K) T

. a: J8 J6 p* \2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
* a3 H* q6 M& T, M- `: l  ^; f! P
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:; N) M1 {: s2 q! e1 t
6 A8 \, F( M; M  k
```; T7 `9 v0 X2 M
$args = array(
( q) j9 Z: a4 X- ^  x: @% E$ R    'posts_per_page' => 3, // 显示的公告数量
1 ^% e3 n. O6 @  G    'post_type' => 'site-wide-notices', // 公告文章类型# ^% I- e1 }: L. y2 Q
    'post_status' => 'publish', // 公告状态
: c7 x) a3 }0 Y/ y0 h' F3 z8 ]# x    'order' => 'DESC' // 排序方式" [* L4 g- T$ j) @6 ?/ b- _: X% H
);, L4 c0 b( i3 D5 L) Z, K

7 C4 J/ y, }% R8 J$notices = new WP_Query($args);
' _3 W0 e& U# n, X6 p& G; I$ jif ($notices->have_posts()) :
- ^8 e% R1 \, |1 _5 |    while ($notices->have_posts()) : $notices->the_post(); ?>- [/ z7 b& d" Q- T) A0 E& B
        <div class="notice">
5 r1 m# I" f/ p8 A            <h3><?php the_title(); ?></h3>
" A0 P/ }' J" Q0 Z, o" i! ^            <div class="notice-content"><?php the_content(); ?></div>" ]( z- R8 h. a) X( J, k& U
        </div>' g! O+ D, `! g' O
    <?php endwhile;
0 D7 E. A: p5 h/ velse :
) S0 ^7 U+ T7 m8 g- m% [4 ?% `    echo "暂无公告";2 }! J9 G* G: g
endif;% |1 ~# W, ]# e5 C' w" i
wp_reset_query();
2 B0 g. E* h( I9 W: J```9 X2 M% H$ o( _) {
  g0 ~5 o" ?; o" Y4 B9 a
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。9 k5 h% C2 p' K

  j7 M1 t6 U  w; r* e$ @以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

342

主题

543

回帖

3590

积分

管理员

积分
3590
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
% ?& j' @# j% x6 |% ~0 \  f
4 A6 F. F: {4 _. ?( C如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
, S( z6 ~) I4 u4 W5 z
* I2 h8 |( x; }2 `以下是创建自定义插件的步骤:1 \. y/ |+ I+ y7 L( K  f6 g" }: M, Z1 l
4 i) C, u, c! R' W9 `: B
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:1 {% l6 n  {) @/ J
) O5 a( E1 O/ ]- M- f4 Q( r
   ```7 `. j. D. C. v. s9 z: l; h3 j
   <?php
8 y- q# M, A9 r   /*1 h. l5 |2 P) ]4 K
   Plugin Name: Site Wide Notices Plugin8 U7 o. o( k' x4 B  r" x
   Description: Adds a new custom post type for site-wide notices.
; y+ B% b" H/ g: |$ e& [   Version: 1.0. o6 U" [4 g5 ]" ~0 Y  p
   Author: Your Name: p7 y: s+ D  p; G
   Author URI: http://example.com( {$ u1 G( K4 w8 C
   */" n5 j2 f. ~/ V% p( w+ `  Q
' v( y4 T3 u1 u' S% A8 A# c5 \9 b6 a
   // Add plugin code here...
/ @& v$ a" L! P/ w( ^+ |   ```
- O, s5 e/ S2 e& c- F( }5 Z2 H$ ~7 I) D- w2 E, q
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。0 [! L0 D. o1 R1 _& @7 z

  f! }$ U. \7 C3 V' W2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:4 X  o& z4 m" q" S) J# e

0 _/ L  n9 d' Y: ]% v% b; G   ```
4 ?7 ^: E# v' G: _, X6 F6 p   add_action('init', 'create_custom_post_type');
0 i2 s+ V+ t' _   function create_custom_post_type() {3 w6 _) n. Q9 M
      $labels = array(6 J. X0 m9 F8 d, R% _4 J: c( [
          'name' => 'Site Wide Notices',: f! F  t& X; e2 z
          'singular_name' => 'Site Wide Notice',  K7 c! v) {# q* D9 m
          'add_new' => 'Add New',8 V2 g( q$ H- V1 w6 o
          'add_new_item' => 'Add New Site Wide Notice',
) W+ E6 m) a4 R& B1 o6 l! z! y% Y) q          'edit_item' => 'Edit Site Wide Notice',: n0 K5 h7 I" }* s8 I/ P/ S$ x/ I
          'new_item' => 'New Site Wide Notice',$ v) q0 l1 C$ b0 o
          'view_item' => 'View Site Wide Notice',
: E& [! K8 [+ E          'search_items' => 'Search Site Wide Notices',
5 m% T6 y8 s' g7 w& }          'not_found' => 'No site-wide notices found',
! w" a7 X" C8 G2 G' [# V" A          'not_found_in_trash' => 'No site-wide notices found in trash'
# }+ K& Z9 v7 U+ b: N) T      );* o0 N- G0 s. i+ O
/ A* s4 Q* q1 \* p3 g7 T
      $args = array(7 s1 W' D% G  Q* f; ~
          'labels' => $labels,
2 c8 m5 ~3 N  v5 |% G* u+ b$ y1 j          'public' => true,% m* c+ Q! f$ t$ b  D5 _
          'has_archive' => true,. a1 k6 E1 f" N0 ^, w
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),/ r4 {# G, ?5 _
          'taxonomies' => array('category', 'post_tag'),
4 ?2 P! r. ]' Q9 X  }          'menu_icon' => 'dashicons-megaphone',' u! K. @( z4 \, d; ~8 `" m* l
          'menu_position' => 5,( g5 M5 Q( a0 l3 Z* |- S; \: F
          'rewrite' => array('slug' => 'site-wide-notices')8 _* F, m# ]/ {3 F( |5 N3 H: Y
      );
" |8 t4 h  _* ^$ q
' X1 X! \7 m6 u& z3 I& m      register_post_type('site-wide-notices', $args);( P0 @- j! {! `8 t$ a
   }' j; n4 A% |( B, {6 W% d
   ```
/ E" p% R; K. V( ?& M" f
7 Q& I4 o# z) v. ^5 G6 O2 m( \. |   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
8 `3 k. c+ ]) I- B" k- a9 A, p
: E2 K5 l2 o" u! P$ w3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
4 T- u$ ]: m3 X# N; w/ ?; e! m) U
6 K0 g+ t. }0 R5 j0 `   ```
2 \$ J0 P# E+ n6 S" I; g: C   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
5 _/ A7 Z/ ~- P% q# ~( v6 S   function add_site_wide_notices_boxes() {
4 W7 }; s! v( s0 Z, F7 d3 e      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
9 t; g- q3 I9 ]+ T   }
* h; K% g) q* X; T, g, \) C3 |
% U! ?% b! a! j6 }  j   function notice_details_meta_box($post) {
4 J: z7 i# K5 B/ R      wp_nonce_field(basename(__FILE__), 'notices_nonce');9 x7 d9 V9 S9 q0 m9 g4 g
      $notice_title = get_post_meta($post->ID, 'notice_title', true);) ~& l& s( S' t# `" W
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
- q% }# W# N. j9 c$ V      ?>
8 A; Q( w8 {7 c      <p>
$ v+ l1 q1 t# K$ U          <label for="notice-title">Notice Title</label><br>
0 S* Z3 v6 |2 f, n          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">4 I8 l% @* I: R) F) {; w
      </p>4 `1 j! Q. \2 B5 W
      <p>
. ]9 q, \) c1 o+ i  B          <label for="notice-content">Notice Content</label><br>
8 w: p: p0 ]! k6 R: c. j( y2 W# p! Y          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
( {  ?+ U+ ?* D4 Y6 L: R- g; I      </p>. S( |) k4 H1 Q, H* c) k+ s$ ]# V1 {
      <?php( c( k0 L1 A- D; X1 R% c
   }/ z: p4 D, H  B$ v. ~

* @  t- C0 N. I' q) L- [8 p   add_action('save_post', 'save_site_wide_notice_meta_box');5 g+ ?7 b7 d1 ?! y+ O; F! K0 B
   function save_site_wide_notice_meta_box($post_id) {
9 y0 [: G: H& W3 L3 b9 [) g/ T      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
/ P# C. S" s$ H: _         return;
# {5 J# R' ~" C7 W      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)+ O6 G9 X* t+ Y; _# E& t
         return;
9 j) v; i6 ?+ `$ R! f2 X! i0 e- P  I, {% p- }- ?7 i! k2 w
      if (isset($_POST['notice_title'])) {$ c/ N/ B+ A0 B' J6 M* w' R: r
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));8 [1 F4 {& m2 |! c- V% ~
      }
) C0 n  N  ^. R5 L$ H) R      if (isset($_POST['notice_content'])) {8 A; K) \+ N1 b5 p+ M
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));1 I8 Z5 d* w7 L  Q
      }
8 U8 T; c  c+ M   }
$ j) G' @' a" e3 O* Z, N; o9 P+ L1 Z   ```! T& o2 _3 c/ o

6 _4 n1 Y  I; \7 Z& v3 d( r0 |   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
' X' i5 e$ S: `# D6 G+ r
( y7 Q4 y  ?/ N: m% U4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
7 x9 T" k# e3 F/ q0 p# ^' d6 s3 k. |* B6 T) M2 w5 C/ ~
   ```
7 O7 G( X$ M8 J* J8 _   $args = array(
) X( t! h1 D: h1 }( F' u- j      'post_type' => 'site-wide-notices',
- S. O' e+ k. s- d. D. N      'posts_per_page' => 3,
- t5 h9 C  x, p      'order' => 'DESC',
2 m. m! g: q7 b6 c$ E( U5 b" D      'orderby' => 'date'
0 e( F9 \" y0 l4 l: w3 I: X   );
3 U$ i3 T. g3 c/ G8 A- [' N! g   $query = new WP_Query($args);" A8 Z1 u& e% b+ W5 P' u" K
   if ($query->have_posts()) :! `' Q8 v. y9 w1 Z' H% p/ ~) c4 R
      while ($query->have_posts()) : $query->the_post(); ?>0 C. G! x# d* q% e4 N( `/ F
          <div class="notice">) z1 W( g5 u2 {7 c
              <h3><?php the_title(); ?></h3>) `, {9 f6 g$ K/ t: d  L( |
              <div class="notice-content"><?php the_content(); ?></div>
# Z  w, g. Y! J% [" S# G          </div>
  c$ G! O+ e0 E1 Y: t      <?php endwhile;
/ Q  o+ ?  j$ ?2 Q% \: W# c      wp_reset_postdata();6 e- x) l; a% i, R0 K- r/ j
   endif;; n( B# w# f( f. {7 U
   ```
3 q  H) g+ |4 c4 C  [
/ y& p5 Q  B# @" B   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-27 04:42 , Processed in 0.033480 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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