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

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

[复制链接]

347

主题

564

回帖

3679

积分

管理员

积分
3679
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
$ E' P8 r) G( l3 f( M, ~7 |/ O  r, B! Q
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
! d1 z' ?8 W- ~6 w7 k0 q% R8 \1 u" q* f( h5 Q
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。+ f4 Q, F+ l8 n1 f

7 \4 S# A2 k2 V; `1 E3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。6 Q$ a* k1 B, ^) p- H6 A

/ q# ]! L- V) b4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
8 a$ M* M6 c; }( E/ K' `' X
5 u( n' l- f, `  e. Z2 B注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

564

回帖

3679

积分

管理员

积分
3679
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
+ p% W) b: m* u; F# D4 m! |9 v
( G1 D! C6 @! }/ c. t如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:9 p6 t) l, o! r' h' k6 s
; P. V( _( Q$ \! g- N
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
: ^! a8 Y5 f% Y. u6 b
. p% ]% y! A$ A   ```2 x" e* o$ j/ v
   add_menu_page() ]7 G2 h1 C7 a2 X0 c, ?& k' Y/ c
       '全站公告',
$ H+ r1 p5 p/ e( M& r$ {       '全站公告',& }) i* p/ p1 O8 o7 W2 b
       'manage_options', //需要的用户权限8 u+ Z7 f0 W9 m2 x* t+ x8 \+ i- A
       'site-wide-notice', //后台页面的 slug1 |! d4 ?/ ^2 s0 |+ I" A* R: O2 `& T) z4 O
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数3 d3 S( w4 c8 c3 V0 Y( `3 y6 K
       'dashicons-megaphone', //用于显示在菜单中的图标
% [# q# I  X: F. A' ~       30 //菜单项的位置
6 a8 L0 d; A" d8 A, I   );/ h" i: g- j/ {! M
   ```
# j5 i" a$ g, _6 e' ~
! {6 m2 S+ `% \/ A1 B; b( @   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。8 B/ f2 u5 B& U* f( k: B

0 m: z6 A$ g$ U  C, G1 O' w2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:; B3 I+ @% g" I9 c3 S
4 M  F; A* k* _3 n& E0 b' P5 u
   ```
% e) n/ O1 K4 H! l2 u5 \   function render_site_wide_notice_page() {
& w, }2 _( Z' J% t5 [6 i4 t      // 渲染后台页面内容6 E- v2 W" f) w
      echo '<div class="wrap">
. [& w3 b3 F# t          <h2>全站公告</h2>
" @# S% Q' L3 \6 T          <form method="post" action="">
( p. {+ h' e- ?( y! B( g9 C; c+ j              <label for="title">公告标题:</label>, ?- {3 N' S3 R2 [% C7 h
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br># d) v6 K/ K# }
              <label for="content">公告内容:</label>
4 S. M- v% [7 g" A: ?              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
5 ?9 N+ ^! ]7 o) k              <input type="submit" name="submit" value="保存设置">$ e! u: F2 M& B7 F
          </form>' u. M5 q( ^: e$ S% z
      </div>';
3 }2 U, u) N) p: Q! |1 @
" h1 h0 x5 U5 Q# Y      // 处理表单数据
$ n! J: b  U6 q: q+ i! {      if (isset($_POST['submit'])) {$ D8 g0 C  X) Z: V% K
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));+ R; Z, o& E; Y  L! \; T
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));) f$ x* v  y4 k' O. Z; c
      }* F( W- s$ M4 j2 I2 [) w5 f+ D
   }
