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

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

[复制链接]

334

主题

517

回帖

3396

积分

管理员

积分
3396
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
  H" m  @: j6 m  c# P9 }: |2 C  J( J% U3 t& v. T3 y! L
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
) o; ~! S" K) \( A: |, X8 l, D1 `
/ W) H& R6 E0 }% z- `3 p) I' [2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。: t- O7 {. p! j. [  d) V5 g9 i
' T8 O; a9 _9 _( @
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
" ~8 n: H. ?+ f+ N( S1 e& Z7 k2 Y7 J: i9 \
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
& y# \7 I& ]4 v9 D3 ?& }1 I& P6 [* ^1 y4 Y- c2 J
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

334

主题

517

回帖

3396

积分

管理员

积分
3396
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?/ ^' Z3 {+ n. N* k

, e4 n- b4 K3 y2 Y3 p如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
0 S: g0 z+ s/ m( l. ^: t! x, d4 `- b$ f0 Z6 f
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:# L7 w* Q1 R1 k# q7 F5 }

1 U3 x: |+ d& M4 j( @, e& p8 e- Z/ ~  Y. u; T   ```7 z4 C2 z6 P# l$ O
   add_menu_page(
9 y( S" D' J& C: A1 o       '全站公告',% d, ]  X, k' b3 G. p1 m
       '全站公告',4 \2 W: H9 r5 s6 a$ P( |
       'manage_options', //需要的用户权限
; p% M3 F& A& V  \8 @9 B9 C       'site-wide-notice', //后台页面的 slug7 C5 D$ e! O! @8 O
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数, N$ D$ }+ y. u
       'dashicons-megaphone', //用于显示在菜单中的图标
2 S( I+ G8 x; W) A2 z5 u+ n7 i& |       30 //菜单项的位置
" \$ ?6 l; O8 i5 }3 m4 t' V   );
1 m8 S" T- t0 ^) L& z# n+ y5 s   ```; _8 D  b, E) y' j5 S4 m. y

