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

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

[复制链接]

344

主题

559

回帖

3646

积分

管理员

积分
3646
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
4 N( \2 v6 P! p9 G9 n" k/ `: x/ E! X( k& J7 I
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。+ R+ U7 O2 _9 J6 N
! p! y* j6 v: h* D0 x+ x
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。3 W1 {( a' ]8 Z+ b2 ?
$ N8 u. `9 H: Q+ s7 J
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
+ C0 v; [7 f  `9 _( m
. `- u9 u4 Q- A2 ?: M; p3 ~4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
2 H. E% V' w1 T1 s; _, s& t( T# `$ k, r2 Z
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

344

主题

559

回帖

3646

积分

管理员

积分
3646
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
6 X; r/ u) Y: X! K3 E+ I) e! {$ \2 ~5 b7 w$ l3 T0 c: e
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:9 Q' G( S& J  x$ c8 y* v8 p6 G7 V8 B

& H3 ~: R8 _& n1 G' u4 D) U1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
2 I& t* @( K. S0 |4 Y0 [5 g
1 Z0 \; H' j! A. S  N7 T3 Y( d   ```  o7 V  j" C( y/ F: J+ F% @2 }
   add_menu_page(
  O  U5 C  n8 m' W: q, z4 S" P1 x       '全站公告',
& n2 S% t& d( I0 G; k' k       '全站公告',' G- z& Z2 K9 ~3 Z
       'manage_options', //需要的用户权限+ y0 k) D. v+ g2 o
       'site-wide-notice', //后台页面的 slug1 L4 S& e" k2 u3 F7 E8 v3 y
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数, Y0 q3 j! u- n3 w+ G5 n+ e
       'dashicons-megaphone', //用于显示在菜单中的图标
. y% U' t& @& t: N. I, `       30 //菜单项的位置
6 e4 P" ^- \( }& Q# T; j   );
; G5 a" v; g% h' P   ```
3 g) e9 I! J9 r+ ^$ p  [& u2 o) Q3 @4 O0 Y/ x
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。* t: q' x8 C' I
% ~; R7 V" X. S- Y) B
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
( }: n1 c! m! l3 B
# L7 u$ P8 b# e! G- S3 a   ```
6 B* K. v; u) C8 G; x   function render_site_wide_notice_page() {
. a1 n1 v& ~5 ~      // 渲染后台页面内容
* j3 L2 ?3 I, ]7 ?! ^; Z7 a      echo '<div class="wrap">
1 L- G$ y4 Y. _4 l          <h2>全站公告</h2>
" S9 @2 m- M* i+ L+ [+ W, y% ]& u          <form method="post" action="">' F* g' ^0 C6 i+ d4 O  a3 \8 ?
              <label for="title">公告标题:</label>6 m! X: y5 `: k/ j) E( {1 V$ m
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
4 S+ p4 T; [, I  J4 `              <label for="content">公告内容:</label>8 l8 J) r. B/ Y- R
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>1 ^% k( \' H+ a" o6 y$ Y* V8 g( }
              <input type="submit" name="submit" value="保存设置">
6 D, V) e4 p- D! k          </form>
/ a" q: Z/ ^/ N2 [2 N      </div>';9 i7 G9 a. ?5 W1 z' _; i
% z0 V* F3 C( |8 c6 \. [
      // 处理表单数据: q0 L! {2 I3 R5 C. z% n; U0 p
      if (isset($_POST['submit'])) {
! B1 M( h' u' ~) e5 W" z* R! ?          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
! r" U/ V8 y- V, o7 t          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
0 I2 q0 e$ s% H  _7 N( {      }3 i2 J8 d8 }- {
   }
& B( c1 I% c6 ^/ T' r   ```
4 i; x! z9 p. X' ^* m/ \& Q; m% `( s0 P
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。0 v) p7 J0 Q, V4 N
5 c6 D( p- t8 t* e" l7 g4 V
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:0 D$ `" u, a* n8 o: j' M0 {

; _/ T- G# C+ ^: \2 S% G   ```
( L% p0 N: N7 |5 S" \9 W   <?php) d8 p6 S, R0 T$ c6 j
   $site_wide_notice_title = get_option('site_wide_notice_title');  T& A$ Z7 x& b) r& W
   $site_wide_notice_content = get_option('site_wide_notice_content');
- I# [* }6 K+ L3 I0 P   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {- H2 V# Z5 l  s8 F
       echo '<div class="site-wide-notice">';
0 Q$ ~) X. s' A" Y7 z       if (!empty($site_wide_notice_title)) {4 x4 \4 Q* C- J' A) u
           echo '<h3>'.$site_wide_notice_title.'</h3>';
/ a8 c7 V" l7 m" L, Y       }1 t" O  K9 X0 }0 i. L
       if (!empty($site_wide_notice_content)) {
, _% G  b# f  R& E' A( d1 G           echo '<p>'.$site_wide_notice_content.'</p>';& e! J! [% \& Z
       }
9 _: e, Y( [* Z- e/ M' X- G& @       echo '</div>';
0 E) }8 @8 [, Z/ `+ I, c- g$ ~   }
" [# V  Z" `% Q# u( f& W' Q   ?>- G* H  Y) c9 p, @+ y, l
   ```: ]% [' i1 C1 e5 N

+ ?5 z, c8 A/ x! v   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。$ z% W' n" T' r% m4 F
( Q9 J$ d5 X1 Z- c6 `
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

344

主题

559

回帖

3646

积分

管理员

积分
3646
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
" c  g5 R( r+ @5 o- E. L* [" c6 A1 A7 g, N& k1 {" @" e
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:# @; P6 m  X( N
+ e2 z: I. U( y( v& `, w) ]
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:* v, L9 B4 y7 Q' o, {7 L

  m. |, ]! {5 _6 @: Y# O- h```
4 e  V& @# R6 Z8 }! cfunction create_custom_post_type() {  s9 y* C+ }6 W: |) ~% N+ Z
    $args = array(* h% O; z% e3 g: u
        'labels' => array(
& N  H1 h( H# V& R6 f1 u            'name' => '公告',: v4 v% @# F; X+ x1 n0 E
            'singular_name' => '公告'( `" V4 c2 Y: t
        ),
' S; i/ Y, D$ ]% k        'public' => true,
# M# A& J* Y  {$ L  Z3 J8 R        'has_archive' => true,
3 O; c! M9 v5 O8 p/ o        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
8 Y& A# d( k- V        'taxonomies' => array('category', 'post_tag'),4 v0 G1 ?3 T; @/ x, R8 p
        'menu_icon' => 'dashicons-megaphone',
2 R' g( Y, X) x0 m3 w2 p+ U        'menu_position' => 5,. I/ B8 ?9 Y8 f" ~7 M( n
        'rewrite' => array('slug' => 'site-wide-notices')
: R, t$ G' Z7 u8 v- k: x  i    );
' v) w# C  y% a4 D  u6 t    register_post_type('site-wide-notices', $args);9 i/ N0 [9 k" R: |: \
}1 o$ E& R5 P4 `, L3 S
add_action('init', 'create_custom_post_type');
' ~$ C$ M5 [+ z* D0 h```
- N. u" O) c) C; I2 X& d  U, I2 p& `/ k0 i
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
( h9 n& N4 B" p3 b! u) |" ^! r
( R3 ?: @. D/ x% T* H2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。, e9 h" s, _: w8 \  m$ k7 C
* ^) @7 h5 w/ t  W& s' ?
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
2 {/ L. Z: N2 V4 F. q2 n
, r7 I- c) m$ f) D6 C: e```
" B* _: [( Y; }" t8 }  \$args = array(
7 ]8 k  X$ x+ d% N0 B8 ?    'posts_per_page' => 3, // 显示的公告数量8 B% g$ p9 z0 E3 e' x
    'post_type' => 'site-wide-notices', // 公告文章类型
( k) t5 L  K+ a. K: W7 r1 q& A    'post_status' => 'publish', // 公告状态
2 A# P/ s: F" l; Y; |5 b' Q    'order' => 'DESC' // 排序方式; O& r  j" _9 B) v# H
);- N7 O. |3 o' X& a: H
* z' a  S, I) p# p5 L+ W5 V
$notices = new WP_Query($args);
* k$ {& H4 `" ?6 ~% |% g9 e8 F7 Jif ($notices->have_posts()) :
" p) w% s$ S8 P    while ($notices->have_posts()) : $notices->the_post(); ?>
: G: U( n9 H. D! G- [" z! R        <div class="notice">
% ?4 m1 d0 O$ J. w! U            <h3><?php the_title(); ?></h3>( K) ]0 M- N# B% A. E4 N
            <div class="notice-content"><?php the_content(); ?></div>  I7 p" Y4 F- ?5 `! ~7 P  y* e
        </div>6 J  ^; ]0 o6 z
    <?php endwhile;& E( E& o  {; \+ j3 z7 l, V
else :
9 h, _* J: R7 M: k9 \: `    echo "暂无公告";
8 H3 N/ y! E3 o  o- n5 [endif;% h9 `7 k+ d4 y2 L1 A
wp_reset_query();
% {: ?+ g% Y7 A( j: [  c4 G```" S, w) W& w& Q, R+ _

& v; M# V/ L: h1 @5 D/ d这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。) D! q1 Q7 G' `0 z

" y8 u$ i6 x( l4 C6 A' V2 j: O以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

344

主题

559

回帖

3646

积分

管理员

积分
3646
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?: a% k# f* M8 B0 S4 P& j
2 U% ?3 r. r- v: z
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。: m: o3 I2 c6 d) m
' ?' x" O5 s( Z, F8 o' i
以下是创建自定义插件的步骤:+ Q$ t% s/ n6 }/ b" g0 L

6 G9 h1 b- K5 m, Q& U. B1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:, J" ?( s2 O+ ~% h/ H
9 c0 N( T' c! y  ]
   ```0 j# j$ A+ x( T# ~5 K2 P# W3 X
   <?php
) W+ s' Y# S, u6 [& ~+ _   /*- Y  _0 R: I7 k8 `- [
   Plugin Name: Site Wide Notices Plugin7 ~% ^, Q4 x* R
   Description: Adds a new custom post type for site-wide notices.$ S4 U, {" B0 Y' X$ p
   Version: 1.0. q% R2 r1 I( o
   Author: Your Name
7 ]. @6 q+ h7 q   Author URI: http://example.com
( g9 q( b8 A- D7 i   */
; h1 ]! V- j+ g- S( u
. m, V0 Z. V# b. ^% b" g* O   // Add plugin code here...
' y2 _) q+ {0 A+ t8 [   ```$ b  ]( M/ j0 y% W7 [9 Y
0 a! N0 G- }9 ]! ]
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
+ c9 E1 P/ {3 i2 W6 K9 J
( n8 X) _5 P3 s- C2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:8 o# I3 z% Q3 o1 T# j0 R

/ R; a6 y0 z! C" Z   ```
, _. U+ E( e$ I. s" `( J( N3 v   add_action('init', 'create_custom_post_type');; M1 M' ~: h1 l
   function create_custom_post_type() {) e2 |7 y, M) a
      $labels = array(
( I7 O. I$ M5 G5 V4 N          'name' => 'Site Wide Notices',$ f! t  E% g3 D7 N8 B" c" ~
          'singular_name' => 'Site Wide Notice',/ w  B* H) |4 j2 e) x/ g
          'add_new' => 'Add New',
/ j) v% Q( x+ T6 W2 K" X0 \$ t          'add_new_item' => 'Add New Site Wide Notice',
; \3 K* M- j+ K          'edit_item' => 'Edit Site Wide Notice',
4 R% R( ]: N8 A          'new_item' => 'New Site Wide Notice',3 i6 i& O( _: M& |1 H/ h
          'view_item' => 'View Site Wide Notice',
9 h( B: Z: i7 q& v$ H+ ]. `- b9 Z          'search_items' => 'Search Site Wide Notices',
: \( ^& r: i+ g6 g& Y          'not_found' => 'No site-wide notices found',
0 x% G. K3 a& ?          'not_found_in_trash' => 'No site-wide notices found in trash'! s2 R% _9 F) H1 ~, [) O* ]
      );1 g( D$ p, A, }1 }

# O0 a! Z. a6 F( @; E      $args = array(7 O* b; g3 Z8 L9 l% l
          'labels' => $labels,
2 s+ I* o$ ~$ A5 d" e          'public' => true,
8 q- w/ B5 L& ?! s5 E; u          'has_archive' => true,
7 h; d* e+ ]1 E( J" g1 Q4 Y; u          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
1 i! t/ f% e! A. k; B/ s- D          'taxonomies' => array('category', 'post_tag'),
) N  @! ~* t; m2 h0 h9 F8 [          'menu_icon' => 'dashicons-megaphone'," X. @0 E' n1 I3 Q# j* t
          'menu_position' => 5,
3 ~  n+ ~8 O) X: [4 @9 y          'rewrite' => array('slug' => 'site-wide-notices')
! E9 r+ U" Q* g, q      );
; {+ ~# P/ y' |+ z2 S: u9 i
0 y0 B0 ]; {8 L: ]) f) j; g      register_post_type('site-wide-notices', $args);
7 |" F1 F- _& Q! o   }# e( W2 N. h7 i6 S  c
   ```
8 w9 b/ o1 U: w# o2 i% ?6 Q6 \+ Z  b8 y
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
5 y7 F6 ?' T' H; g" [4 v" D, C5 D" v# C5 S: I" L
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:9 T+ h* h+ B. X4 f8 `
. F5 Z, o9 a% o& Y& R: h* f7 V+ D
   ```
: Z1 ]# ]" t+ X$ E5 G3 {   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
+ ]: k! d$ o$ g0 s- B% v   function add_site_wide_notices_boxes() {
0 [4 G% P1 J7 \" N8 w      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');/ g8 y% G, t$ ]3 u$ r% w
   }: S3 g  p. x0 [# {0 w( a! H9 u% _
  G; L, I& [, K+ T' Z1 `- u
   function notice_details_meta_box($post) {* o1 J: {( I" b2 ~: {# G  A- W$ b
      wp_nonce_field(basename(__FILE__), 'notices_nonce');
3 `2 j7 b  U: O+ p. S      $notice_title = get_post_meta($post->ID, 'notice_title', true);
& m6 I2 f; h* E      $notice_content = get_post_meta($post->ID, 'notice_content', true);. |2 G+ E- l" }- E5 Z2 d5 N
      ?>
# R, M  |* L# f2 w      <p>
6 C+ s" q$ y- D: {: ~- j: c) P  R* X          <label for="notice-title">Notice Title</label><br>
5 j9 Y1 T1 X8 l          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">4 O% Z! p" `8 m
      </p>
9 B6 n# ~: D6 _9 F      <p>
* {6 E# u% r3 r1 y7 g2 b) y          <label for="notice-content">Notice Content</label><br>
; r( r% D/ c. \& ?          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>6 ~: I$ j' P5 W, @, S
      </p>$ u& }3 e: }3 b- \" M6 L) ^- ?3 }
      <?php
* a+ Q1 [+ j$ x0 a   }
" ^' J# t8 S7 v: G0 P$ P# {
( k4 l* j- O* z% e9 o1 y% p   add_action('save_post', 'save_site_wide_notice_meta_box');0 R: ~  r5 y+ m) g9 b
   function save_site_wide_notice_meta_box($post_id) {
. N; X" r9 Z- u$ o6 W* X/ Q      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
$ O. [" ~; E5 p/ ~         return;
8 E: M" W6 k0 a! e2 a      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
& H3 T1 }. P  N8 V& H* k2 N         return;
& E. n+ T5 O+ n$ `5 z+ d+ A7 e1 P2 a, u: R, h. N
      if (isset($_POST['notice_title'])) {/ z2 a/ U7 B4 |  w- S0 G
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
/ D$ F. g8 K# I$ L( L      }: u3 k9 s" d  p* |4 o' ?, _
      if (isset($_POST['notice_content'])) {
& z! {$ b3 X: X( |7 v/ p          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));5 |4 A* y+ I5 p# c- L' c! U9 ?5 c
      }" [* `! ^+ C8 Q( Z0 p; G4 q& O+ Y+ z4 i' D
   }5 ^7 y! @. t" c5 q+ r! O* V
   ```$ N5 ]. V2 |. g; }' S( i" s' D' Z
9 T9 Q0 Z# q: G- t
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
9 t, j  U8 [6 N' Q5 O& h& H- A! l6 @) c% A+ D8 W- D
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
- N+ A3 Z5 D, ^4 @8 i
& _3 ~- X  ?% N# J   ```* z. c* @0 O) z. \
   $args = array(
* S! ~" M# p5 i$ H  e0 ?      'post_type' => 'site-wide-notices',) e3 J9 ^- _$ e7 T" c8 L6 a1 K
      'posts_per_page' => 3,
) D& l+ C7 U/ v: L' v      'order' => 'DESC',
& W  n' t/ n& e/ ?      'orderby' => 'date'
, e( C* Y1 w- ~/ `4 p6 E  N1 D& @   );
. E+ q% R8 f0 w5 L# ^   $query = new WP_Query($args);
  @3 B+ ^" A/ u1 T; N& X   if ($query->have_posts()) :+ p3 L6 Z' Y1 u3 r
      while ($query->have_posts()) : $query->the_post(); ?>
+ d0 Z. _' e% A  i) K% m  L6 H8 A          <div class="notice">
: W  @5 [' U- ^. D              <h3><?php the_title(); ?></h3>
3 r3 y$ ?, z& Y. Y- ~; b+ w              <div class="notice-content"><?php the_content(); ?></div>
- f% x. D( I: n' I5 R6 {; Y          </div>
1 V- w( z: E) A3 v/ k$ U4 O      <?php endwhile;
9 L% q3 B" Y6 m# H8 O      wp_reset_postdata();9 `! X9 n3 K* l( v5 I
   endif;/ ^  p7 v6 ~5 Z$ Z
   ```  d+ N' t8 g1 N+ G% @% O* O
0 t- W' C3 G" j
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-3 15:47 , Processed in 0.014407 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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