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

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

[复制链接]

335

主题

519

回帖

3409

积分

管理员

积分
3409
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
# N1 F* c6 `3 j6 o9 V$ D; s, a5 `7 f* `
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
+ T6 h4 H# c* x$ _% \5 S. q
. r& c; g0 G0 h+ ~, t& P2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
7 N9 r5 W4 q# D7 h$ b' W7 ?8 Y& w: [* H( b" O; |
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。7 }6 a. K  O8 k1 v  v

- N% \: s6 a7 z" D" I4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
1 t& X* X  g/ G! S6 |, w- Q- g+ I) }* Y! l0 @8 o
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

335

主题

519

回帖

3409

积分

管理员

积分
3409
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?2 `$ J9 o3 ?6 A  x8 J

4 K! L- M8 D- ^. U+ v* _7 l% p! L如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:& z: n5 y5 T/ u1 [
0 N- Y9 j. i: D2 N: Q' z# C+ \- g
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:! d' }( W3 A3 X" i) T/ ^% U' N( K" X
1 V$ w* q2 H' Y* ?. J
   ```; h5 b9 W- y. ~' |, b$ m3 @
   add_menu_page(
2 j7 }/ w; {" u3 Z; ~2 K$ [# J- C9 Z       '全站公告',
/ c6 n" C: [  q% h1 X       '全站公告',+ U4 f1 [# K% v8 A: R. I
       'manage_options', //需要的用户权限
/ B# H  ]/ x; O* a       'site-wide-notice', //后台页面的 slug' l4 i/ j" @2 P  d* ~
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
8 D7 N! p- Q+ s$ I! F3 |( S       'dashicons-megaphone', //用于显示在菜单中的图标
! C) l, ~+ D; n# f8 ]6 a4 e       30 //菜单项的位置
+ d. B* [) w& ^( |& F5 A   );0 b) T+ c' c$ \$ ]8 W5 X
   ```4 U$ B6 M) P! J& ?7 }

) p. Y( Q5 c8 T+ ^   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。' P: V( r9 H' F  @* f1 y

7 N/ ?1 p$ j' @2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:/ K4 N" L% F7 Y2 y" g) ~

) N# C* ~4 s& W7 _3 B0 _   ```
$ m2 @4 {  |6 ]6 M. \" O, t1 X   function render_site_wide_notice_page() {
8 ]7 ?8 H% M9 L$ @      // 渲染后台页面内容
6 k2 j$ g" E; c      echo '<div class="wrap">! V# j& n) G! w2 `" `, r7 u- k
          <h2>全站公告</h2>
2 l8 q" E9 A6 M5 p$ m1 c          <form method="post" action="">/ i/ W2 O% \8 }1 B; C( W6 X
              <label for="title">公告标题:</label>
% B- D3 w: |" G! o* s              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>, a0 b- Y! }, R( X; ?
              <label for="content">公告内容:</label>
- @: O( c5 G/ a8 M: f! Y2 |              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
5 E# c$ {1 V, V+ n7 Q. ^              <input type="submit" name="submit" value="保存设置">
* M8 d/ E* I% H2 f  D' F! S          </form>
* [0 j1 ~8 ]$ _8 `2 c) F      </div>';
( ~' K& P6 w4 p0 @& i0 F7 U1 L2 d3 q4 l# }9 A
      // 处理表单数据5 }% [) w! h; ~/ E- _
      if (isset($_POST['submit'])) {
) U, W, n4 m2 v+ J" }& B          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));! `1 \/ g7 `1 X1 s' U( n
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
8 u7 k; p* S+ g3 ]* ]2 @3 y6 B; z( F      }2 L5 k! m) _, y9 z
   }
( M3 q7 r1 k2 {0 k6 z   ```4 T, }( U2 j8 V! F0 y
! V1 [# D- V& G
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
6 E) H* m- Z1 a$ g& ~" G! V& r3 P8 f; u* f- ?8 w; ~- u
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:! y  `0 `0 Z2 T2 T$ z% X$ B
+ t' t7 ]' O, ?" e: Q" h
   ```2 d$ Y  B+ P! n' Q8 I2 I; x( B
   <?php
8 I5 A  b8 s  A/ K" E. P   $site_wide_notice_title = get_option('site_wide_notice_title');
9 N; `" \6 U. T* U3 K! s* `+ m   $site_wide_notice_content = get_option('site_wide_notice_content');
) K# s4 y; a. q5 N   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {  i" r. \% ?* b+ L( A' t/ N
       echo '<div class="site-wide-notice">';
: c& k/ _8 S/ t6 x) b/ U. {, ~       if (!empty($site_wide_notice_title)) {
) `/ s+ n: B+ n& b7 X6 m           echo '<h3>'.$site_wide_notice_title.'</h3>';
+ c* S5 t. i* J5 E* [) B       }8 ^5 E$ }! E' V* K
       if (!empty($site_wide_notice_content)) {
0 Q( `2 q# h" Q( X8 h           echo '<p>'.$site_wide_notice_content.'</p>';
$ B9 w+ n' K* c- J& g       }( \! X4 t3 A, E- K. e$ d
       echo '</div>';" U5 x  r1 T0 d; s5 R
   }
) A2 G( Q# a" R7 ~' }   ?>
: e" k1 ]9 Y+ A; c  ]2 N   ```
3 I: _' X% }! S- k% V' W
- t# s7 t: ]) @( b; `/ a' P   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
* S) C% w6 L7 \( Q) ]) L1 l: A! J7 d! m1 C0 F
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

