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

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

[复制链接]

340

主题

530

回帖

3538

积分

管理员

积分
3538
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:* p- @; b) g( i9 E
2 e: J0 O2 \& V
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
# V( F) Q& l2 X) |4 J$ a7 G7 |
* G% g/ y+ V) x. s# ~1 V2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
7 A7 d/ w7 v0 o( ]- i! T3 [# u# K1 C
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。/ l; b5 X7 e/ D* Y
8 c# Y; ?! Q2 B! f! z
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
1 x- c5 W) P* f% e% G( W1 X- Y# |7 z9 i4 v
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

340

主题

530

回帖

3538

积分

管理员

积分
3538
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?& {: k$ A6 i/ m0 a
2 s! Z$ `: j) z9 v
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
+ e# [# H7 w) T( y/ |) u1 }4 f( b! |4 O8 c6 {4 g& z+ v1 q
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
& d/ K6 Z( M; b$ X
1 V, f2 L' ]+ V8 R) E   ```
3 M/ g3 f. ~$ S3 r& X& J. X( K9 O   add_menu_page(
5 s6 f' g) V% ]5 x  j       '全站公告',
5 k2 V0 C: B7 t; ]3 l       '全站公告',
2 ?: T& X& R9 X, k! d5 X% `       'manage_options', //需要的用户权限5 U8 m- o9 C; H) U6 p
       'site-wide-notice', //后台页面的 slug
3 P5 D4 L3 F8 ^) j( F0 |       'render_site_wide_notice_page', //用于渲染后台页面内容的函数4 O' z0 ]- h+ ?, v6 L$ ^, B
       'dashicons-megaphone', //用于显示在菜单中的图标
- f7 b: I5 @" D  i# V! h       30 //菜单项的位置
/ J& ]5 [, t1 m* K* B: i- N1 C   );) h" l% X: Z+ R
   ```9 H& u% X. B+ Y# b7 ^

  N7 l9 j: O- ]7 R$ y   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
( m4 C  i" [( e& T2 k2 |  k  o, d- i+ |7 W
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
: ?7 U- C3 B2 w+ j' e# k/ R% N7 @2 J5 q& s$ F+ o3 f! l8 [
   ```
4 B' _, x. {8 ~; _8 c   function render_site_wide_notice_page() {
. D7 j. o+ E1 d& L8 A, P8 q      // 渲染后台页面内容( S, R( {. U* [" }( G, V
      echo '<div class="wrap">
& L8 T/ Q! K* m& _) p! @2 L; q. B$ |          <h2>全站公告</h2>
+ \7 m0 U: g: P  K1 `/ {$ r          <form method="post" action="">  h/ N+ M4 @+ g$ }  ^
              <label for="title">公告标题:</label>) n3 x) v* [  `1 d
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
% k/ c$ [+ L$ \9 ^              <label for="content">公告内容:</label>- S* o+ W, w4 K6 F* E+ _& _( \) g
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
$ r; j8 g* Z# g! Q" n" @              <input type="submit" name="submit" value="保存设置">8 m  z, Y# r7 j) v/ L/ E3 a% n
          </form>/ @/ L0 G. @' {, ]# F* L
      </div>';
9 r$ w2 n& ]0 d
$ Y$ @$ a5 {: _4 g: E      // 处理表单数据
' c8 J. B$ B1 q      if (isset($_POST['submit'])) {* N. a9 ?  o( T9 @8 I/ a
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));, ~+ U1 o4 ^! w+ r  c& h$ C
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));9 o1 m; H, z4 f0 A8 m( }4 h  _
      }8 g' e' o; i+ k. m
   }0 q* ~6 v# c& \! u: I" Z& g6 a
   ```9 g$ i# }' Z) Y1 j  k; R

4 L0 o0 j8 H3 K# H   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。! x5 y9 A# G+ Y

* ~! @$ J6 A+ K9 ^* D( ?: ]6 A! f3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
6 ]5 \, j3 f/ O' I
5 s7 c5 k+ \7 ^3 C( K   ```
( X2 e. E$ ]9 d. M0 C2 O) C   <?php- [4 E" F+ ?  [
   $site_wide_notice_title = get_option('site_wide_notice_title');7 i( G3 w$ Q& p: O# u7 F) a" _! B. \
   $site_wide_notice_content = get_option('site_wide_notice_content');
( G  }8 g$ ]0 V* w1 [" q1 e   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {6 k+ ~7 B3 `8 ~/ O4 U5 X9 q. V! D
       echo '<div class="site-wide-notice">';
: t/ H5 _, S% D: ^9 q' Z       if (!empty($site_wide_notice_title)) {
7 q6 l6 t' O  O           echo '<h3>'.$site_wide_notice_title.'</h3>';5 V( X. h+ i' a; Q
       }+ y- V% D+ T: x& M9 o
       if (!empty($site_wide_notice_content)) {( B2 Z& i6 C' m$ E, @
           echo '<p>'.$site_wide_notice_content.'</p>';; y0 l# o; H4 _
       }6 ]- s8 r( V2 w9 V9 x* X% R
       echo '</div>';/ O8 L" k* t. g
   }
9 y4 l: P- d0 y4 j+ [# ?7 I% |   ?>& o( L) |. l  C2 A& \. o+ m9 j: i
   ```/ h9 \9 Y+ @8 M% c( [' _4 c  ?

: {8 x% [; w3 c- V5 J   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。5 t+ \# e! ?& b  t3 w  u
/ G3 N0 g; Z; N. R9 N
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

340

主题

530

回帖

3538

积分

管理员

积分
3538
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
2 `" x) \, g, w* j5 X
6 T! S! A% N( X7 m) I( V* J您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:% D) N" \. ~9 g

+ U  `( O7 G+ ~$ u; i' Q1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:3 o3 X: X2 j5 [7 @9 j$ D
3 K( E' M7 E! K' ?/ {7 r1 ^% U
```" q) V; Q% }/ F, z
function create_custom_post_type() {) A+ x0 i5 y1 x
    $args = array(
* C0 q: N5 \6 S7 G  \5 k% N- V1 f! x        'labels' => array($ j4 P6 i- u# p: ]: J" C% d' q, `
            'name' => '公告',
9 n/ _0 r) s; F            'singular_name' => '公告'. W- L6 }# {+ z# J- H$ M
        ),
6 s2 H# A4 n! j/ s9 g        'public' => true,
' h* i* I4 x* S: k6 k        'has_archive' => true,
( k1 F8 `/ B. `        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
2 }# j6 X1 o, [' |; g        'taxonomies' => array('category', 'post_tag'),+ E' S" U) ?4 }0 Z( e- k, _* }$ {
        'menu_icon' => 'dashicons-megaphone',' ~) U1 y& y% _3 s
        'menu_position' => 5,  d0 B1 L8 r) T
        'rewrite' => array('slug' => 'site-wide-notices')- Z  F, ?2 Q0 Q" s6 v
    );
