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

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

[复制链接]

338

主题

521

回帖

3468

积分

管理员

积分
3468
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:5 v- Q' P$ c& ~, D
% s1 J( W  g1 A8 G. r! h' P
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
8 _& ]3 {) `" E6 g: G% o. F
5 p7 L0 }& I" z) ?2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
, g3 e. v7 a5 O% b7 v) d
/ w7 n) s# Q& ^1 p; `3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。& y- P) s9 y7 E( z+ b
2 s6 g$ C; Y* E0 C& {4 s
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。' F8 i) h* f7 O( q( A6 h

6 _# p) L0 ^) a  t) o$ ]注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

338

主题

521

回帖

3468

积分

管理员

积分
3468
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?3 M& F, U: L7 T0 E5 q  c
1 g" V' h1 u/ s8 w
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:% Y. L. r( O5 k9 T
; J2 x; r8 k( \* a; d$ P
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:, D+ `9 U  a; H* r

+ n* X/ P, `' B) m) r3 g. _   ```
1 C" w% V( }- ]/ S' V   add_menu_page(5 k9 {, Q5 f4 y( {' V
       '全站公告',
  s; c' ^/ Y9 }* r& ^       '全站公告',3 a/ ~$ z& J  }* e- e$ x, ]( A7 J
       'manage_options', //需要的用户权限  l$ x" e! O6 _
       'site-wide-notice', //后台页面的 slug5 T- D+ ?/ V! M% T$ Y
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
& v" j% t7 i; G- A       'dashicons-megaphone', //用于显示在菜单中的图标6 x$ e8 k( J! d# E& F  i
       30 //菜单项的位置
5 x  w0 i7 n( T. Z. P* n   );: m/ T. _: u' F! v7 i5 X
   ```
. v) p  L( t/ ~' [  s0 B! n. e: t% J$ w
  w9 A0 I& z3 w5 ?3 Z/ Y! a   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。5 y) _+ O4 p0 ^7 U! K
, O8 H' j* |$ K* ^4 V
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:$ v. W  a1 w" |* s

) ~2 O, p! C  ^1 ?' K   ```* z+ Z* m$ Z" I& Y/ S2 w
   function render_site_wide_notice_page() {) o! s  b" g& s( z* T
      // 渲染后台页面内容
, ~" G1 N  O0 N: F. X      echo '<div class="wrap">
; v( Q; Y3 I! _& [$ w$ ^          <h2>全站公告</h2>$ G  T" ~+ L  ?2 d3 T: P( W
          <form method="post" action="">$ v1 d: q6 r5 j7 Z# F5 K% D4 R& @
              <label for="title">公告标题:</label>6 N# C1 R. p: P; h8 ?1 ]
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br># V, A' }* o. s8 y4 j$ T
              <label for="content">公告内容:</label>+ g( f$ m4 H# t  }* F
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>. t6 o! y1 P$ E" i# e! a
              <input type="submit" name="submit" value="保存设置">! h4 e8 W( B- T7 M+ Q, a
          </form>- J' H" o$ P  G, ~) e% S
      </div>';
# l& R' ?  j9 ?/ w% m& ^9 X
# j- ^# Z4 G! m) g3 h4 Y      // 处理表单数据
& B! q1 X& Z) e9 s5 p      if (isset($_POST['submit'])) {: Y5 ~; E# C% y, M% M
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));* I, k5 R2 j! K  d7 j$ c
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));7 O, e$ _/ N) v3 z
      }% A& x" H7 r8 ~# Y4 {3 \) A
   }
+ @' o4 z& q% t3 @   ```' k- g; M+ l7 B  C

/ C3 G5 @5 O1 ~% W   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。( ^, ^: q0 j; P6 {! t# G

0 q, u6 A$ ~3 @# R  J, ]. p8 X2 b5 }3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
/ a4 K! z/ K2 E  Z9 X9 y' V3 Z
; v/ f7 W3 x9 `( g6 b% U! W   ```8 {+ D% A& E0 W& B* U
   <?php
$ v) [/ X* L: D( |* R  h( X  G$ F& k   $site_wide_notice_title = get_option('site_wide_notice_title');
! E0 z# g/ q5 G" K   $site_wide_notice_content = get_option('site_wide_notice_content');
/ g: m; e0 c; a% ~   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {$ R# ~6 `4 k& V* V/ ~
       echo '<div class="site-wide-notice">';
! j# s, O; g2 Z1 F9 ~3 v9 j       if (!empty($site_wide_notice_title)) {
; @; k% P, @+ {           echo '<h3>'.$site_wide_notice_title.'</h3>';
+ R* W; x$ g- h- f; ^! ]       }
; E' h* u0 S  {       if (!empty($site_wide_notice_content)) {
, K, n( U# z" j! U' F* j           echo '<p>'.$site_wide_notice_content.'</p>';7 I9 \3 I; j  i
       }+ C: X3 ]& {7 N3 Q) |2 [
       echo '</div>';
, g7 g' D5 ?7 W) p1 [   }( w( M8 u1 i0 M8 P% Y
   ?>. R$ |  d: s% p  R1 v1 V* ~
   ```' V  U, r& p" \
% p* O$ s$ \; Z
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。0 o) F3 e5 _' F0 M+ d1 ]9 A6 ]0 b

% {% U' ]5 m4 [& x请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

338

主题

521

回帖

3468

积分

管理员

积分
3468
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?* H" M$ s& N. R' @( V; |# z

0 t- n8 D3 M# i* K% d2 D您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:( q+ W% i' ?5 U; k+ B1 p

- }4 d+ e$ q7 P1 Q5 o1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:8 \+ ], K+ w& |0 k" ~9 O% \# q1 |
9 C8 |% G7 [) z+ `, L( z
```
$ ]& l8 @, k" efunction create_custom_post_type() {0 U$ ^' W- g2 R: i: A# d# J
    $args = array(  ^3 n/ P3 q) [  {
        'labels' => array(
) \; A3 b5 l, K" E6 H            'name' => '公告',5 Y  S( z3 E+ q/ z; R2 b8 m9 R3 g( q2 J
            'singular_name' => '公告'3 h. F. b! P/ z2 b
        ),
! r. S7 t0 [8 o/ \8 Y% v4 d3 x( a. l        'public' => true,* h: }: s' Z- J" T
        'has_archive' => true,+ e! x6 e% u$ a& l0 o+ w& q7 ?2 S
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
& U! v# x) y6 S9 K2 b        'taxonomies' => array('category', 'post_tag'),
$ x& `) y3 U5 b        'menu_icon' => 'dashicons-megaphone',
; @; }7 G+ R6 I2 K! b2 |- Q; x% Z$ ^        'menu_position' => 5,9 _4 A) ?* k! z8 e) S& `
        'rewrite' => array('slug' => 'site-wide-notices')
7 N7 P' q4 [! G6 T; `' t, R7 a    );& ^- B* d6 `4 s; Y0 q
    register_post_type('site-wide-notices', $args);
. @; V& L0 B. ]' o}
3 I0 H# E* j6 I6 {( k$ ^* G5 zadd_action('init', 'create_custom_post_type');
9 j9 A" q( v- W1 ?1 O```) [2 Z0 \% X/ ]/ r5 d
6 B* l1 H% B! R$ \9 @8 ^% ~1 u
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。% |+ f% `, M- `2 u8 z7 _
: ?* s3 W& D) X1 k- x- ~
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。$ m2 t+ _8 C# p7 O

4 l+ A9 U) l# X+ [: L: [3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:" c6 w8 b" L1 x- N
6 r  Q8 ]% h# s5 k0 z! C
```" ?& p8 u4 z7 S: p, w) \0 O  |
$args = array(( r; d7 T& p7 `6 D  i& n# W
    'posts_per_page' => 3, // 显示的公告数量1 J* s! P1 _  \: a
    'post_type' => 'site-wide-notices', // 公告文章类型