335

主题

519

回帖

3409

积分

管理员

积分
3409
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?& }: n+ [$ }9 w8 E: t. M, _/ G

% G3 H% s9 y  o- H4 h+ H, k您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:! u+ k' m* z, k
5 c, f; A" n/ ^! Y9 q
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:) u9 K% `- b% K$ n/ ]* k  w( ^' h

/ h. J) ?2 d0 O9 f( e```
+ D5 O' h$ Z3 `function create_custom_post_type() {3 d! Y3 y& p2 Y5 c
    $args = array(! n6 f6 p/ U2 H# I( a5 Q
        'labels' => array(# {! y3 e7 ^2 ?$ Y
            'name' => '公告',- |* G# N3 l5 a, N
            'singular_name' => '公告'
  j0 @& o; X/ E# G        ),
, p# t+ h% U5 r5 {2 o' ~        'public' => true,. d0 F$ J/ a6 Q2 H
        'has_archive' => true,
- u9 x) p( U7 q+ `' j        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),- m6 \+ g6 `! M# A- b; Z6 s
        'taxonomies' => array('category', 'post_tag'),
0 ?, D: c( R* m0 W* `        'menu_icon' => 'dashicons-megaphone',# |! z/ ?6 S# E: b7 b& ]
        'menu_position' => 5,
  L1 @1 Z/ |5 M' s2 t        'rewrite' => array('slug' => 'site-wide-notices')" M. J' g; m) r+ P; L" T% r. m
    );; o* ^$ z8 T! e( Y8 T1 q$ b
    register_post_type('site-wide-notices', $args);
) `5 U+ r: P3 R}
* G( S! I* Y% t+ Q' D3 |add_action('init', 'create_custom_post_type');
  ^" G/ B  I! f* r```0 A" U* N- \, Z! \2 h1 e

6 ^- p) ?+ T; ]& v! z2 `在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。) f* y3 a# a% o
/ j- J" S" J+ a7 x2 X
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
3 S! K$ T, w) F  S; y0 i. e. I9 A0 {
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
5 @# c# P+ n! Z0 V* {$ ?; A7 h9 V' }" O6 S$ k4 x* E
```5 y9 s' W2 O  f) Z* u( b. h" w; N
$args = array(- O1 h5 `0 J4 v$ }/ m: J9 p
    'posts_per_page' => 3, // 显示的公告数量
. O! H! Q5 ~; ~+ k! m    'post_type' => 'site-wide-notices', // 公告文章类型; f: [! O- o: V! C& u
    'post_status' => 'publish', // 公告状态
" v6 D8 V) {; ~. ^2 @" q8 W+ `    'order' => 'DESC' // 排序方式
+ ?+ ~% v9 r7 \);6 \1 X  W) P. D5 e4 m! P% L
$ {( Z) ]% h, W) `+ `, B
$notices = new WP_Query($args);; d' M" ]' ~3 K" B" y
if ($notices->have_posts()) :
7 z2 R) u, i" U& j    while ($notices->have_posts()) : $notices->the_post(); ?>
# z6 G. ~7 F6 G9 I: t% ]! p7 J        <div class="notice">$ f$ U6 W' c: X* s4 c' G
            <h3><?php the_title(); ?></h3>) v/ ]! ~- n: ]  h7 g9 |7 ?3 W4 u
            <div class="notice-content"><?php the_content(); ?></div>
& l. A# C) N8 o  f: t- L- C. q        </div>- f: D! t9 f/ F8 K; U/ q
    <?php endwhile;
' E) y) c/ Z. q; I- X/ aelse :' f# k3 p0 ?  s
    echo "暂无公告";' S  ?, X( z( \. Y) N) o, ?( l/ u
