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

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

[复制链接]

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:: K" S3 V" [3 E: @
6 W  }: S: B& _' k- d/ }2 U! P8 f& U: d
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
3 ?1 ?4 z- g7 G) l0 E, B, W$ _' R) d
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
4 N) [3 f/ u5 ~  @! ?9 j+ Q+ ^  k& B- }2 W" g
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
1 |' H' D; g' V0 S2 O7 L0 [
) ]& D! Z6 A9 t4 }7 @, |$ [4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。9 k# W" B* y9 Q5 u# F( Y
% P+ g) W7 {# ]0 S8 |
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
' @" ~& V5 l3 A6 U( e8 I8 f5 p' |% s3 g" ?# j
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:0 d, v) H% _' V0 O- e; b
! I4 R# p# A! t+ P, ^4 @; ?  i
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
  n* A" G7 \# M! W, Z
  D8 m7 O! z8 ^/ J9 n3 t+ M+ N   ```1 ^0 y3 w; k: C
   add_menu_page(5 P1 G, ?% c/ L4 Z; A
       '全站公告',. e8 f7 _& n5 m3 `& U  [" Y
       '全站公告',
2 x5 V) v  y3 e1 c+ a       'manage_options', //需要的用户权限* F# ^, ~, x: V8 o* F
       'site-wide-notice', //后台页面的 slug. p. O  g+ U  L! x% e. \/ p
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数$ L& Q9 e* O7 B: B" r; E" D* w
       'dashicons-megaphone', //用于显示在菜单中的图标
% F/ J$ R6 |# q: k  t9 p       30 //菜单项的位置
; a' g( a: @6 L. K5 I   );4 U& V# C6 T* a/ v/ p
   ```
# I4 f- S1 E/ w% W3 T
. _0 x) _$ d$ b: A3 F   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
/ |# n/ F0 L$ w/ P# ?; j) F) n, t5 v( }0 D0 z, r6 N
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
3 C  ]7 c* d" F5 f
' c# g, }! O: Y( ^" [4 m+ A   ```' P0 H  T8 Q& v/ K4 Y
   function render_site_wide_notice_page() {
. k+ A, }- N6 Z: K+ F      // 渲染后台页面内容2 r& e$ A) T* Q3 A
      echo '<div class="wrap">  Y4 E. O$ r/ h5 @" y  L1 M2 D
          <h2>全站公告</h2>. D" r" u6 l0 ]+ {6 C  v& @6 }
          <form method="post" action="">2 g' ~# l' ]" V2 i7 Y
              <label for="title">公告标题:</label>6 m2 a3 I8 E5 C& U: B% s
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>5 N" M' J+ F* W7 i$ g, g! X' _! U8 R
              <label for="content">公告内容:</label>& B. B- y* Q) i- X6 K) i+ k
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
8 e, I' j4 u% h5 m1 g              <input type="submit" name="submit" value="保存设置">6 k: _7 x1 [& D; i
          </form>
  _9 f, [& x: i      </div>';
& w3 h3 J& u: \7 z* M1 z, z
5 y  N) W. m+ t4 u9 x      // 处理表单数据) j1 e$ h! x# w  E3 @; u6 @; v
      if (isset($_POST['submit'])) {7 l: T  K) L$ M, }2 x
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
* T; A; m! k1 ~          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
6 ]: o5 N$ y  ]& j/ @: `+ O- O  x      }
& \! j( c3 ?; G& l8 N. J   }" N* q& e2 M, O$ ~8 K2 o) U/ M
   ```