1 k4 w; [+ T4 C    'post_status' => 'publish', // 公告状态0 J6 y0 ]- ]; r# m- h  j% J0 j
    'order' => 'DESC' // 排序方式
  G7 a; P% ?, K9 W- c- F+ K);# g3 ?, l9 @  [

8 V4 H3 ?+ t+ e2 d4 X$notices = new WP_Query($args);
* I1 A9 }6 p. t. ?if ($notices->have_posts()) :
# O2 y" p5 [- n7 E5 A    while ($notices->have_posts()) : $notices->the_post(); ?>8 {- N" f( _* q, }
        <div class="notice">6 r, ?" B; e* C0 d  S" p( B" G
            <h3><?php the_title(); ?></h3>
6 ~5 L1 I* F. m4 ?; p& W2 U7 G3 @            <div class="notice-content"><?php the_content(); ?></div>
4 U! o- `$ t5 C        </div>
: T& C. x* ?# O) W% ~0 H: |0 V( ^    <?php endwhile;, Z' x" H/ B# V  F: {8 v+ ?! {
else :
+ l$ `) s2 m1 v; F* M7 c6 F4 l    echo "暂无公告";  J4 t1 j6 Y! j$ G. k
endif;8 j6 x2 n4 a* F: E
wp_reset_query();  X3 o6 W$ E) b
```
7 @. G/ l4 J2 v8 P( D# f9 \2 ~9 L! @+ b( ?
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
+ [4 b" u- `1 b6 C% u# I2 _; C! |7 s! b* C4 D  a
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