8 W! a( K5 W! c  G8 M% D% R   ```/ y- p- E" B  I! I

3 O: V" D2 r) ], m   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。$ z' P8 S! j" B2 A$ L

, w) F7 P$ \& {  b3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:2 ?/ ?2 i" L0 w5 P
' L/ X; I: o) [4 \) F  S1 G
   ```8 m6 w, m. r/ m4 o/ [7 F
   <?php
3 a* o. v- [; b! e   $site_wide_notice_title = get_option('site_wide_notice_title');0 a8 S( P: r/ E( Z6 O
   $site_wide_notice_content = get_option('site_wide_notice_content');# b2 {' W, N/ t( z, b& F: T
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {! g0 F: M5 c* n# i. m' G$ [/ E; ^7 ^
       echo '<div class="site-wide-notice">';0 C  x/ n) A. b' e  Y9 m
       if (!empty($site_wide_notice_title)) {! V4 y7 N& \% g  y* d8 U/ k$ b
           echo '<h3>'.$site_wide_notice_title.'</h3>';/ O6 @% |6 T6 [+ F" F1 H( p  e
       }7 o+ s7 r6 _0 Z, E. m
       if (!empty($site_wide_notice_content)) {
& e. @3 q, q4 Y1 x5 b           echo '<p>'.$site_wide_notice_content.'</p>';' W$ d; {  S' T3 c+ I- n: P( w
       }
  H' A/ v) E/ A' R8 D& _       echo '</div>';
# x1 N* V4 `2 a( z* R( q* b   }% ~2 k/ e; \: q' p  P1 z9 x5 e
   ?>
  J  A: P6 i: J* z2 v# ]- W   ```
: R; w7 L4 I4 P$ u* P4 h. `1 i0 G! g# ?  I
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。% e9 c7 B# t7 P( G/ `) u( E

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

使用道具 举报

347

主题

564

回帖

3679

积分

管理员

积分
3679
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
9 U0 a  ]8 r5 S* m2 G1 R( W- r- Q/ X1 ]3 \# O
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
, Q$ I( v, m5 ]: A4 Y- X8 g  Q4 f8 \! X6 i" ~: l# P$ P
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:% b1 A" f. G. I, i# o% ~0 W% w0 i, h
1 i7 U. T) E  R7 w% \; \
```
) K5 B3 f& b* c4 E4 u4 x8 P: ffunction create_custom_post_type() {- }  @/ A* C) R, [) x$ X- N
    $args = array(. w" ?$ n2 A0 E6 a
        'labels' => array(
* D6 i4 @& L9 `2 m- {            'name' => '公告'," H, b/ D  d8 a' B8 Q
            'singular_name' => '公告'
, t' O4 w/ q; g3 a. D6 F0 v1 x        ),
# B$ O( F6 ?' @& @: [; S        'public' => true,. q& d* Q. ?; B
        'has_archive' => true," W) W4 u; p& ~( U6 s! A
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),1 g+ f% j! n0 o: G$ P" m  h+ J5 z9 V
        'taxonomies' => array('category', 'post_tag'),4 y1 B4 k, k! ]) \) k4 t5 W
        'menu_icon' => 'dashicons-megaphone',
, W" q2 I/ S0 }% y( A1 R        'menu_position' => 5,( a3 ^3 H! u( P6 s2 q
        'rewrite' => array('slug' => 'site-wide-notices')
3 U8 m) o0 u9 Q, x! I4 V" t$ D6 q    );& `/ n- T% C; [6 s+ X( ?% j( @$ T
    register_post_type('site-wide-notices', $args);
0 ?2 P4 S- c; w7 U, `}
8 M/ t: W; U/ M% ?4 }# r, badd_action('init', 'create_custom_post_type');
* H; t7 i. W: ~! B/ E```" ?) ?) F! {4 E5 C- K

* y5 ]8 p0 x6 G在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。/ |7 O5 K$ {/ W6 S0 J* ^& I

9 x5 |4 l# p% T+ x; b* a& b2 G2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。& G2 q% |- X0 Y. @( X

9 W% t! h" [" o- z5 ?3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
6 [4 U" k4 _" I
# l) W6 E8 H: a# f' R- f```
+ z3 \3 z9 ~: x6 t6 N6 m% y+ E$args = array(
- ?& z9 {# T% a    'posts_per_page' => 3, // 显示的公告数量
7 h6 G2 P- y2 @' _' h9 p    'post_type' => 'site-wide-notices', // 公告文章类型/ _* A* F/ i8 R3 J0 [$ s0 ^
    'post_status' => 'publish', // 公告状态
+ |9 D7 C: \2 D5 k& J$ }    'order' => 'DESC' // 排序方式! {, y9 C: z: k  b) c7 S. G1 c" f
);, r& Z0 y  R& Y& n
0 Z) c: _6 s4 v  F  H" E( n' A' }( I: J
$notices = new WP_Query($args);* U' S8 p, T; v! \# T" G0 V( i
if ($notices->have_posts()) :2 Z: B1 r0 Z% i; U, B/ F, s( b
    while ($notices->have_posts()) : $notices->the_post(); ?>
7 {# l1 `! R  H7 t        <div class="notice">
& h5 p( l- d, X( x3 P0 `7 \/ |# s            <h3><?php the_title(); ?></h3>
: v& @2 U" F- v; G            <div class="notice-content"><?php the_content(); ?></div>
2 C7 J& }+ b: k3 j% t7 \        </div>
. h  [! ~+ l5 @$ K    <?php endwhile;" y! p! S- l3 |6 ^4 B" L, M" n, |- X
else :4 L+ \, t& C& X8 y6 j3 [7 {( i
    echo "暂无公告";# Y+ Q3 x! M7 c% @9 I9 G) [6 k/ J
endif;5 L" R+ r; T5 E! j/ w
wp_reset_query();! H; V8 Z  R8 z: I6 ?
```8 ~1 A' A! |  R3 K' z' r
5 }9 c2 Q3 _9 M* T, D* |$ G) t
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
9 f6 S) ?2 F) c$ D; Z; ?' [/ u% P: ?, w1 J+ D# U* U2 ~" R
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

564

回帖

3679

积分

管理员

积分
3679
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?1 m. {4 D; P, o) u) z
" W+ z: G) C, g& {, K- N
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。9 C' P% J. O" J8 {1 }" k  v9 K

) S$ H* i4 Z. |  {( j$ u以下是创建自定义插件的步骤:( v$ g4 Y* V1 H1 w) V  Z
2 w7 P3 E) u8 ]  Z- c! U
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
! j) X1 N3 A# G3 m# m/ b$ `8 O
   ```- w2 P: r5 u9 d
   <?php2 E( c- s7 x6 R0 `, W
   /*
8 E9 X' O2 S3 Z5 A& B  }   Plugin Name: Site Wide Notices Plugin
: R* k; W6 t- E   Description: Adds a new custom post type for site-wide notices.$ a; |% i& ]# h
   Version: 1.0
: A. b) `3 n, H8 P   Author: Your Name
5 ?7 V# P: _9 t  D% Y( B% y& F   Author URI: http://example.com
! |9 L/ R7 ]/ L, }; Q8 J/ B5 i& [8 R   */7 K: H( \1 I% F( H3 s. _+ e0 e& I

2 r5 Q: F9 k! q; l: c& ^4 @   // Add plugin code here...& \. ?9 |7 Q) ~  |; N) ]7 N
   ```% `. a8 j* x& M% e8 F+ _

( Y. R* y% B& ~   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。% B4 K) ^6 d5 ^

8 I# M3 H: h& u2 \3 F2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
( X' Z- N2 @. }$ t# f
  Y1 @5 W7 b' B   ```- Z3 O6 b/ b: k9 t5 q4 B" m
   add_action('init', 'create_custom_post_type');
; B4 S2 w$ C) @7 e   function create_custom_post_type() {
  p- g- Q( n* l, l2 a: }# M& V      $labels = array(! F% o( v3 e% {/ x- S) \
          'name' => 'Site Wide Notices',9 z- v3 c. T; R
          'singular_name' => 'Site Wide Notice',
8 e9 v9 k; Z. o) S3 E          'add_new' => 'Add New',: q- [5 F1 {# @) _; M
          'add_new_item' => 'Add New Site Wide Notice',
; \, h: u  B2 y! b+ C/ s          'edit_item' => 'Edit Site Wide Notice',
) v; {  v. x0 c1 G! Q          'new_item' => 'New Site Wide Notice',/ {/ O8 k* {3 J5 F* u
          'view_item' => 'View Site Wide Notice',1 x( y" U8 b2 z+ X2 @# Z
          'search_items' => 'Search Site Wide Notices',# d$ y2 i5 t# A  q/ a
          'not_found' => 'No site-wide notices found',4 \: p4 y' ]' l! y. j8 u8 }7 z# V- _
          'not_found_in_trash' => 'No site-wide notices found in trash'5 P) @% n5 A! \8 j9 e8 b
      );
+ W  d# m* q; o0 w' e' \# B( j2 x7 G9 Q/ a6 k% o' n3 b4 ^1 [( r7 a
      $args = array(; k% B5 N, T1 D# C! y$ X* C' {
          'labels' => $labels,$ P# A; P; e7 U( B; @+ E8 b7 y
          'public' => true,- u$ u' P9 l* e! C2 d
          'has_archive' => true,2 ]2 B+ W% t$ u3 C- ?' W1 h6 D/ j
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
  n4 I7 P2 D; r6 T& o: F          'taxonomies' => array('category', 'post_tag'),
' T, K/ t8 H# o          'menu_icon' => 'dashicons-megaphone',: p3 e& Y+ [) t2 Q* [$ A# L* r8 H
          'menu_position' => 5,, c: d& |  M$ S7 r7 r
          'rewrite' => array('slug' => 'site-wide-notices')
" ]; B) J$ k( r+ [7 G8 q      );
" d: c2 o; i- V1 [/ k1 D
* S6 ?$ \: V- b9 q. N. ]" w      register_post_type('site-wide-notices', $args);
% i; g. C+ x. A6 b$ `7 y   }
0 C; Q1 ?/ v/ B( m% x; t, B+ c/ q   ```
2 U' M% J# n5 Z" `2 Q' F) z$ X' z& d$ n# @" G
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
! j& Y3 a  S* G; }
8 ^5 q; U. I6 S( x4 _6 u3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
3 s4 X: F4 J& ]  j
3 r# q8 {; i+ b; @" Y$ `$ v( W   ```: k# ]2 v7 n, D: W7 M1 R
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');6 A$ q3 c$ K4 \: m
   function add_site_wide_notices_boxes() {
- H5 f' X1 i5 H+ w) m, h      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');. ]6 W1 W) x1 @/ B; w5 o
   }