3 E/ @: j6 {: O. z; b. s
6 f2 t+ ]5 V3 i1 m! |   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
% O1 l/ e2 D, B7 J' ]* |- h+ f1 T
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
) s+ [8 F$ t7 B  v! K* ~( |- L* f, S; v+ k, X$ x9 P! U
   ```9 w* y; a2 \( ?( ~! D# ?! q
   <?php8 m% \8 q+ M% o$ R/ B, d
   $site_wide_notice_title = get_option('site_wide_notice_title');
% l1 @/ L' j9 e- W2 K! H   $site_wide_notice_content = get_option('site_wide_notice_content');
) m% ?3 f( P' f   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
! z1 g% N' ]. {. z       echo '<div class="site-wide-notice">';
9 l5 W( E5 f+ r% V) k       if (!empty($site_wide_notice_title)) {( S* d6 @; \+ {% q0 W
           echo '<h3>'.$site_wide_notice_title.'</h3>';8 N* I1 I: |  g) z
       }
1 i2 K( N1 Y0 X" e* v       if (!empty($site_wide_notice_content)) {
# D" w( t; T9 W6 O9 O           echo '<p>'.$site_wide_notice_content.'</p>';4 x9 [9 F  g7 r% J8 a0 {
       }# \( {( f3 d8 Y' C7 Y
       echo '</div>';
! |$ C  E8 x- d. A3 S. K- L- Q& j   }9 }1 o; Z5 A2 W
   ?>
. M5 z0 F0 ^! e& o! D- V   ```
- d5 U4 p2 a8 E; Y/ i+ V! Z; ~/ r1 ]# b
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
4 }( T4 r" {: f& V: W  I
$ s& ]' P( W' a" v0 P请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
: B- T2 V6 {; O3 L+ R- S3 c; u# ?" Q3 z9 e. n) h
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
5 Y  T. v! e+ Z) h4 c! Q/ u" P/ A, O
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
( W6 V- _! U" N/ D8 b
" U. X6 D8 t8 B- l```
; Q3 j1 j- U8 o( a1 dfunction create_custom_post_type() {8 n# P$ ?& v6 v2 M! o# p
    $args = array(1 `3 `- u: Q2 g3 B5 X7 N
        'labels' => array(
% b4 u: }, g) |5 T4 H: P, _            'name' => '公告',' j1 B6 x# Z+ G1 h0 |" w5 }% o+ y
            'singular_name' => '公告'+ D7 o' {7 Y5 T2 X5 }
        ),
4 H: Z+ T2 e3 V* q# f/ w        'public' => true,
# B% F# U7 O4 U) {8 }" e        'has_archive' => true,
& r4 S' V/ k) Q1 |! Q        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),8 |0 c: s1 W; j/ q2 W
        'taxonomies' => array('category', 'post_tag'),1 V, i- p' `5 z" H# P' V" H6 `) M
        'menu_icon' => 'dashicons-megaphone',
  \/ ]. V, t3 @        'menu_position' => 5,4 t* ^2 i# g' @( u4 D4 G; i
        'rewrite' => array('slug' => 'site-wide-notices')( s% n% R: v! F
    );( h8 V" S2 P  l- F: @. @" A
    register_post_type('site-wide-notices', $args);
* O( l4 z0 h, K6 r}
' Q7 H& y# C3 I. w& dadd_action('init', 'create_custom_post_type');
  l4 x: v% j- U; }1 R```
! e$ y# u- M0 k* h9 X: N2 p' E% h# o- {! S
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
$ q' {, c$ D  q" B- }: G' c# r) ~/ r/ \: B% F! V* F1 J
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。) l" l) Z/ l9 Q9 q( a

9 C) V# s% \' X* w, B$ F( p+ U( u3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:4 o$ q$ F4 u, q$ g
6 f' f1 s/ q4 O" A8 `6 ^0 f# }
```( r: z& w  M, A2 C7 L. m% h' `
$args = array(/ W, q9 L% L# ~  k* G6 }/ i
    'posts_per_page' => 3, // 显示的公告数量
7 `3 V. ?! Q/ @( M6 D( l7 @9 p    'post_type' => 'site-wide-notices', // 公告文章类型
) p7 B/ w0 w" ^* s6 l& [    'post_status' => 'publish', // 公告状态
+ s3 n7 b* \7 x, I    'order' => 'DESC' // 排序方式
* G5 s: w5 T8 ~);2 t6 h5 R* S9 P: O9 C
% [$ T) a  e  d& X8 S
$notices = new WP_Query($args);
. h! b6 S. e' c' X$ u# e& Nif ($notices->have_posts()) :9 q  i2 @0 C3 a5 `9 g$ ^
    while ($notices->have_posts()) : $notices->the_post(); ?>
, }- o7 I1 L0 i. |        <div class="notice">6 a. E; f- i" ~- T3 R( D5 g
            <h3><?php the_title(); ?></h3>3 R, w! J# A! e7 G4 z
            <div class="notice-content"><?php the_content(); ?></div>0 J! k; A+ A( Z* `! g, B3 J
        </div>
/ I( U! U+ e3 E  N9 e    <?php endwhile;
- I( ?! ?9 _6 q/ G, n9 Yelse :7 v) i& d" Q) M5 {+ n# E
    echo "暂无公告";
7 Y! {5 Y8 h7 q: s& X7 N, Mendif;, {* {. {* H' K5 i  g
wp_reset_query();
3 _( z1 x& x+ `" _2 d) c0 M) x5 U```
! ]7 s) S7 L  `# ~8 x$ M% `" ~9 H) Y! Z2 f1 c: c
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。4 I8 K: I- e+ H" \