338

主题

521

回帖

3468

积分

管理员

积分
3468
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?+ J6 J! ^0 M. W# x

# y) G. v- |  o7 \6 U- I如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。, j: r/ {9 n3 e

! n2 X4 i' [8 G, ?- I以下是创建自定义插件的步骤:
+ p; f% r6 b& A0 W5 z1 t" F- K
$ p# C3 z% _+ Q0 j$ P5 e+ W1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:) H+ Q: ]+ t' K

: R! C, T- N( m# T$ }   ```
: V( G: f" ?+ b  ~  B2 K8 }" w   <?php
4 K* Y, J5 \7 \) u   /*
; g1 v0 E4 U' U6 ~0 Z' }+ M   Plugin Name: Site Wide Notices Plugin
6 e, F; C' k6 \: u$ J0 h   Description: Adds a new custom post type for site-wide notices.
' u2 T# Y8 J: |- X) T: r   Version: 1.0
1 d/ y( z, G1 W0 X7 N   Author: Your Name
2 k/ x) t4 |% X+ j   Author URI: http://example.com% ]( {7 t5 y( v+ W' z2 O9 E
   */: }% ^( T8 n, v4 q

# C. S1 [7 z* b5 o9 s  x! D) a   // Add plugin code here...: f( T" O! h  n0 C
   ```. q/ ~. [7 o& I- W' L
) K. b! w8 I3 S9 }+ ~
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。( M' `& ^6 a: _# u7 e! y8 V

2 B. U2 ^: Y( S/ h! T4 O2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
4 b$ l1 c2 y1 ?7 p
# v# o. |  u0 U; G4 {1 E   ```  N! A# i7 }+ V, s) a
   add_action('init', 'create_custom_post_type');* [- z( d  M* O2 t7 B1 u
   function create_custom_post_type() {9 ]) W2 g# v6 w4 P( l3 l  J
      $labels = array(# v0 X9 _0 S8 U0 g  A9 `
          'name' => 'Site Wide Notices',# q+ f. _$ C5 D9 ~" n! @8 V
          'singular_name' => 'Site Wide Notice',
3 Y9 }0 E  z, w$ W          'add_new' => 'Add New',+ ~' x# J- ^1 B- O( b+ J3 R3 B( T) m
          'add_new_item' => 'Add New Site Wide Notice',4 k% x3 w8 [6 p9 ~
          'edit_item' => 'Edit Site Wide Notice',- C& d6 y* T5 c! Y( T3 _
          'new_item' => 'New Site Wide Notice',
% O: U+ V' Q) P, j. ?/ P% _: Y$ w          'view_item' => 'View Site Wide Notice',
6 r# }, z5 F& N          'search_items' => 'Search Site Wide Notices',
9 |- {8 c/ F7 N; f5 u9 u+ x- e          'not_found' => 'No site-wide notices found',( l' @9 I4 j  J! C2 I
          'not_found_in_trash' => 'No site-wide notices found in trash'
1 b  w1 X6 _7 q8 C( A      );
8 Z* S" F+ k2 d: ^" e$ a5 M: W. C  F: M
      $args = array(& `+ g$ c* u: s
          'labels' => $labels,( v) v5 q  Z- b' L% Q1 G
          'public' => true,3 K# P5 J: k% u  h. Z
          'has_archive' => true,
$ H# g/ z3 W2 Q" ]& @# Z. t          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),8 B/ L4 G3 ?! O; \; c' g
          'taxonomies' => array('category', 'post_tag'),/ S6 ]$ B0 p1 ]7 v
          'menu_icon' => 'dashicons-megaphone',
# k6 N& [8 X7 K( z          'menu_position' => 5,
* _( t9 \5 Z1 B+ b( C6 K          'rewrite' => array('slug' => 'site-wide-notices')4 t6 `% p) z2 N, X& m$ U! f
      );
+ ^- E; g  }) k& \8 \, P3 ?' y! ^7 Z
4 f: z3 ]7 x' D      register_post_type('site-wide-notices', $args);
. u0 B% s( B( a* c( h   }: P! \6 z6 j" `7 c- O" D5 U% {" J
   ```3 K" a2 h! d/ A

/ l: ~4 [8 T4 `, q# J3 [6 x5 P   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。7 z2 {( G; E' ]2 j/ `" w
- v3 k& ~. ~2 N5 ^
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
8 M+ k- E3 R, c$ ?% W: `5 Z7 s
0 ?6 [4 p. ]7 D5 _7 |: t   ```
1 f; D. I! ~1 z, m% [+ G   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');$ Z7 G+ G+ p/ o4 F* O, a. _
   function add_site_wide_notices_boxes() {
2 [* R6 _3 w! X% e0 T) \      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');8 N! h. O) }. S! Y& c
   }
% d* ]: E! ?1 O
$ a% L# z0 L0 s$ ^   function notice_details_meta_box($post) {
3 B) E# J9 }5 j/ r5 ~" _      wp_nonce_field(basename(__FILE__), 'notices_nonce');* H; Z1 ]2 p5 ~1 n/ \3 R
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
# {- D: {8 A. E  N      $notice_content = get_post_meta($post->ID, 'notice_content', true);
/ c. K$ p: z, A" F% d/ l2 C      ?>0 Z5 D6 ^+ R3 Y/ B; q7 Q
      <p>7 O& |) N2 j! P! k: ]- g
          <label for="notice-title">Notice Title</label><br>+ x: h- B# M  ~+ K- F. R
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
* f; u5 a! E5 `5 f      </p>
$ d. k( W* v2 V7 j2 E      <p>$ r3 n+ v% {- H) ]; ]/ T
          <label for="notice-content">Notice Content</label><br>) A/ D! H& O! f5 h3 E5 S3 j3 W
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
9 K7 w1 ^0 C; ^0 `9 K8 X, B      </p>
3 ?9 b5 x( ~) g( a      <?php0 s) ]7 D2 w; ~& l  u) X+ I
   }- N  t2 v% |6 ~( ~3 b; F9 ^

. I9 r4 f  I2 y$ i   add_action('save_post', 'save_site_wide_notice_meta_box');
2 i1 b! Y) i/ `5 i( V- z# [   function save_site_wide_notice_meta_box($post_id) {
5 a7 ?2 {5 n) f      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))3 Z) c$ K! |' E( A- C7 P+ ?
         return;
& X* b$ N# }/ h) q- l+ O      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
2 c/ S" y+ L2 @# q  P( m         return;
3 W8 T+ ~/ ^' ]- e5 i6 L& k9 L) a. S1 l& q7 I
      if (isset($_POST['notice_title'])) {; y! b: m/ r0 N3 I  g) s3 E5 l+ Y
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
& ~3 G' R' _, E- ^" I. u; e      }3 u- W) H4 s8 J! E# E# b
      if (isset($_POST['notice_content'])) {' n; B7 s+ @2 Z! @8 l: J
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
8 o2 w( S4 T, v- C  S3 s      }
$ v$ i  k+ g3 A/ f, J3 c   }( M1 y3 l: P4 [! s2 G; V
   ```
