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

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

[复制链接]

338

主题

521

回帖

3478

积分

管理员

积分
3478
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:, w5 Z. ^$ X" [  d# U$ _

! l8 Y9 }0 h) j+ A1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
/ M- }) g6 f! ^1 d+ q' T* [( n
5 E4 Z; y# [7 i& _2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。7 E5 U% L( Y! x/ W* C

$ k' ~5 `9 R7 m0 ]& }& v; Y3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。; m. Y/ W4 O$ B" M. `9 @

+ B9 h3 d1 o* x9 x# V7 w4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
! @5 ^* u! x* X
6 m. c* {) Y( @5 ?注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

338

主题

521

回帖

3478

积分

管理员

积分
3478
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
( T$ {( M5 @1 }# S4 E) `' h  c5 Q$ H1 s! M* Q2 ^/ c; _1 i* t( P
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
0 i3 }) \- ]& g1 m+ R
% |' i( K: ~1 |7 H4 A5 [1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:/ G8 `- g% J. a$ {, A8 F( m
+ w& U* Q  O6 O: Y
   ```! H2 Q0 ]" {. G2 p4 ?! |
   add_menu_page(
& a$ \6 o0 A9 X# t- f       '全站公告',1 f) F& ]. \$ D" C
       '全站公告',% a6 n# }+ s" ?1 |; D6 l
       'manage_options', //需要的用户权限
% y+ f' Q# b# n. P7 F6 Z, W       'site-wide-notice', //后台页面的 slug
7 y/ F* y# v# ^/ N6 _       'render_site_wide_notice_page', //用于渲染后台页面内容的函数, C+ b$ f7 P, f
       'dashicons-megaphone', //用于显示在菜单中的图标
' F) R% W& }3 y4 Q       30 //菜单项的位置
$ d- S  t- \+ T1 G5 \0 a7 F   );
& i, W$ C8 {/ N* j! k# u4 F- V   ```3 O: V* A) }" Q2 M1 ^1 E) f" c

) K( Q2 a5 h) [9 B% l2 V" ]+ }   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。# Z1 W& Q: }) N! D
5 K. D% G3 h  x$ ^+ h5 J
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
) s- r. Q: \. x. H& X* _8 M
: A7 Y9 N6 o) c- @7 K   ```
2 G3 _0 a& Q% p$ S8 Q- a   function render_site_wide_notice_page() {
5 I* Q/ o8 p$ w# G' B. B% C* c      // 渲染后台页面内容
) p. U. U. I: ~# R; g& n. X1 y      echo '<div class="wrap">: Z# y* K" f# m4 c
          <h2>全站公告</h2>
+ S8 R5 x0 f+ z$ [, @9 K          <form method="post" action="">
9 w% R. |$ O% t; P              <label for="title">公告标题:</label>) y- S; i3 Q) N5 H* q6 b; d7 G
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
9 P" a) ~) F4 a+ _/ w  q& A              <label for="content">公告内容:</label>
0 w* W" m9 u4 y7 @, T8 i              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
! r9 M5 P4 k1 U# w% d              <input type="submit" name="submit" value="保存设置">- ?/ ]! h6 @) H3 u
          </form>
8 \$ }8 V% }. a" j0 }      </div>';
. u. {. Q! I. z$ {
- k8 f3 }! v1 X$ e% k: S      // 处理表单数据2 G, j6 M. e, k5 t* J0 P  }, ^& A
      if (isset($_POST['submit'])) {4 t0 [. @' T$ X6 r, \  i
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));6 h& u( G8 q; j; p
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));% S: t! T+ D" \/ G* B6 {
      }" m7 F( Z3 c- X  s, k
   }
# F4 V1 ]4 \" G4 o' r8 v! _   ```
+ S$ I) R4 L8 ?$ `' d3 |8 _  [% z9 C! Z$ T2 c( `% p
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
3 K+ |" B; `( r3 C- V7 Q$ m5 p& ^8 K1 P8 F
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
/ @- o, h  p4 k: C7 |# {; a0 I  s, H: |8 `6 Y* |0 N6 N: G6 p
   ```
; g1 g& I3 y3 y' }& o# b! [: Z! t   <?php; ]( B% i- z3 U( d
   $site_wide_notice_title = get_option('site_wide_notice_title');% \# [7 F. A# j0 O# z2 X3 g& i
   $site_wide_notice_content = get_option('site_wide_notice_content');/ q7 H, r2 k. i! J
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {) t' o" F* Q1 T) @
       echo '<div class="site-wide-notice">';2 C& G  c  Q! ~0 l/ t
       if (!empty($site_wide_notice_title)) {
) G4 S/ \, h3 D: P6 c           echo '<h3>'.$site_wide_notice_title.'</h3>';& B3 |, s$ I$ y
       }4 _5 F9 @2 d8 @) c7 Q
       if (!empty($site_wide_notice_content)) {
# j' n( r& a' ~$ v! S* _8 K7 j- Z8 n           echo '<p>'.$site_wide_notice_content.'</p>';, d2 m2 c' E1 A  _) W( B
       }* w) M! z- |7 w
       echo '</div>';. D/ t$ e3 A* N1 |6 m9 @) i% x
   }
1 p& P3 G3 j/ }  H% z3 A   ?>
1 w$ ?$ b' V  J; r) I8 _6 R) Y0 d   ```4 p3 n7 O" m4 ^4 [
! @  [" N% C0 m( N2 c# h9 n7 ]# P
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
: Z9 Z1 r- u  h; ]4 n6 \
# u, b% Y1 K) y5 Y请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