' z- X% O! ^4 Z7 J$ [2 K1 f2 @! d! N7 ~" O
   function notice_details_meta_box($post) {$ }0 f$ V# F! A1 U$ }, ~; n- G" v
      wp_nonce_field(basename(__FILE__), 'notices_nonce');
! X! x3 w8 d# R$ Z0 ^      $notice_title = get_post_meta($post->ID, 'notice_title', true);% c8 r1 a$ y* K
      $notice_content = get_post_meta($post->ID, 'notice_content', true);% n* M" A% q; N, {6 I" Y
      ?># l/ l4 h1 V, [5 l' U
      <p>! }" N: b5 Z* Y. W" l
          <label for="notice-title">Notice Title</label><br>( \- K1 }! }+ n$ d) s3 t9 g
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">8 U) ?& q/ G: L$ M3 F
      </p>
8 N+ }# U3 ~5 j. @/ R3 w) I- o      <p>/ c. Q) s  J. b: R
          <label for="notice-content">Notice Content</label><br>
4 J3 E/ w. Z  R- {/ d$ l: s; {          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>. R+ p! Y3 z5 g& Q1 n5 b1 v) F6 |
      </p>
; ], f* e3 }: N& e      <?php1 P" H8 l! _6 c
   }
3 u( o+ G- E: w* d2 S- n3 k3 |, n
   add_action('save_post', 'save_site_wide_notice_meta_box');7 _% O  h; P9 o( g, K0 w5 k
   function save_site_wide_notice_meta_box($post_id) {
5 \8 m6 m* U0 A' E2 ]$ e      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))0 c# E; ]3 {) f- q" l: `0 ]
         return;
) W# S  z& {& P0 r      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)$ n7 t, ?; \& H5 }4 D  V. p9 X
         return;8 h) c- s* S0 n1 @

( y9 V# x4 j# A$ G! ]8 Q- [      if (isset($_POST['notice_title'])) {9 E& w" d- i. a+ }
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));3 C' D" X! {' p  D. `
      }
8 x( i4 `# C. _5 A: n) |      if (isset($_POST['notice_content'])) {$ i8 ?) m% i$ @3 X/ B
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));# }' a) l% F1 {7 T
      }. p7 V2 V6 W6 K0 R4 Y
   }