8 O6 f& Y7 m! D   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。( d9 x# U- K! w" z4 b8 r  N+ T

5 {  D3 q; q1 L# O6 @$ X. _2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:- ^" C: W8 |  ]/ o4 K$ @
& Q. ?5 \; n3 S) ^
   ```
' W# y1 X' N7 H# T* c   function render_site_wide_notice_page() {
' y$ l& K. m/ B: k      // 渲染后台页面内容( q) E1 e2 s$ Z# o
      echo '<div class="wrap">. e- U  }' J& ?+ H* _
          <h2>全站公告</h2>
( C( I; p9 e9 d0 Z7 a          <form method="post" action="">
& B2 ^3 n- q5 o: |) C' C6 Q# T. }0 d/ w5 D              <label for="title">公告标题:</label>
: E$ c" k% c8 }( |  L& U              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>' U% X7 J4 Y5 |9 M# \8 B
              <label for="content">公告内容:</label>
$ Y" J7 M9 l, Z7 @              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
1 A3 s1 t/ d& T& V. s2 r9 e              <input type="submit" name="submit" value="保存设置">
: d5 [. \# y, A5 u# h          </form>
( u+ r: s: ?9 E7 g9 F5 U0 O      </div>';5 ?0 w  G% ?* c* w2 z" E+ i

( E5 b7 S" i, W( F+ }      // 处理表单数据
9 L3 H7 v$ c! Z      if (isset($_POST['submit'])) {  C0 S. y3 I. o5 h3 C# o  W
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));5 M* X0 C# |; A: b
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));1 s! t  f! O; k! a
      }
. w9 R! ~9 l9 \- Q   }
% K( b, i  T$ ^9 P   ```7 D0 s( ?! Z. M; H
/ O/ [5 r8 B& e  y- Y# Z/ _% O) P  h
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。' x% m# ]  w3 U3 Q, x+ ?* _

) R, |$ J4 }1 [' {6 @3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:( Q! u0 r- V/ S; q/ W+ |3 f
- s1 m) O( Z5 g9 ~1 Z8 s; T9 }
   ```0 O2 K; D5 k$ @' k# V! W
   <?php
4 `+ R* G4 _# {' E8 Q) r# |* B   $site_wide_notice_title = get_option('site_wide_notice_title');
+ V2 v7 P+ d0 d" F   $site_wide_notice_content = get_option('site_wide_notice_content');
. V( e/ b7 E  T/ H6 v   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {( X, ?0 k, [; G5 U- [
       echo '<div class="site-wide-notice">';
8 ]" A* f/ q+ b0 W) G       if (!empty($site_wide_notice_title)) {
4 W. s& m4 N- q* L  G/ U- R           echo '<h3>'.$site_wide_notice_title.'</h3>';9 U: {4 [' F  @
       }
3 k/ V: `' f) I  w; J. ]       if (!empty($site_wide_notice_content)) {
9 T0 K4 k$ v4 l# Y6 `- n( h0 r           echo '<p>'.$site_wide_notice_content.'</p>';9 o# o% i# a- D5 n
       }
" W% i9 M6 g& }; E       echo '</div>';3 y1 ~# H9 F) V3 ]) d5 [& g- d+ a
   }- W# r& }) {1 f; R
   ?>
" M% Q: n5 W5 ^8 V9 U1 g) G   ```
- |) w) J. U* T5 J/ Y
" _& X5 T) J0 }  T: ?: e0 D   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
/ a/ Y( g0 J# s1 Z0 [. P% d) A* @' r
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

334

主题

517

回帖

3396

积分

管理员

积分
3396
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
6 Z: H6 {4 Q1 X! q7 i, \  N6 H$ d
+ B* v) n* g6 e您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:6 s' o* C7 W  Y! x# t# C

0 I0 c3 R+ c8 K' n) X& {1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
( I$ \. U& b: Q: U1 M6 O
: Y* T5 X4 D  S0 f```
( _( J( V$ [% a+ N+ Z6 Q4 ~/ Ifunction create_custom_post_type() {6 b- r% o# C' ^( a7 q+ g- _+ Z! C  r
    $args = array(# T/ X8 }6 Y2 ~! Z4 b
        'labels' => array(
, S2 H: j  e* V$ o. m9 m8 `# Q            'name' => '公告',
6 a# j5 C2 Z& F9 B, i5 n2 `            'singular_name' => '公告') s4 ^3 M& W8 @
        ),
, l. R+ T4 d" Z7 j# W        'public' => true,- r/ }7 G7 m( g* x; r; j$ r' r
        'has_archive' => true,# B( Z4 `. F6 C4 Z9 O0 n' {
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),1 o; J9 y  y5 u# j6 n/ D8 q9 k
        'taxonomies' => array('category', 'post_tag'),
! H! _$ q" }" X  q# N0 \% Z        'menu_icon' => 'dashicons-megaphone',( @/ q! ~2 ~) K
        'menu_position' => 5," D$ m7 m% j  U  A$ e5 X
        'rewrite' => array('slug' => 'site-wide-notices')# @! F$ n! }  _% @" v
    );
6 C6 o4 O1 r$ J$ `( a  e8 b' z5 k1 B    register_post_type('site-wide-notices', $args);
! Q1 T. h- n1 k* G}# E9 x4 P2 M4 [2 \, q8 F
add_action('init', 'create_custom_post_type');
. N2 M8 B( n$ W0 l& y4 ]& k6 J& z```. B. I% A% M) s; n

' r* q# k8 M  b, P- H在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
+ I. H) |. G$ p% H
9 q/ J+ d# R: x; t3 D$ v2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
1 ~6 c# N. S6 T1 G' n5 c! K/ @% P$ E3 E% [8 T7 w( a
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
! g# \- x. ]! D' }# z4 r1 F9 Q9 Y
. O, ]4 K% Q4 C# Y( p& p* L% X```& R& s. r3 L' u1 U4 e3 a7 j
$args = array(5 e1 i, |$ e: O0 }4 s
    'posts_per_page' => 3, // 显示的公告数量
) R! F5 k' a; j  c    'post_type' => 'site-wide-notices', // 公告文章类型
1 R) ], D: v" f2 p+ C+ e% V1 R' I- \! |    'post_status' => 'publish', // 公告状态/ F: H7 C% c; J/ z
    'order' => 'DESC' // 排序方式
( x6 B+ J1 s, N% N9 G/ @; v);  v# j4 Z9 \, P* l- z$ T

3 x# `+ _( x! A" Y$notices = new WP_Query($args);& Q" b- W+ T9 B: x/ b
if ($notices->have_posts()) :! ^$ f. X# b7 {
    while ($notices->have_posts()) : $notices->the_post(); ?>; q4 J! x- }: ^1 }1 k% o
        <div class="notice">
, X+ @" k4 C' r  b+ o% e9 B0 N            <h3><?php the_title(); ?></h3>0 r4 w# W' K5 i/ z
            <div class="notice-content"><?php the_content(); ?></div>