338

主题

521

回帖

3478

积分

管理员

积分
3478
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?7 y' C8 {/ {$ l2 j8 @! o# R
$ S* r0 `. y8 x/ {# u$ Z
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:5 t7 Z2 J( {# ?+ o: _% ~

* F$ C8 ]3 A3 Q1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:: V& l6 r/ v% ~: S! }' c+ S8 R

( d4 _3 y/ n& ^8 B```4 _7 s! H$ l3 d" V9 k6 g
function create_custom_post_type() {
& ]$ l0 j/ C; q. f! [& p    $args = array(, K6 E4 p+ A/ ]0 O! p9 i
        'labels' => array(6 ~* T3 J6 y" ^. K: Z! q0 Y
            'name' => '公告',8 O0 b4 Z8 U$ O# B# |
            'singular_name' => '公告'
6 v- d6 \, A; k        ),0 `% }4 ]$ [4 B
        'public' => true,* r  ?1 J1 I: g
        'has_archive' => true,
$ l4 R  N, g  o: ^+ f& I( x% E( G        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),$ {0 D7 @& P7 n! d& \: p! D" R; m
        'taxonomies' => array('category', 'post_tag'),
6 C! j! u3 a3 O+ `6 Z        'menu_icon' => 'dashicons-megaphone',& c+ v* b" d9 X- N  A  k
        'menu_position' => 5,; i3 N) z% p5 N/ W. ^: z
        'rewrite' => array('slug' => 'site-wide-notices')
9 Z: L8 ]# G# k5 T) N& ~1 [- q    );: C! D! g% y" Y5 c3 C. R2 \/ x; w; @
    register_post_type('site-wide-notices', $args);