endif;
; o  [+ o% L4 u9 ~1 g3 Iwp_reset_query();) g$ V/ }& C* f9 q7 f. H2 V3 f
```
4 F+ i4 C1 v% y" U3 s6 o% ?$ @3 a! Y1 N* b' z1 s: ~1 ^
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
! E8 y# W) k1 c0 C
" h/ m; N# h" K8 N" E" z8 M  @以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

335

主题

519

回帖

3409

积分

管理员

积分
3409
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?5 o/ l0 W- h- P8 {8 V* j4 ?3 T

5 J3 S" {+ Q! N/ N如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
6 u/ ~; o, ~  p, Q
9 o) f; U; |% j* `2 u, i5 k以下是创建自定义插件的步骤:
3 {) {2 G5 i- f" P, }1 X6 m
* U6 ~8 }! M" a" [( M- m2 h" D+ J1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
7 P) C0 z1 c) t% h/ D5 v9 o0 N+ k0 O! u: x- ~; y; E
   ```! i/ M3 u" T6 `" x, Z+ Q$ ~
   <?php4 R9 w8 r! D0 U) {# G5 J3 z/ ]
   /*8 w  w2 C% d7 R, S
   Plugin Name: Site Wide Notices Plugin; C* [) O, _) E& M6 F
   Description: Adds a new custom post type for site-wide notices.
; ?6 t* t+ H$ o  o, _   Version: 1.0) A4 i& n5 k4 }, z, q
   Author: Your Name  w3 K7 I0 s" s% O+ q/ t' r9 c: O
   Author URI: http://example.com
0 f/ N. I7 Y+ D3 Y5 x   */' R9 m+ Z3 h% e2 H- ]  W9 y4 g9 R: b
$ H0 y" y% u: E+ d/ C
   // Add plugin code here...4 M& u5 [, j1 D! A
   ```% t1 m& s8 m7 X4 Q& @& r) K

5 W0 E. D' W& U6 F! ]) ~; _9 Z   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
/ m' R. O+ E" [; M3 @4 A
0 @  a# ~9 q- R0 ~. I/ |! o2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
6 o) q$ [# Z$ r( H
8 g+ N' g- z0 w- |/ Q% G+ Q  _/ L   ```; u& K1 E* h8 x, I! K
   add_action('init', 'create_custom_post_type');$ }0 a( l9 Q; r: [2 P. h  I
   function create_custom_post_type() {6 B7 y! x( @7 i9 U& V
      $labels = array(
' ]1 @  G/ D  w7 p3 e  O5 e1 l! G          'name' => 'Site Wide Notices',& f4 M" Z' g- D
          'singular_name' => 'Site Wide Notice',# @6 i; T1 ~- A- O7 k1 B
          'add_new' => 'Add New',
7 Z' i# `0 `# k* i7 i1 b          'add_new_item' => 'Add New Site Wide Notice'," ]/ d7 n! o# q6 Y$ y1 w
          'edit_item' => 'Edit Site Wide Notice',1 D2 b& c3 [# k
          'new_item' => 'New Site Wide Notice',' i- e9 B  \& W" `% j- Q
          'view_item' => 'View Site Wide Notice'," E: l0 t& G& r* n! [# m# O
          'search_items' => 'Search Site Wide Notices',, f- I2 ?- ]& y6 m. z/ u
          'not_found' => 'No site-wide notices found',2 ]2 K% Y1 g' {, c
          'not_found_in_trash' => 'No site-wide notices found in trash'
* T+ m* l, L- i! m# j7 |      );1 p0 R2 L$ y, {  g
; G5 r; M4 M( j/ U$ Q8 |! I
      $args = array(  U4 Q1 v9 A. w! f6 f" _7 Y
          'labels' => $labels,, x5 L, Z# U0 o: S$ R* c- I
          'public' => true,
/ F! X/ u6 L& O& B8 g# D  E. _          'has_archive' => true,
4 C* k0 E& i& O% w9 Z1 T          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
1 K1 I0 P  C" x2 |* b          'taxonomies' => array('category', 'post_tag'),
/ D: Y* u. [2 I) F8 `! T          'menu_icon' => 'dashicons-megaphone',
/ b. U; N) q& z% n" @0 G          'menu_position' => 5,
9 ^# @3 @: W  H( j- S          'rewrite' => array('slug' => 'site-wide-notices')9 w' v  T2 r* p
      );
1 t! V7 @7 f* P$ K9 g) `5 D- G+ t/ `9 U  q
      register_post_type('site-wide-notices', $args);
; [7 G# G, P- }' G" H4 U+ ~& a   }1 t  X4 A) d" p
   ```
" W; q1 C9 K2 |4 `. O7 K6 q* T+ v+ o* t4 N) J
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。" W7 a! }# ]; K! T0 O1 O: H
* G; j7 C" L5 K
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:5 Q& a% o3 ]9 c9 Z& I+ @; J3 T# b/ j

; Y" h$ }% M2 p# |) I   ```
, L) d' p; ?# F% k! f* j   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');& V: b3 H9 T8 w$ t7 ^6 V
   function add_site_wide_notices_boxes() {
3 S* D( j) S1 M+ a5 C( S0 s      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
. v: {' O1 E$ Q" k   }! \: ~; }% T! s* _
9 S  ?; ]5 g3 V" g6 w8 ~: V3 R
   function notice_details_meta_box($post) {/ ~* a( B* t: ]9 J1 o+ B2 X
      wp_nonce_field(basename(__FILE__), 'notices_nonce');
1 J6 I7 t  Y: R$ I+ f4 `      $notice_title = get_post_meta($post->ID, 'notice_title', true);
4 b/ ]3 F* }/ t$ C, w4 l' _% a  z  U      $notice_content = get_post_meta($post->ID, 'notice_content', true);8 e# Z+ |: F+ V* ]
      ?>
! Q' e. d: ?7 o$ A      <p>
  }+ A# c3 f) t: y4 H- U          <label for="notice-title">Notice Title</label><br>, i0 x4 _$ f; R) o) P
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">" K$ o+ p; \6 D2 }. m
      </p>5 k) B7 Z6 h/ [. m0 U) g; G! H
      <p>
# N6 p; C: I# H# F5 ]) i          <label for="notice-content">Notice Content</label><br>
4 B$ O& ?3 X1 ^% H2 d          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>2 A/ i* ^: R/ V
      </p>$ r) o  ~9 b1 `& ^6 a. W4 e
      <?php# b+ D" a+ |) R; _. _' _
   }; ?( {7 Q7 r  L" Q7 M9 H+ T1 C

4 U5 G! G. [$ @2 G   add_action('save_post', 'save_site_wide_notice_meta_box');$ t: U5 P7 T9 Z! O% S. T0 L$ r
   function save_site_wide_notice_meta_box($post_id) {
% g5 H: t2 g% P+ w7 Y      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__))): [0 K2 A2 `, V
         return;
' S/ @4 l$ U& {; n      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
" R0 i- g! C% A/ b         return;
& R% b$ ~& k( x* |5 L1 Y4 k
5 T& X, |- j& N; h      if (isset($_POST['notice_title'])) {5 _8 T; x1 R# l! H, H1 _+ S8 w
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));+ z$ [' Y9 Q/ I( v3 H
      }3 r' j" Y+ \3 K1 c% F' y* a! j
      if (isset($_POST['notice_content'])) {
& X" ~+ B) l5 j, z; {          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));4 @* ]! o4 |. i0 l4 e0 \  M
      }
1 t, p" z  D1 i! }   }
6 E  s) y- K" f+ T. v! Y+ x: X   ```& {5 R; P% e1 I. X- s

, u4 M0 a; g4 |& H0 R   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
- m. j* R" E0 q" n; |/ F/ z# Z7 Y" l3 N1 n* y: V9 b# ?
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:) R% E: F# f9 g! u/ m# X. z. T5 Z! p
' W4 V( ?3 h) ?" s0 y
   ```
3 k1 ?: _% ?$ v. X   $args = array(
2 Y2 W% _/ M, O2 G# I, ^3 f      'post_type' => 'site-wide-notices',7 M6 J) S8 [6 P
      'posts_per_page' => 3,9 ^2 o, y2 H1 L/ l' T' C. c6 T
      'order' => 'DESC',( |0 S8 \; I& i; o
      'orderby' => 'date'
. N0 a7 m1 ~/ b! b' Q; a   );
7 G6 v: \( o* X* }   $query = new WP_Query($args);
; n3 V0 C, K: {, w' q   if ($query->have_posts()) :9 |8 z* A' X: `0 L4 _! ^
      while ($query->have_posts()) : $query->the_post(); ?>
4 }' g# n& T2 \! H' n          <div class="notice">& ?  {$ K5 H9 l( S$ v' K' v
              <h3><?php the_title(); ?></h3>
3 T8 p& V. H5 q1 }  {7 Y              <div class="notice-content"><?php the_content(); ?></div>/ }. ?6 ]1 `1 H9 l
          </div>
# M( B  c2 C5 }$ f, l; c/ ?% h      <?php endwhile;, ^, z  B0 |5 G
      wp_reset_postdata();
' a, Z0 C: M  N, b/ ?   endif;
0 h4 r2 o/ p; ]/ @0 @. a' f( o   ```
; w' [% w9 D* e" ]2 V
: U" Y& o; [0 \, H* T, @# Y7 q$ X   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-7 21:13 , Processed in 0.081011 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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