& H4 I/ V9 ?/ N6 E        </div>
  k0 `$ k! J$ p. m% o    <?php endwhile;
( i# t" c- A+ W  l. [& ielse :& i" O4 H8 C) A( L1 ]
    echo "暂无公告";
$ f) J7 m8 N5 I$ Xendif;
+ q$ [! l' d1 twp_reset_query();
6 o' g7 ]5 d. F1 G- b5 V```( I  }, M7 w. U: S
5 `8 a& w7 b% N: E4 C; Q, Z9 P
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。, E8 b) J$ _& ], v$ d+ ^
/ h7 O1 G- ^& i, E  m" N
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

334

主题

517

回帖

3396

积分

管理员

积分
3396
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?+ o  b' y5 r5 `6 z3 u9 n, ~

5 p3 s8 v" ?( j, Y* p# ?如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。( o1 T( ^  t; v8 o+ d  y; m
  J" G2 e% b0 \& a( M* H1 ~! K) s
以下是创建自定义插件的步骤:
( w! g& J' n6 ]! n6 }- A4 a* [6 R9 r* D- s+ k8 }  T
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:* `: t+ R+ l7 G1 D& e7 ^+ P

' ~4 ?. i  c1 v0 `   ```& ~$ x: l( y- ?8 D
   <?php
0 B3 k5 |$ _4 J' H1 @! K   /*
, D6 K  O& o8 P8 z# G: w# d  k   Plugin Name: Site Wide Notices Plugin
% [  V8 h# W& m2 t   Description: Adds a new custom post type for site-wide notices.+ v1 |$ d( }2 F+ \/ f; L- U
   Version: 1.0
$ x1 Y' d, R& B( w) I% b8 J( A   Author: Your Name
5 b: f8 k$ p' ]. R   Author URI: http://example.com
$ a2 {$ x5 d6 q8 H4 F( y& V: }, ]   */7 C7 v) Z5 ~+ G9 ?/ W

* [# j) A" x- i  i   // Add plugin code here...
! A2 p, n1 J9 z) ^( k8 w' X! ?5 `   ```
* C. }' Z/ ~: |7 P  P' }5 G0 x3 H1 p  w+ _# h
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
7 m% k0 ~4 C# ^: B0 p6 p' M
' U* R% x, g6 y) r% ]6 |2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
; x+ Y, o9 `, b2 f. d
( a5 t4 B- v; b7 c. A) ~   ```
8 o6 }! k7 n+ J   add_action('init', 'create_custom_post_type');
, j: k1 n; g4 r2 A9 M3 E0 A! e   function create_custom_post_type() {, X9 O$ v: Y4 N' a$ Q& D
      $labels = array(
$ z  P( j: A5 ^+ l4 ^          'name' => 'Site Wide Notices',
6 f3 E0 W" K! L  K7 w2 ]1 k% K          'singular_name' => 'Site Wide Notice',  r* f$ i6 c  v
          'add_new' => 'Add New',
1 z; ^, N9 r5 R3 `( ~: B4 b          'add_new_item' => 'Add New Site Wide Notice',
+ T8 V  j- k! G- W          'edit_item' => 'Edit Site Wide Notice',
/ r& y: F; R' {( J7 N" F+ Q          'new_item' => 'New Site Wide Notice',
1 {4 w6 h7 Z6 R7 P7 z: n          'view_item' => 'View Site Wide Notice',# C. [' t# \% a9 Y
          'search_items' => 'Search Site Wide Notices',
8 m8 `5 p/ n, t6 H          'not_found' => 'No site-wide notices found',
4 J1 k: E* g# ^) X- A& e: j          'not_found_in_trash' => 'No site-wide notices found in trash'9 l* o9 [& A/ v! B5 \
      );. E! T7 \. n: J3 U

( O/ k- B* c1 b      $args = array(5 x% Z! S' D* N6 N0 m3 A+ j
          'labels' => $labels,
: {8 Q6 H; X% K4 k4 m! G% f          'public' => true,1 H5 z* k! y0 z" e5 g7 l* k
          'has_archive' => true,
/ J) {' s0 o/ q' z  @          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),6 m: Q" o1 `4 }; E: v/ z* k
          'taxonomies' => array('category', 'post_tag')," G0 Z' m# `- Y
          'menu_icon' => 'dashicons-megaphone',
8 a9 d' Q" j0 g# ?          'menu_position' => 5,% y: J" y/ E2 x
          'rewrite' => array('slug' => 'site-wide-notices')# c; X7 r* h; ?* S( s4 m
      );" |8 s& o3 y2 W2 p2 H7 K

+ [& Y3 p& `  }% f: k2 x      register_post_type('site-wide-notices', $args);! ]5 i( E) i) N/ S' c
   }7 ?% i: s. k" ]' {, [& g1 r& A
   ```
' ]# R9 _9 u4 X
2 O% ]; c" Y) m2 D   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。$ ]8 V4 p% x0 y; \9 K

  B" [, S* f- \: P0 P3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
- E" B$ e8 p! Q. p% B
  V7 S6 k2 C+ F9 M, Y2 U/ L! e   ```0 L, T% ]2 M4 g, b) t; Q# U
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');/ T9 q2 l  J) Y5 i; V
   function add_site_wide_notices_boxes() {" N; K9 X2 Y  @; h1 Q3 e+ E% _8 z
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
& n9 a7 T9 F1 H- B; z' G/ s   }2 s# A  b' H0 {7 Z

# ~8 d) R8 A* t: `: A$ j1 ^/ w   function notice_details_meta_box($post) {3 p* f/ ^* \. u  C( o" A
      wp_nonce_field(basename(__FILE__), 'notices_nonce');5 w; m3 ?7 f+ F5 Y3 c; n2 P
      $notice_title = get_post_meta($post->ID, 'notice_title', true);- i" k, k. e* _# p* @* o
      $notice_content = get_post_meta($post->ID, 'notice_content', true);; w" _3 r4 x- b4 M
      ?>% ~' M2 @# Z8 E/ U9 p; I, g( _% K
      <p>/ f: ?$ R. r5 F  M; W2 ~
          <label for="notice-title">Notice Title</label><br>
5 Q9 @7 }! F' }7 @+ m          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
$ g$ b! ^+ V3 ~' N+ W" Y      </p>5 |" }. n8 y3 H& p9 U
      <p>
0 C, e  c, S$ ^          <label for="notice-content">Notice Content</label><br>7 Q$ h) H5 M5 r( O/ h  ?  Y
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
( F% }$ q, k4 m/ @      </p>
* @" V6 e7 g" k! k4 A      <?php
1 g+ O" M( _" |  |% z, b: n   }$ r6 }8 Z2 d$ d, n. b
0 Y$ `4 ^2 s# B; n$ G
   add_action('save_post', 'save_site_wide_notice_meta_box');4 T+ ~; j0 m# w$ Y
   function save_site_wide_notice_meta_box($post_id) {
3 L3 K( `0 P# A      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
+ P6 \& S; `$ G& p& a         return;7 n- u! O% s/ {  v
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE). s) Y" G- b5 s: D9 A8 t9 r6 X7 Y/ g- q5 n
         return;7 i# O- ^" Z  c; |7 r$ K# d% s% S
+ T  l/ N2 u4 K# q  q' F
      if (isset($_POST['notice_title'])) {
* {/ K# s! v5 [3 G5 y/ K8 a          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));/ F5 t- |9 ^' |6 N
      }
' l5 l  D7 g' d1 J* K      if (isset($_POST['notice_content'])) {
7 v8 J7 S' Z# s3 t1 D          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));1 F9 Y1 a$ F/ N6 l+ m
      }; X# T/ T/ ?( ^2 y  L5 H1 e
   }
9 g; _  m8 _( C8 h   ```
4 j- V* }5 K8 i! V! P- L+ L7 W( ^, v- ^$ x0 S- Q
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。4 b. L% t4 t) B+ T$ c; |% V

  X, c+ _* s# e# ^  v' v) o; }4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