% @+ T1 l( {5 @0 v' d' _$ }$ g以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?- ~! G2 ?& s3 R5 s  W

3 M- {% }1 h( T: I0 w' T+ ?如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。# e5 d" \- Q# }" m

0 ^8 ]% s+ V1 i" c. U3 @- l以下是创建自定义插件的步骤:
+ ?+ ]4 b( ?4 \1 P0 f+ n7 R1 \' [% L3 r& e6 S' I' ]
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:. Y; G, h: y; E# ?% i# D

  x6 Q7 A  k4 E2 B   ```
9 [! m$ k/ U$ K( W) d   <?php: X3 \) e3 k& U5 K* _& x
   /*5 ~# {! s6 W, A9 h6 r
   Plugin Name: Site Wide Notices Plugin* @( @9 C  R* I+ x) d9 E- u
   Description: Adds a new custom post type for site-wide notices.
) v3 k7 t5 a7 c# F; f   Version: 1.0
# q+ }3 X6 V1 I: q, e$ i0 W   Author: Your Name
  O6 a5 R4 f, _  T7 b6 R/ B- N  v   Author URI: http://example.com, L1 F8 y- j! A, x% B2 z
   */' G/ U: P! ?7 p; h1 c' H# Z
4 \( M! G; n9 o0 Z- k2 |/ F: I, z- m
   // Add plugin code here...
# M, @# Z  \  w   ```  i8 C/ d' s" U+ q& Q; a, T
3 t( D9 ]. i& g& l1 z* ~
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
: z( d2 b1 ]3 Y  ?
/ ]* w, @0 V: ^! O( n2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
) g. F0 \" ]# A/ B
9 W% _5 d3 q' e' e% j   ```- J5 }& G% n! k; x; d5 v
   add_action('init', 'create_custom_post_type');
( t. h8 v+ t: j7 S9 ^   function create_custom_post_type() {
% l' k% Y7 P' H$ v/ H      $labels = array(' n4 [  Z' ?1 i/ e
          'name' => 'Site Wide Notices',1 h. N' j* J' j1 B5 S! j9 n
          'singular_name' => 'Site Wide Notice',
) Z% u+ l$ f% L7 \6 H          'add_new' => 'Add New',  E# Z6 H- X% J  A' j
          'add_new_item' => 'Add New Site Wide Notice',
- [6 L; R. k) S# n# A( q4 Z& m5 t0 w          'edit_item' => 'Edit Site Wide Notice',0 I; j: X/ ^- Z) x1 W+ y
          'new_item' => 'New Site Wide Notice',
' t: Q7 v! P6 |1 S2 ^1 L& I+ x          'view_item' => 'View Site Wide Notice',8 S; H$ X/ y9 J/ w. L# x/ ?6 ~
          'search_items' => 'Search Site Wide Notices',
) M7 z' I" \5 l2 k1 e7 Y, s" s6 o          'not_found' => 'No site-wide notices found',& x% b* o; [" m- M
          'not_found_in_trash' => 'No site-wide notices found in trash'
3 N4 p" v8 Q7 D8 R, S5 x4 w/ g      );1 L, i& s# ^! P: D

8 Q0 M8 D% Y9 T# B4 b      $args = array(
; V  N/ X1 o" v. l9 C3 C: o( g          'labels' => $labels,7 a/ f; D6 \; K( ~5 a4 s
          'public' => true,/ S+ Z1 N( [, i: k% o
          'has_archive' => true,  Y# g' L9 z: ]( N* s- n8 D
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),) o( _! y! q9 H7 z, Y% M5 I6 i
          'taxonomies' => array('category', 'post_tag'),
/ @. G: ^' C% g1 u3 H/ d" }" ?: `          'menu_icon' => 'dashicons-megaphone',
5 V$ m" f4 J0 w1 @0 m          'menu_position' => 5,* v& ]- |6 _' K4 T9 c7 a. j' c7 n% ?
          'rewrite' => array('slug' => 'site-wide-notices')/ p9 U4 d: Y/ c3 p* d
      );