6 H8 I$ ~. W2 l7 S9 g}8 |7 s: d. x) X/ a9 D
add_action('init', 'create_custom_post_type');
: I9 c( L7 z. W" o  C- p: p```% P3 J  ?! R7 V7 j
, D! \4 m- E& _1 j5 x
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
6 w( \+ @4 `8 N' Z# |2 }8 Q+ Y) D7 S' K0 o
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。! t, h% ^% ]# |9 y2 P, e7 }

: @# }1 E+ A* y7 [0 ?3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:6 _6 v6 w# O/ A* h1 Q) w$ |* v) {

! T! e/ h/ @& S; @, K' z+ X```: x# ~* j& {% P- L; S- _
$args = array(8 r& q4 n# K/ R9 P" W0 l7 f
    'posts_per_page' => 3, // 显示的公告数量
# S% }  |* S  x' f5 M    'post_type' => 'site-wide-notices', // 公告文章类型
0 n( b) F& J' r: t, e. W4 g6 _    'post_status' => 'publish', // 公告状态5 T" Q! J2 o8 X
    'order' => 'DESC' // 排序方式
2 x8 S( U1 R8 V) T" ?8 q);
# u( ^* I8 v2 _. c4 d# R0 F9 L! e2 f' H; ]4 z
$notices = new WP_Query($args);8 h4 u7 f" A' H
if ($notices->have_posts()) :
- D. o# K9 J6 S# M/ o4 X9 k# F    while ($notices->have_posts()) : $notices->the_post(); ?>8 ?5 D, w* H$ G
        <div class="notice">* N- i/ _8 J% r, ^) |; T
            <h3><?php the_title(); ?></h3>
; n$ J' a5 n+ Z* Y4 W            <div class="notice-content"><?php the_content(); ?></div>1 m, e0 {, j! k# _
        </div>% ~) k# o4 E9 y* F1 U) T
    <?php endwhile;
2 M8 _' r: m9 v1 K' felse :
0 s9 W7 R" F6 R! g    echo "暂无公告";5 o1 |7 g3 D% R6 b3 H0 y
endif;
3 v8 H, H0 X* V; \wp_reset_query();7 B6 {7 c& G8 w
```
; F& v/ q8 C- Y0 P% k1 g
8 m' b' ?$ E( D! B( H2 P; }# j这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。' q* w, l) C' s4 R  E) H7 S

- M% g, M  d: W6 t5 C; X以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

338

主题

521

回帖

3478

积分

管理员

积分
3478
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?7 j2 L. [0 m# i6 \* K" L

0 Z, L$ t5 |& l  \2 p1 m如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
. ]  K/ Y& w! o! k. R
. b4 v0 b; F7 D# s以下是创建自定义插件的步骤:
: Z; c, h( \( f9 Z, ~1 Q9 |' [4 }1 ~+ R; Z* e/ _# K# L
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:6 l' f* F! f7 R5 P2 d* Y' L
1 t' \* l: a. i9 H
   ```2 F/ o( L: C, u
   <?php
1 \% h, e+ [6 o1 v( l: P   /*
+ \% D7 l8 ^$ R4 |& q0 h   Plugin Name: Site Wide Notices Plugin
% ?7 L: O  i' W! `, B   Description: Adds a new custom post type for site-wide notices.
, O0 ]% [* f0 T   Version: 1.07 O$ u$ h5 H# W& E5 i" S8 k) F" U
   Author: Your Name
0 h$ M7 C. K& q! Z. N   Author URI: http://example.com1 U* n  b0 K# p: Y8 i3 m& w
   */* A4 i- E/ c  L+ s. U+ T9 {

% ^1 ~* m* v; z- H. Z9 W* P8 m   // Add plugin code here...
: `4 g4 ]. y% x* d   ```/ y$ u$ }1 C, y, W. E0 k5 F6 l" p

9 A; n1 D$ U. W# d1 |, c' ~$ S   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。0 l8 ?8 r6 q9 w) Z0 P( X1 g

: A6 H8 J# v5 j8 b( Z2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:% Z) H& W2 O+ y3 n

6 T* `! L& h0 @% B   ```# l3 @! E+ e0 {0 l
   add_action('init', 'create_custom_post_type');( r! f. F% A, U6 A& v; D1 Z
   function create_custom_post_type() {
# v, n$ M' F- Q; k5 z5 f; m4 I7 s      $labels = array(
. q7 S9 Q2 H% O5 n, u. _          'name' => 'Site Wide Notices',
$ V, o9 R6 ?9 T          'singular_name' => 'Site Wide Notice',7 |$ k9 P& ~: I$ O$ [7 V6 b) V
          'add_new' => 'Add New',
+ w: t& d; j  z* k8 F/ s: {. z! N          'add_new_item' => 'Add New Site Wide Notice',- u' {% M5 X) g. G" p
          'edit_item' => 'Edit Site Wide Notice',
( E) B2 b! S5 L. U& @- z# ]          'new_item' => 'New Site Wide Notice',* W1 E5 c* s: M; d: c
          'view_item' => 'View Site Wide Notice',/ L9 T$ I. A) f5 `) k* W
          'search_items' => 'Search Site Wide Notices',8 o1 B/ f& O( ^( Z7 G
          'not_found' => 'No site-wide notices found',' b! X* {6 K0 v, b0 C( e5 }5 X  k6 H
          'not_found_in_trash' => 'No site-wide notices found in trash'+ d& B1 P+ d$ p( Q$ R1 l
      );
1 C! e! h2 I6 |6 R  ]# h# t! _; a; B' {7 T
      $args = array(
0 X; j# Q6 O( ?          'labels' => $labels,
1 K+ v& v) E8 P# w9 s0 f/ e          'public' => true,
6 @% i* E: D6 k4 L9 t: g          'has_archive' => true,5 i) }5 s) Q' h0 D
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
( `- @: t  ~" n7 R          'taxonomies' => array('category', 'post_tag'),! Z* B: k- M/ S0 |7 f- F
          'menu_icon' => 'dashicons-megaphone',7 s1 K6 N) x7 @/ [: @  J4 g
          'menu_position' => 5,- b8 q! O* s( L4 A8 L
          'rewrite' => array('slug' => 'site-wide-notices')
$ E. W: L7 ?  t2 D# F: y      );
, J/ w1 n. C" `; Q
! I5 k' E2 b# Q: w1 m      register_post_type('site-wide-notices', $args);7 v# y- }0 |: l/ o9 M  {  ~
   }
5 c+ Y% x; \5 A4 H7 {   ```
3 ~* A! N  m0 N. q. Y, }( h& {2 y' r7 h; N6 o% r- U& d
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
8 g& i/ |# J0 F% e
/ Y9 M$ U2 V1 ]9 W3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:8 Z0 ]; R; t' ]4 v* {$ M+ g( }
) y7 {( \/ Z, S/ ^' B
   ```& I0 m5 i" f/ R3 P6 I) |$ j
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
; c4 X7 v5 U# N. q+ e   function add_site_wide_notices_boxes() {: U- x4 n! D' Y2 \# q
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');4 h; u  L0 t+ m9 D5 F
   }
& g8 W: w8 Y3 I' `, h* L4 F6 y0 T) m
   function notice_details_meta_box($post) {
$ D: M6 U* K1 Q: V% a9 ~  K      wp_nonce_field(basename(__FILE__), 'notices_nonce');& Y8 y5 [6 M9 _" I5 L& X2 ^
      $notice_title = get_post_meta($post->ID, 'notice_title', true);3 K1 i8 w) c6 q: i) }/ z! ^
      $notice_content = get_post_meta($post->ID, 'notice_content', true);/ Z  F! ^, o, D, i% t
      ?>
! d  f6 a; q0 d& A      <p>
" S( N9 x8 j$ U9 Y          <label for="notice-title">Notice Title</label><br>
3 C! M6 s3 ?6 v; D2 ~" `. G          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">" X5 k$ {, T& K) u8 Z
      </p>5 q2 U5 q' |* d" D) \- L% W- J' X
      <p>
1 D3 I0 I6 Y9 m( a          <label for="notice-content">Notice Content</label><br>
8 _% O8 \2 E7 {' L          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
$ f  M/ f6 ~& X- E7 h      </p>) n- J- K/ w7 [) H
      <?php
4 b$ y9 S9 X- W   }
( k. `! c. G% C2 m1 m) m3 M, V/ H9 X$ y" Z
   add_action('save_post', 'save_site_wide_notice_meta_box');$ }2 I  t0 K& D* o) a
   function save_site_wide_notice_meta_box($post_id) {: P! x; Z# `6 U/ D! ?
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
/ {! s, m7 Q! @4 N  n( x1 L5 P  @         return;+ H1 P0 r4 K: m8 G, n9 I
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)8 V& K1 K2 p( [6 b
         return;
$ B9 [4 ^  u- Q6 n2 F! F9 g- l% r+ N* ]4 i9 w: x' d
      if (isset($_POST['notice_title'])) {
: K4 _' g9 J. \. C+ W9 x- Q7 p) W          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
# A6 ~4 k3 }( r$ w9 M3 a      }
% s& h2 [. J* T$ O# K* w      if (isset($_POST['notice_content'])) {
2 z' X: Q% y3 k0 O+ T0 C          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));2 a- Q& l  d( I  _7 U) E( }
      }1 x8 i( t0 r" F
   }
  ~! N2 j4 ^3 n, f# f7 L  q1 E5 {   ```) H7 c: x! P( l) f8 h
( S6 Q0 ?* q6 c6 H) ^, O9 ~
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
" t" L5 J# M/ B3 C6 ~# E( Z- T
. s2 F- ^8 q' a: S. g8 W4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
9 J- w2 e. ^9 a* X4 x9 I9 w; l/ e; Q& S7 ^) M2 r2 Z; {
   ```3 {( C4 Q7 Y, A" v8 L$ j& s
   $args = array(
( @" ^! i. C, e" u0 X      'post_type' => 'site-wide-notices',
2 @2 s( j& C; i      'posts_per_page' => 3,+ T+ l) I( \* v- P% [
      'order' => 'DESC',) ~; e4 m" m% [" t
      'orderby' => 'date'
. S: V+ t" B7 g* o1 [: b" V% g   );# m$ h8 E+ ~  e. f# J
   $query = new WP_Query($args);
5 Y' B) L3 o0 m; _   if ($query->have_posts()) :, m+ `* ^" j: D* ~* V) {3 G1 r
      while ($query->have_posts()) : $query->the_post(); ?>
. a2 Q7 B1 E/ I, P7 R6 n          <div class="notice">
; M; `$ f+ p! a7 D              <h3><?php the_title(); ?></h3>
) K6 o' d. N% S  w              <div class="notice-content"><?php the_content(); ?></div>8 J# H. ^9 A' K1 O
          </div>
9 w3 E/ U% r1 \" Q* G' ]& @      <?php endwhile;
& P7 k6 l2 T7 [" ~, T: C      wp_reset_postdata();7 G$ w" n2 e7 t/ R8 Z3 ]/ ^6 X* _- ]6 L
   endif;& C! J; A$ _0 b
   ```
# T  \" b( E5 C6 n1 A3 y" J4 q  T3 G
" a+ z9 U' r3 |+ F. C1 S  c: }. u' O   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-9 04:29 , Processed in 0.015799 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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