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

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

[复制链接]

347

主题

565

回帖

3685

积分

管理员

积分
3685
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:9 v1 y# o8 f  R0 ^; F
; q* T. r! @+ q
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。7 ]- ]! ~( w5 d! s
3 T. F% \$ ~1 V0 }4 @2 k4 S
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。1 j% a8 }7 k# t
* D' g/ O! J3 e: T
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
: }, p! N( w8 a, ^1 N7 M
9 p7 |+ @5 X( ~. e+ \, q5 q4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。7 n6 [/ E* q) _( j

1 z9 |  F- a, `1 t注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

565

回帖

3685

积分

管理员

积分
3685
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
; s( e" ~5 C' T9 I  A& [
2 ~/ e; b$ P4 V9 O5 ~如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:; i! K) ]; a5 q" W2 |) M

9 z8 [8 a4 n( M1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
7 j' g, x0 M; K6 d* }. Q: q. F, K2 D* C. A# h+ g% W
   ```
; n7 `) l& l% o$ Y/ r) I   add_menu_page(
' M! r+ d( I: o9 z3 n4 _       '全站公告',/ w  [9 q2 l  H
       '全站公告',
) t" W# Z* Z7 ]4 k5 f9 Q       'manage_options', //需要的用户权限* n+ O& |: ~( X" D
       'site-wide-notice', //后台页面的 slug; Q4 [4 F8 c* d1 S
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
2 b4 n) s# l, f1 c. z       'dashicons-megaphone', //用于显示在菜单中的图标% R3 N: C8 Q, S# b
       30 //菜单项的位置
) R( g* w; \  M0 Y5 @' v   );
" q8 n  B' m- `1 m+ Q/ {   ```. e  q3 x$ k/ h& p) O) G4 w& r2 g
- V! s# Y2 |" z/ x
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
2 F# B8 H& o" D
+ R! c$ [$ `0 s, I5 q& ]9 S" R2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:8 y) K1 f( i" I1 Y
% ~$ i8 v  X1 l/ a
   ```
7 h) \2 i/ `5 b0 U, R( e   function render_site_wide_notice_page() {' w' Z# c' l7 H  m9 L. j
      // 渲染后台页面内容. q( p: A: V: Y2 Q5 O) N. t
      echo '<div class="wrap">4 x0 `+ l: p" C6 X
          <h2>全站公告</h2>+ ?" @1 `! ~" E* C' o5 U
          <form method="post" action="">2 `' p! j! n2 `1 [7 J9 L$ w
              <label for="title">公告标题:</label>
0 d# [1 n/ f! Q( d- Q3 R) M: e              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
0 f9 C3 \' S/ [              <label for="content">公告内容:</label>  e& T+ F& Z( \5 q
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>" s$ N& D; S, c- S. |
              <input type="submit" name="submit" value="保存设置">
8 ?# t. o3 |: r2 S, E          </form>- }/ C4 I) r1 p+ F7 Q2 ~; W. D# k  w
      </div>';/ w! F! ^9 S6 d( R2 @: _* i
$ D) m- d, {. S' P0 N& L
      // 处理表单数据
- y3 n3 a6 T! c# N: Z      if (isset($_POST['submit'])) {0 R. Q/ K' S/ f( W- W+ H
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
/ k9 M1 \% Z' v5 r% r( D          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
5 M( V+ e1 }# y0 [/ O1 J      }2 K4 X! E3 [9 E
   }( p- y$ M- o* E2 h- b
   ```
! p+ l9 T" a% C$ E3 S0 Q% p. c9 B. ^6 W$ `6 A) w8 ?6 r
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
. d% b; t( |; S' B( k! G! R1 A( e6 Z( y
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:0 n- F% j! s" [# _0 x8 U
9 a3 Z: W5 m$ O' @; M# S, V
   ```
/ p3 W% p5 J0 Z   <?php) M5 o. q6 U5 w( ?$ r9 s, l
   $site_wide_notice_title = get_option('site_wide_notice_title');* @! b* B6 J5 O4 D
   $site_wide_notice_content = get_option('site_wide_notice_content');' {+ H1 i+ K) u  `/ H9 a  T# U
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {' h8 n* b* r- q, k8 ^
       echo '<div class="site-wide-notice">';
7 z5 |( b) {6 |/ @$ a, @5 S       if (!empty($site_wide_notice_title)) {( S. j- J. g/ _" k) Q; r/ B
           echo '<h3>'.$site_wide_notice_title.'</h3>';  _/ k" |9 a* S# q( F' F
       }
& g/ o; M$ M1 n# M3 V       if (!empty($site_wide_notice_content)) {# \+ F" b$ Y- u' P2 x3 `
           echo '<p>'.$site_wide_notice_content.'</p>';
& L- b. m+ \3 I9 p3 ?" E% }; a       }% L0 ]1 ~# {9 V0 G5 L
       echo '</div>';
% ^- ^) [5 w8 M7 ]4 G6 E: v   }
7 ^5 G6 }2 T1 i& R0 j   ?>/ D$ _0 i, C) |, i1 S/ f" P
   ```
" w1 Z/ E- F2 e6 x8 ^  e" ?7 n2 R$ v' P' Q9 w  l% Z% F
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。4 i, K- P8 N. \" w  V6 |
7 i/ P! L! |- J5 o$ T, T6 U8 e
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

347

主题

565

回帖

3685

积分

管理员

积分
3685
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
1 p0 _8 ^5 @2 o0 X, B0 }* e/ J" n+ |! Y) s: A
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
9 K! y% t2 }4 s! v- K. J+ ?, E  w" F  a1 z, z
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:8 y& l5 o0 n$ e. `) l

) R! n5 X2 O  E, {2 U```' C1 t0 }, Z$ ~9 w
function create_custom_post_type() {
* J& x, I, S1 o2 i! R/ U6 b. D    $args = array(2 D( m- X) T( b! Y6 |8 u7 `, C; P
        'labels' => array(% Z0 z* i) \- o6 D7 {) `
            'name' => '公告',6 ~9 q# i( D- z3 o, Y! _0 u* d
            'singular_name' => '公告'  l% G+ J/ `7 ]" y
        ),0 w6 h0 z& ^  J. i
        'public' => true,
3 B# j& k  Y3 L* ?0 X& I        'has_archive' => true,. G/ g: u: [3 t0 D! E3 E4 T- J
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
8 R( l$ E4 Q0 K6 N7 E' Z8 z( m        'taxonomies' => array('category', 'post_tag'),. K6 x/ Y; W1 g( c' {
        'menu_icon' => 'dashicons-megaphone',) d) a+ n( q# p" Q% c0 c+ w
        'menu_position' => 5,
' Q- ]; f- p  ?# t$ S; v1 u        'rewrite' => array('slug' => 'site-wide-notices')/ N8 g" g! g( |* x! L
    );3 Y3 {5 {$ Z6 H- V7 o7 V! u5 U
    register_post_type('site-wide-notices', $args);% ~2 K2 Q! B( R( a! @  b) L& m
}
6 r9 @5 }  x  \4 }% |add_action('init', 'create_custom_post_type');
9 h& G& Q: l, q, q( f! R```
$ r) X) k5 p/ N% c- n, |2 q' o4 _4 P; p
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
  S. y- D) ]" F- a( J% X
4 D; X% h( H' A8 H& z7 v2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
6 _% r+ x+ L- X% M- S% W! z- d( D  S- R: o; d% e( ~
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:" A6 }6 v6 m2 R7 o2 c! ]+ n
  f1 v* f5 E  [1 q
```
  u& n- V( k' B5 q* e$args = array(
; j: g, D2 z) D: v    'posts_per_page' => 3, // 显示的公告数量+ G- H$ z1 G2 @$ v6 R6 }6 B
    'post_type' => 'site-wide-notices', // 公告文章类型/ j- X9 W# |9 z( ?6 d
    'post_status' => 'publish', // 公告状态
8 Y/ R; v/ l$ j7 i5 x; B7 R    'order' => 'DESC' // 排序方式
: H) e  t* N: _  K; U);
; B# _8 U+ W- D3 ~6 n2 k
4 I6 B4 s' [; T. C' M# O3 s$notices = new WP_Query($args);, B, x& [- |. ]- l+ x$ y0 o2 u- n
if ($notices->have_posts()) :+ Z3 l5 a$ F, X
    while ($notices->have_posts()) : $notices->the_post(); ?>
: B; O6 g0 b+ @, P  H        <div class="notice">* ~( }. t  C2 b9 l  Q. w+ t% M
            <h3><?php the_title(); ?></h3>
3 Q  m# W3 Y3 F4 g. x            <div class="notice-content"><?php the_content(); ?></div>$ ~# D, H5 g7 O" ]1 z7 F
        </div>
6 j+ T4 l5 d9 [2 t: i    <?php endwhile;+ M( H$ C! N& C) u3 a
else :
( r( t9 l- Z$ y$ p! J& a    echo "暂无公告";3 a* i- o0 f0 D! y
endif;
/ @& i8 V6 L3 |/ V+ \  `4 Z! gwp_reset_query();
! N0 ]! ^# E; g```
9 B% D9 Z7 J9 [6 }6 w" S$ L0 ?$ w: Q" I5 S! V/ z
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。' V  G$ I, t5 c/ K

$ E. T5 r9 B8 P以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

565

回帖

3685

积分

管理员

积分
3685
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?' b' V- d6 ^* h; N- J. Z/ J

7 [+ M5 d/ ~. x* d! m如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。8 I/ H8 i* @  F8 I  \& X, J$ m

" a" I1 ^0 e' m6 j6 C0 K, M7 c! w. g以下是创建自定义插件的步骤:# v( j0 g& g# ~# C9 D- Y

0 v( `# V. [" Y9 I6 z" _5 j1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
0 I* S" ^+ h, v7 i- A* b) b! H' G0 D* w# ?" ?- j/ {, ?) X
   ```/ p/ @7 N( U4 [4 c7 `
   <?php
$ A$ I7 x. _: x( a6 X0 y   /*
- W3 N" q6 ^8 }2 {9 G   Plugin Name: Site Wide Notices Plugin
/ c4 T4 |5 |/ C# k$ l7 n   Description: Adds a new custom post type for site-wide notices.
6 E3 E2 d4 Y* z1 P. }2 P   Version: 1.03 ~, L: _% ]* h  m& n/ n# X/ }5 V
   Author: Your Name
9 O, J: E' |1 ?. x   Author URI: http://example.com, _& v" \! K7 \/ F1 e
   */
! y' N5 f8 K+ z' C
9 D* R* N* i# g+ f  i% {   // Add plugin code here...
/ V1 `; N8 q8 j+ A   ```! D$ N- p: j/ V& F1 |; ?: m, E( A

' l( k9 _6 {. I, E# Q1 U$ J$ i. m7 {: @   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
- m, q# w2 C5 \) p* t; y9 U' T3 g/ A  N4 M. o/ D* T
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:" A/ `7 o$ n8 ?5 ?0 ^' O

% V5 _9 o$ i) o4 }  k: _0 ^/ R   ```
, G7 ?4 _( d: d# b2 w! `7 M' F   add_action('init', 'create_custom_post_type');1 v4 h3 r+ c5 C$ s% z
   function create_custom_post_type() {
! G) E& X/ O# R2 P) j      $labels = array(% j$ p0 e1 K$ T& k- s, D
          'name' => 'Site Wide Notices'," o( m8 u3 Z) w. N$ k
          'singular_name' => 'Site Wide Notice',* Q! J) q2 g; z' r! q
          'add_new' => 'Add New'," G3 _7 C+ B: \. {' G
          'add_new_item' => 'Add New Site Wide Notice',
; {. r3 M, W- ^5 t          'edit_item' => 'Edit Site Wide Notice',
) A5 _% Z9 _6 b          'new_item' => 'New Site Wide Notice',
5 o, _, F9 A$ \, I) V! s          'view_item' => 'View Site Wide Notice'," [9 _/ I) p& x+ o5 g
          'search_items' => 'Search Site Wide Notices',
5 X  N& o9 B4 h$ E  F          'not_found' => 'No site-wide notices found',& x3 @# V7 s+ o+ Y1 B3 i- ]6 u. w
          'not_found_in_trash' => 'No site-wide notices found in trash'# x- p! Z2 p) T! C' K
      );; i# [) D( Y  D- W0 o1 m
9 Y0 u% y9 v$ C
      $args = array(
/ ^3 q5 H! E/ K7 y% |          'labels' => $labels,
0 N/ c5 j; ]9 `' @5 h6 w          'public' => true,
0 y3 J7 M9 `  M. H# _# I! W          'has_archive' => true,
% |  O, Y' n" b          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
" K4 r* [* J( f0 O3 m  m. d          'taxonomies' => array('category', 'post_tag'),
8 t0 _6 J" L2 Q0 t7 R; |) O! W          'menu_icon' => 'dashicons-megaphone',
- P6 U1 Q7 `7 ^  X8 {          'menu_position' => 5,
' Q  C# a  p/ e6 K% f9 B          'rewrite' => array('slug' => 'site-wide-notices')
* K' {% Z$ ~! @4 ?5 ^7 G      );9 S% z& U0 l2 n, }( G2 z$ L  w' y
7 Y0 J1 ~7 n7 E5 W+ D5 u
      register_post_type('site-wide-notices', $args);
) G5 M- p& T, }& p( e$ ]   }
4 K1 c6 \% H5 E9 [6 b( n: Y   ```5 d( R+ i1 v2 K9 H; R: T2 E: Y

; K: ~0 ]( \; j; ~! u   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
. {% i3 c% J' p( Z! f. o* W% B% x! w
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
1 v8 ^5 V* C/ W" l0 x3 \4 t* R& ^+ e6 C
   ```2 J. T% {7 W  M1 J" K) j
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');+ i% @9 y" e0 o  G  s. Q
   function add_site_wide_notices_boxes() {% f' _: U. n8 d8 M; @% H
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');6 A* x$ C4 c7 [# r; g
   }
% A/ w/ b9 f0 r/ n. A" _; z; r/ G2 `6 Y2 g# \
   function notice_details_meta_box($post) {
  _; f  h* A' g# A- }( f% B9 V% j! ~      wp_nonce_field(basename(__FILE__), 'notices_nonce');
7 B; T4 d5 ?$ a* z6 H: \      $notice_title = get_post_meta($post->ID, 'notice_title', true);
- S/ c: E3 s# y; |/ l      $notice_content = get_post_meta($post->ID, 'notice_content', true);) C5 \+ w1 X' j# K8 @
      ?>
+ I) f' z; ~3 b, a! m      <p>
' ~! ^" ]  |) f' t* K          <label for="notice-title">Notice Title</label><br>8 F( l) A/ d+ Z: Y3 e
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">9 j# n0 p8 G0 x# c; ?
      </p>
1 W+ i5 n. R. h      <p>& K$ s& M. w: m4 R3 w
          <label for="notice-content">Notice Content</label><br>2 Z+ V$ K: |3 F) O$ o4 |
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
. Z* e& X, J: |4 X      </p>
, R# L- Q0 ~: p) l  N/ F6 k      <?php5 _8 d, O+ F/ b- D$ t, \0 S* i; x
   }( _- ^. i1 [# i0 g8 F; J

! T; k' W. z4 t( y   add_action('save_post', 'save_site_wide_notice_meta_box');
% i8 m( O7 {4 f3 y+ l   function save_site_wide_notice_meta_box($post_id) {
) s2 O0 J: z: O6 p; R9 j      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))3 u  ^/ Y/ |  K0 Z
         return;7 M, w# t: e: o
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)8 Z. E) I  |) d& l
         return;
% [: ^( L& G, H4 F. u- D% N: T/ ?# w
4 g7 j3 c( R% U& G' o      if (isset($_POST['notice_title'])) {, T+ \. f) v; M# W2 O* N8 u
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));1 D: [3 _2 \) N( t7 }! ]
      }* r. i/ z/ m/ X4 Q& `
      if (isset($_POST['notice_content'])) {) |/ {8 K! I% q" Y' D9 ^4 I
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));# G  h) @1 j# g' E; g$ V; x+ Y
      }
7 V* `' b0 A) T   }
0 N: a) Z6 S' M' I0 F* u" H. r# F   ```: u; h! U, L- ~8 D8 J
+ R2 P( \, ~5 }9 o: p$ J
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。% B# Q- p. {0 I) |$ q- G
1 U7 r1 J4 L8 u) H& H& z
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:6 x6 G0 x. Q) O& J& K
3 M0 G+ J- M5 O  t% Z+ r
   ```
! K2 |1 g  E' U9 Y1 L9 u   $args = array(
6 u+ m2 y: b( d' ?% d  j4 B      'post_type' => 'site-wide-notices',3 d5 n2 q5 `  b' A
      'posts_per_page' => 3,; N3 t) P8 _' w3 n
      'order' => 'DESC',8 c# v: t/ n" _- w  y
      'orderby' => 'date'
0 B' ]; T9 l7 _7 w; l( r   );
$ a, |4 E0 i" u4 k" `   $query = new WP_Query($args);8 `! g" j. f. ^: n3 K
   if ($query->have_posts()) :
% `4 ?* y% ^0 _6 H3 f% L      while ($query->have_posts()) : $query->the_post(); ?>. J# Z7 @( O  z
          <div class="notice">
5 R6 v0 B$ q8 d, p              <h3><?php the_title(); ?></h3>
! J: x2 g5 D. V5 d              <div class="notice-content"><?php the_content(); ?></div># C6 K8 @0 Z- l2 }& y$ {# {3 v5 z
          </div>' h) W; g/ w# i/ l. I8 z
      <?php endwhile;2 \( d2 a  a# y+ V
      wp_reset_postdata();8 x7 p: d* F9 t! d, H
   endif;
5 @' Y6 t& u$ w" T7 ^( y5 j( b   ```
2 i* H, S1 R! }! g; n1 G% A  j! j( _
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-17 16:38 , Processed in 0.014089 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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