. a) R0 S  b8 g. K. w
( Z( j3 G6 D5 _9 v! m0 a( l      register_post_type('site-wide-notices', $args);
0 E/ ^4 S% R* Z) B; M   }
- R/ W7 R. ?& n9 k5 Q, J   ```
1 p, I- c8 r2 k9 e
; q3 u( Y$ A9 K; i   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。3 h0 g" o! _7 B& ]
& Y3 O8 X# A9 r1 \+ E
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
1 N+ q- K) D9 S7 ^* N
- d% U- k( `5 E6 W   ```
) }7 i% \  f* b; w4 |# S% \   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');& Z8 o6 ^* P9 z- J
   function add_site_wide_notices_boxes() {( ]' d0 D# s, F4 C* T
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
# `- I/ @! {/ |   }
$ o( a6 A( H9 K- O: l2 T
: m6 U5 i' [# `+ H- {( w) A. M   function notice_details_meta_box($post) {- O7 h9 I% A8 g0 V2 q, X
      wp_nonce_field(basename(__FILE__), 'notices_nonce');7 M! Y! z% ?1 Z+ ~/ i' Y
      $notice_title = get_post_meta($post->ID, 'notice_title', true);% I3 B, c3 ^3 H# l3 a
      $notice_content = get_post_meta($post->ID, 'notice_content', true);  J* ]2 Q; m8 B; Y- r4 q
      ?>; f. f; \5 J# M3 ]/ d) o
      <p>
6 l: i  M  Q. C* F* t- W2 [; @6 K          <label for="notice-title">Notice Title</label><br>
( v& K  T3 X+ K# c- A          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">/ {4 }. R, p, A0 Z# [# l
      </p>
8 s2 s# b# j6 u+ p7 U9 v. T1 M      <p>
  Z! K) E* _2 ?* |5 X          <label for="notice-content">Notice Content</label><br>
) {6 K2 \) a3 o6 W          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
9 |; I$ L! v4 E$ F8 v      </p>9 h2 N* O1 z0 \0 {* e) u$ g) v& P
      <?php; g( y, {! m& r0 _; e% i1 u* H5 G1 E
   }
8 [# k' f9 w8 C4 ?, ~  p; E1 z8 Y9 B1 X/ ?5 j
   add_action('save_post', 'save_site_wide_notice_meta_box');
  Z6 W$ b# w1 _& N6 ]6 B2 k  W0 P9 e   function save_site_wide_notice_meta_box($post_id) {
, Z  s$ }( W1 W/ H: |/ A) A1 k      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
; A3 w% U3 w/ c6 u. z5 I( M+ R# d         return;3 O: ?( s/ M: V7 w
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
. V. f4 A# s" ]# I5 z3 r; ~         return;
- h" m' U" E2 {& k2 |8 q- a. ]$ r3 F, D" B/ a& C
      if (isset($_POST['notice_title'])) {
6 M# D. @/ ~6 u& Z          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));1 [' g" H2 j, t8 W8 {
      }
& u8 n5 s2 m9 }2 L1 M5 T      if (isset($_POST['notice_content'])) {
* n7 G- m# ^7 g          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));5 N9 [6 Z) k: v$ B' \/ `$ g
      }. M0 [: F; y2 d# k5 G# t1 g
   }  d& z8 @! h6 I7 L; p# W
   ```  [9 P$ w) o9 Z( d; i, N( U
; j+ q, O, L6 D! ?0 E
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
- R8 m7 R: }& F% }7 i5 \. f5 ^5 f
0 v; |. x) p. B" T5 V4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
; C( R. c, |4 f& u* x+ L0 e0 ~4 D. ]% [% [( _' L5 o) d
   ```) D$ {4 l# ~9 I
   $args = array(2 |; h5 L$ R- B3 P! z
      'post_type' => 'site-wide-notices',
, B# G$ f) l( m- ]      'posts_per_page' => 3,- h6 b1 l- D' n4 r# D
      'order' => 'DESC',3 S1 k" F2 `+ X' z# o$ _
      'orderby' => 'date'
9 t0 g- x, K: l   );0 x" H& E+ x- W' _
   $query = new WP_Query($args);6 \5 L& ?, d4 s$ {
   if ($query->have_posts()) :6 F/ P2 b- [3 ^4 a& S+ R! _- {
      while ($query->have_posts()) : $query->the_post(); ?>
' P  t% i- B; t/ B/ d          <div class="notice">& c) P; K8 t: B/ |/ s5 D- j1 J% @
              <h3><?php the_title(); ?></h3>
, d& e; C% t% N% V              <div class="notice-content"><?php the_content(); ?></div>
0 }- I/ c8 ]. A3 g          </div>- z4 z6 G0 R# a: r7 {
      <?php endwhile;
: ^  p% @* j  e. g1 U      wp_reset_postdata();* c$ o6 q& a2 y0 c2 M3 G0 ]- m
   endif;3 @( s. t# T  Y- I0 {5 S
   ```" T; ~6 C% P, ^# Z  b- d. m  R
/ \, k1 X, P* h! u# O, `  r. J* h
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-11 22:28 , Processed in 0.013086 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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