5 V/ N; u( Z" ?$ y
/ [5 K& h) R2 D& a% Q6 [   ```
) h+ t4 U8 B0 u2 v) V   $args = array(
% ~3 x% f( |- o      'post_type' => 'site-wide-notices',
/ v/ X7 D8 R6 ^1 \4 k( c$ [      'posts_per_page' => 3,
% z8 n5 P5 h9 Q; K$ b) {      'order' => 'DESC',2 l& j/ e( i* D
      'orderby' => 'date'3 }. w  a% d( H) M; @+ K8 S
   );6 ^) B: F6 [* i; O
   $query = new WP_Query($args);" N( d- H" d5 G1 I
   if ($query->have_posts()) :) u& {1 d2 Y2 S
      while ($query->have_posts()) : $query->the_post(); ?>
, z& g# i! ]* Q% o) g# T& [          <div class="notice">  s8 N. x, f$ z/ |
              <h3><?php the_title(); ?></h3>
+ c# e: x* i6 p              <div class="notice-content"><?php the_content(); ?></div>
1 u6 p0 H% T1 t, r% ?1 Y          </div>1 N! u4 X& [" C# H
      <?php endwhile;
% S6 r+ z$ G1 a) ]      wp_reset_postdata();
8 W- d% P6 H/ g3 A) s  y   endif;3 @# G% A7 Y( Q( F8 Y4 l5 S: v  V
   ```- {) t. W5 y' o

( V& X. O9 U; a( x6 C/ I/ C" l( c   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-3 14:01 , Processed in 0.073358 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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