7 {" U6 E2 Y9 B9 G; ^: d+ Z* J   ```: m- g7 f5 w$ W* N0 a1 ~

/ w4 G) M5 m! J8 v   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
1 s8 N$ a2 [  H0 y  L6 W! F
4 v" o8 r6 x; k( V$ a5 _4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
9 f4 B/ Z( i! F- U; V, D3 u/ _- t8 A& `
   ```
. ]' ~* ?2 o. {; z& \8 g& c1 E   $args = array(. H1 V: X. d1 a3 ^: D
      'post_type' => 'site-wide-notices',6 C  G( S3 V1 d9 s: v
      'posts_per_page' => 3,
% e' h6 U6 G1 f      'order' => 'DESC',
$ e) d/ V1 `  P6 c. p      'orderby' => 'date'
& g4 \  w, |, [" R   );
* G9 h9 r6 Y/ d% P# y   $query = new WP_Query($args);% N: z$ P+ P$ B2 a* G. m
   if ($query->have_posts()) :
  N7 D& K) I  h5 ~3 q      while ($query->have_posts()) : $query->the_post(); ?>5 B9 P: x' R" |: @2 y7 ?0 n
          <div class="notice">  T0 [7 W& r& G2 w+ a) m) Q- D
              <h3><?php the_title(); ?></h3>
/ e5 j: W# d; @% Y) {1 y  w              <div class="notice-content"><?php the_content(); ?></div>9 V7 x2 ?- _" u4 O
          </div>
5 T/ ~: I; L! ^. f      <?php endwhile;$ B+ t$ X$ |! r$ x
      wp_reset_postdata();% c2 h9 _" r$ ^# l
   endif;( [9 O. L) c% D
   ```
+ d, J7 k! N: f* h% b7 \! N6 s" I- c
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-10 23:46 , Processed in 0.012965 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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