! M5 M" w$ E" w, S1 Y
$ f; X5 o; ~" D: R4 X8 e% X' r/ D   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。( K) C& y8 X+ y9 b
( q2 E3 V' U& I" t- T
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:, J+ |, u8 `5 y3 g
4 d; C- |6 v& M# M  n9 c% v) e
   ```
) Z, o+ _6 B& B3 U" o, ]1 V7 O2 f   $args = array(
! |# R5 G8 p( v' ?; U. z  e: x      'post_type' => 'site-wide-notices',
! L) |! R- @( T% y: ?      'posts_per_page' => 3,+ ~; g0 b7 K! I% S5 ?* G9 {1 m/ F
      'order' => 'DESC',
# E: G# j) H( k0 Q$ T- H8 Z      'orderby' => 'date'
. k, j) D! m. l$ e+ R6 w5 s$ F" k: {   );
3 l0 I+ S6 d$ V+ Q+ p; c   $query = new WP_Query($args);
8 F0 U, h  x* N; Q5 E   if ($query->have_posts()) :
+ S0 t6 y* @# O1 F5 f$ C0 i      while ($query->have_posts()) : $query->the_post(); ?>/ _4 q# a* T6 ?; g3 J+ m4 d# y- m
          <div class="notice">" N! M; S. e( [3 P% c
              <h3><?php the_title(); ?></h3>
5 C8 v4 P. z6 I; Q/ O              <div class="notice-content"><?php the_content(); ?></div>
: D, n/ \# h# s0 F: A! s7 {          </div>5 x4 _& }! Y: i3 v/ g3 X$ \
      <?php endwhile;! A# j# G' U0 W4 f% W' U$ i  H
      wp_reset_postdata();, Y9 Z4 _3 E7 b9 Q4 g3 B
   endif;9 e7 P& m# q# C1 r8 o2 {/ ~+ G1 R' q
   ```3 v3 J/ }5 B3 ?# g  }# D4 l1 ~% X
" I# ~$ |9 ~% T& ~/ c
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-5 13:37 , Processed in 0.023134 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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