, m- p& d1 [$ G9 \    register_post_type('site-wide-notices', $args);9 V" l8 ?' K! G+ g3 N
}
( d! e3 h4 @7 `) J) x4 m2 P5 s0 nadd_action('init', 'create_custom_post_type');. Q  Z- I, M% a1 N7 u; ?9 g, d& V
```
6 p* |  e7 i* r  d) N3 R& r4 W7 n9 e. d( J1 }. v
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。- U6 T/ o( p: R0 f4 \4 Y( M$ z! R/ F
: Z2 N0 Z8 d( M$ b, Y. b
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。( N, _, \; X* ^
6 j! c9 a$ [* l3 y) V; R( q* s" N' o
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:0 c9 w/ ^6 r% N) [9 z
# I3 ?. G0 a# m* K! Z; g
```
6 W# p9 {% e  I; d+ @$args = array(
/ k: T- }- m7 D    'posts_per_page' => 3, // 显示的公告数量$ r/ P& }6 i' |% x$ }+ K  U. D6 \' e
    'post_type' => 'site-wide-notices', // 公告文章类型. X# [& l0 G; {2 N2 w
    'post_status' => 'publish', // 公告状态8 P3 `% J" k0 M0 d1 w4 w4 f
    'order' => 'DESC' // 排序方式/ S- J  Z$ z8 e/ o& b9 P* z/ S
);; l' l0 C7 F  W! F" {1 }

" ~4 B, v' l, Z, h7 J+ q$notices = new WP_Query($args);1 J' h0 O  L4 g/ T" P: N
if ($notices->have_posts()) :8 f% S* Q- C6 J; Q
    while ($notices->have_posts()) : $notices->the_post(); ?>
9 S8 }8 W( B# G2 C% z7 P5 Q4 P/ U        <div class="notice">+ Y- Z, j: e& f) P4 ], V& S. ?
            <h3><?php the_title(); ?></h3>
, o* O0 @  V1 R% L; m' X4 m            <div class="notice-content"><?php the_content(); ?></div>
9 k5 [6 X: [  i. y- I% E0 M. G/ _        </div>
  o3 F* s, W( Y; s1 h    <?php endwhile;! X* Q' f& c5 a  f- J! T
else :
. p+ K) [7 O; j  S    echo "暂无公告";( h" Z: \' y( z: t; Y$ e
endif;. L, d: z5 f/ @: I5 _8 q
wp_reset_query();8 ]& B8 c8 |7 P
```0 g2 o5 t4 M5 C1 z. h3 i
. `6 s( L. x/ N& v: F- W9 C/ t) u
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。- c9 U% q2 O1 j2 w' i9 [0 e

% J6 T: `0 s( t; f' W以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

340

主题

530

回帖

3538

积分

管理员

积分
3538
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?- K* h3 c" [9 b8 Q
" L. a: X; X, v3 Z1 j9 ]1 I2 _" }
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。+ H" V2 U1 b- U$ m" V& w
' `* Z% |. p9 B/ V
以下是创建自定义插件的步骤:
) g$ ?5 ~% h) t% y, _7 Y: Q2 C. ^1 B( [$ v6 _% H/ K# U
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:" ?, D% ?3 p4 M- |; }
* o- F6 f2 U  D
   ```
: M  F" e3 n% \. N3 G& Z9 n  l   <?php$ \4 G! t& ]" j0 ]  |' _& g; d  i2 u
   /*
; Y4 o$ }' c2 @; T   Plugin Name: Site Wide Notices Plugin
, m' ~% Q* ~% {   Description: Adds a new custom post type for site-wide notices.
6 g* k% m7 n0 |: c: z; Q   Version: 1.0
% I0 }5 o8 z+ P; ~3 ?  q0 o   Author: Your Name! w: E+ c0 k0 \1 U- Y8 J
   Author URI: http://example.com
3 ?& D8 q; O" \* J. P0 q   */& J! N. d) k% f% T# K4 D7 G* y
7 h+ f5 D6 }" |. d- N3 M% U
   // Add plugin code here...
6 I$ E0 B4 z5 o; W   ```
" q! P3 P  c3 R) c+ i% d" P; _$ N0 L! H% [  _' X
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
% Q: R/ w4 L+ o+ N! }2 b3 G6 Y- x+ Q/ S- Q& Y. R  s) |
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:1 c& j+ J- i5 @' I

$ Y' l1 u. X6 l   ```  k4 f# t; W7 g- I8 `' N
   add_action('init', 'create_custom_post_type');
& q) g7 y6 @( S: ?   function create_custom_post_type() {) A6 [$ {. J. D+ v) o" v1 N. v- y
      $labels = array(/ L. F6 `8 G# X' Y5 l9 S
          'name' => 'Site Wide Notices',
% I: z7 c3 B3 S, r; k  U$ T          'singular_name' => 'Site Wide Notice',. C5 ~( n0 @8 B( B- W  [) o& q( B
          'add_new' => 'Add New',% n8 f1 j+ b  Q! [8 ]9 w0 v
          'add_new_item' => 'Add New Site Wide Notice',3 f- J! Z# v, e' U
          'edit_item' => 'Edit Site Wide Notice',
5 |9 O# q$ O$ e+ Z! x          'new_item' => 'New Site Wide Notice',
1 B) Q4 w7 X" A  P2 U9 z! F          'view_item' => 'View Site Wide Notice',  n) n" \9 e! i4 B9 ^) Y. g+ o
          'search_items' => 'Search Site Wide Notices',  q4 C+ `* a; ~+ `
          'not_found' => 'No site-wide notices found',
) T! g+ P) O% y7 s6 u          'not_found_in_trash' => 'No site-wide notices found in trash'9 B  V1 Q- u& F9 }5 ]1 E( `
      );, C  H+ x3 h7 l( N. p6 Y) G
: R+ F. n$ W7 V6 ?2 T
      $args = array(2 A9 {' v$ h" K5 L( W# z* |# R. ~! z
          'labels' => $labels,
% B6 B% @$ C/ M  T1 c5 I: n          'public' => true,
; T- V$ w$ H; N6 N          'has_archive' => true,: K5 k3 O# A: |
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
7 |# P# q8 k  _/ J          'taxonomies' => array('category', 'post_tag'),# n2 k( B: z+ [4 A  D+ D7 ^
          'menu_icon' => 'dashicons-megaphone',
1 q# J6 }" c, C$ n          'menu_position' => 5,4 f, N6 C' w) P- s1 l
          'rewrite' => array('slug' => 'site-wide-notices')
7 Z! @! I7 u% K) w/ P& q/ E      );+ I& b: z1 h( {
) U6 G+ p2 P$ x  A; e; M9 k+ r) R
      register_post_type('site-wide-notices', $args);
- m3 M( h4 H# i  B/ H6 v   }& _* [3 s, g; v5 Y# q) p) b$ x
   ```! `1 V1 M2 H% ^" k  D& l2 X
- l+ y% {0 l7 Y' O! o2 h" G, I  q
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。7 ~1 w* S/ F1 [* R% ?; M

) a: e! E6 S  _& C1 Y8 V2 \: ?3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:# N  L, s6 k& h8 ?4 d, U
) ?( f' ]0 \' X+ X5 c
   ```7 A- ^$ ?0 |4 e. X8 X/ X
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');6 I1 }1 i  t  v" y( @8 H
   function add_site_wide_notices_boxes() {' S5 t5 k- m+ k: ], ~
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');% ]4 |. c* ?2 o' H* Q/ d/ f2 l
   }1 x: r8 v2 j$ ]9 N6 ^. |2 Y3 c
6 r0 k+ s7 x' s6 u7 ?
   function notice_details_meta_box($post) {
3 C! _( W7 S' M8 M      wp_nonce_field(basename(__FILE__), 'notices_nonce');, N" C- h/ o' L. W
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
4 K0 N/ J9 m/ y      $notice_content = get_post_meta($post->ID, 'notice_content', true);- T2 D- J3 I* L) [7 |: Z5 v( R! X
      ?>
+ S- _+ @5 @$ W3 q      <p>
, T. U: X; r* v0 n4 A2 W& ]& i- {9 Z          <label for="notice-title">Notice Title</label><br>
/ B' o: ^! F' F0 \- }% T          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
3 u1 h! ^, A3 a! g, X9 L/ J      </p>% T6 Q& T( e3 L- q3 h
      <p>
" c# c, ?' \, d  n, ]          <label for="notice-content">Notice Content</label><br>
! D) l  j& l4 \          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>! W: O" P: [) e
      </p>' k- X+ l* \) A; t. h2 S0 k7 L
      <?php
5 Z+ t  U& U6 X+ j; \   }
/ `6 _7 S. N- o5 ^0 A, S
- w1 u. h" x. T   add_action('save_post', 'save_site_wide_notice_meta_box');" j9 `/ Z; t% k9 l  k, W
   function save_site_wide_notice_meta_box($post_id) {8 \* G, B" c2 l+ A" h7 Q$ b
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
) b, V3 P& e0 \* x+ @         return;& m; g  O0 G+ X% @9 I, j, l
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
  |/ _+ }( K% b9 L         return;
3 O4 Y5 T! a& }9 M$ l/ _  w! U- Q9 p# {6 K. z5 n! {5 C8 U1 c
      if (isset($_POST['notice_title'])) {
8 l' p3 g; e0 n6 Q# R. c          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
2 ]% ?0 X, y, G9 b5 p      }
0 [7 ~' \, O6 n0 i8 T      if (isset($_POST['notice_content'])) {& J- F2 q4 B. z/ N: z* }2 y
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));6 o# x0 k' K% g" p' f
      }. Q# G% m$ L9 Z) C9 p& u9 Y
   }
( i: F) Y& n, P' b   ```: L* X2 W7 O3 b8 \1 z" W3 D( j

+ T: {; Y: a( x+ \8 {/ S% M9 G* O   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
6 S4 M6 c! e! U
# \2 _: v) w2 q" G4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:+ v( Q- ?1 s3 p) q1 F9 v
' P% m. q: `6 F' I; d5 I
   ```
7 R/ R3 t1 a( F4 R   $args = array(
) P' J9 m% O+ f: Z. Q+ D      'post_type' => 'site-wide-notices',
  o& k* i' k2 w( G! {( R8 B! \      'posts_per_page' => 3,
# h9 u# C! L, j0 c# @& L; H; M      'order' => 'DESC',0 K4 X, ~2 F+ \4 a. u
      'orderby' => 'date'
2 G6 i  c0 ]) I) S   );
2 h! B0 H( _9 X   $query = new WP_Query($args);2 F1 V8 b" x( e
   if ($query->have_posts()) :* Y/ r' F2 J2 I
      while ($query->have_posts()) : $query->the_post(); ?>( e- Y. E% i8 w  G
          <div class="notice">
8 J0 ~  O( `' |$ k5 j; F! \              <h3><?php the_title(); ?></h3>
5 J1 @& ~- a1 E* y" ]9 @4 n$ P              <div class="notice-content"><?php the_content(); ?></div>
0 Q: _" R5 W9 u8 E  T          </div>
5 X# `0 V' k1 W' B( U' e      <?php endwhile;
) L$ }3 y9 g8 I! ^7 a      wp_reset_postdata();
" H; \' p/ ~+ V& Z5 e9 Z2 |4 y3 }' F   endif;
. `4 }# s5 w, I1 X   ```) ^& @1 Z% w4 Z% _( M2 V2 L

. Z4 f( c$ j1 ?- C' ~$ Q/ ~9 m   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-22 12:45 , Processed in 0.013811 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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