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

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

[复制链接]

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:6 x. U. `% d+ s) M- D) H
; s6 z2 D2 I  l$ e. E& Z
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
: \8 @4 n8 E1 Z" j: H  P
( W, a6 C' w! V1 ^2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。3 F2 C$ S) Q& P# e* Q1 P/ @# B- P

7 b, U) h2 h5 M# i/ @+ ~3 r! g3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。" M( E: I, J. E! m
, N( u5 D; e/ N  t! R
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
8 M" W; g# }- B8 G2 `9 i6 k2 c2 E8 w7 h0 b1 a* f/ W
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?3 E5 N+ Y, r/ v
) A$ ^' J+ Z9 U
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
9 f) w, W, M; y6 a: A( |
: y% }$ {6 K5 G: X$ _; g1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:( Z, U" v# l, P5 Z" }$ l6 k2 M2 s

2 t8 p# ~- W3 e" e- W/ ]   ```
7 s7 f  z& ^0 E3 i   add_menu_page(. G# }; P$ P2 _' O
       '全站公告',  g8 C* k9 w) N" C" [' M
       '全站公告',
! j1 j5 O8 ^$ W( a* m       'manage_options', //需要的用户权限
$ Z$ H2 W8 \6 h$ P0 b3 J. A* F) n       'site-wide-notice', //后台页面的 slug5 t' S  [  h2 T6 B" `, O
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数- g4 y) z1 s9 d# b' {1 \
       'dashicons-megaphone', //用于显示在菜单中的图标
7 h9 I' k  h7 _. |3 W+ Y+ C       30 //菜单项的位置
! p- T+ L) s* c! S3 p' o; f& n# \: l   );' b% r; j8 }' j
   ```
  o6 q3 h3 Y  L% z5 @: J4 P5 B4 k
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
. F3 d1 H; d" N* `1 Y+ i+ U1 W- d1 o- G5 x
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:4 k* G+ p5 U. l/ j$ Y% `& I7 P
8 u2 E, Q+ X6 A( i# i( U( [
   ```7 X# J0 L, S+ H% O5 z
   function render_site_wide_notice_page() {1 I% u1 R% w' d, f8 p
      // 渲染后台页面内容9 {, x$ i8 Y# Z5 b. B
      echo '<div class="wrap">
# Q' p: B4 x, i: V) V8 n7 K          <h2>全站公告</h2>9 _5 B2 N% x) ?! e4 k7 K4 ?; \
          <form method="post" action="">
6 r( \4 E2 r: U5 R; ?, C' j              <label for="title">公告标题:</label>- n7 \: _# m1 e4 B1 D) d) c
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>; k% f+ h" `3 C
              <label for="content">公告内容:</label>
3 Q' j3 m8 _1 `8 i$ x              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>! O7 q9 ?2 t, X( q9 j* A
              <input type="submit" name="submit" value="保存设置">
* s" k! j' n' k0 N9 t          </form>
( y# H7 x$ G* T; b' Z      </div>';
3 G/ x9 j8 c# f
8 @/ W. |9 `& {4 Q7 j8 i  ~      // 处理表单数据: D, E7 M8 i" z* B0 h6 O( w0 i
      if (isset($_POST['submit'])) {+ M# q% J% m5 s0 m2 l
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));, L8 G% {2 Z' K  o: a, m
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));/ D# ?; u$ ~$ |
      }2 j0 r8 [, }4 ]0 W, L5 N
   }
' V' v( K" i* \7 h7 U- A! x; b   ```
6 P+ \4 x  d" m5 L0 ~* O# i& f# K7 x1 N. N- _  j5 v8 s
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
* o0 t5 e$ U) T
; X% y% W) V- W2 v* \3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
0 w$ B, W% Y' O! Q) w& C
; U6 ^. K) s) c8 g( T% ^$ Z   ```( y: A( l! e3 s; ^
   <?php
* F5 [5 z$ M8 t# n, {* z% G   $site_wide_notice_title = get_option('site_wide_notice_title');0 k9 I# ~) j% |) I7 W, L
   $site_wide_notice_content = get_option('site_wide_notice_content');, O0 _4 m1 l; F1 \' D, h% g" u
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
* R6 o% _3 M3 e! I+ W5 @       echo '<div class="site-wide-notice">';! H: m* P* H' j& X, j
       if (!empty($site_wide_notice_title)) {
, i5 o6 o" r% d* X7 m% _  ^           echo '<h3>'.$site_wide_notice_title.'</h3>';
% j1 Z* A2 V& M1 q% L) a       }/ B. m$ p3 P3 s7 Q3 C; H1 G
       if (!empty($site_wide_notice_content)) {
& b. z( X! m7 L- S2 {* n           echo '<p>'.$site_wide_notice_content.'</p>';
. o* f& ~/ }$ l) o# q1 N       }
: h1 y# S( c5 Y2 H. C) e       echo '</div>';
6 A% }  B9 `1 p1 r- \, Q   }
, E6 z; ]! p* }7 x3 G- ?4 m, i   ?>
9 D3 v- V! U$ h   ```4 A0 ?  X" I) n8 }

, _/ n. K& k7 [  |, B6 m; ^   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
# y5 R; s" f! m0 k( w2 b$ W& K3 \; V: |1 L$ ~
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?  d9 {: _3 ?+ j1 O

* x9 ?: l2 O+ C8 a" W6 X您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
$ X. L# }% l) a, n- f1 @) x& I. d% ~
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
! S4 M  R- a1 \
  Z  O! A2 T5 l2 [0 q. o```" g8 h, J# O' O! r1 ^' I
function create_custom_post_type() {/ z4 l& Y; z9 A- M% _) W) H0 Y
    $args = array(1 O4 d  ^: h; k. [3 p
        'labels' => array(
8 l% i, _; A) O1 R8 y" I( }. Z            'name' => '公告',
2 `+ x; d; B( D- j$ t            'singular_name' => '公告'/ z9 M$ }- l* J8 r) _
        ),
( W2 n& e. J( ?: k# \' ]. \        'public' => true,
! D7 q( e6 W4 k        'has_archive' => true,
" b( t- Z/ ^: V" a5 u# Q5 Q        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
' V" K" o/ R$ z1 m9 H+ x        'taxonomies' => array('category', 'post_tag'),
/ P0 K4 A  t  L( l  x- W, _        'menu_icon' => 'dashicons-megaphone',
: [4 d! j. q6 [' b) ]. F1 c0 R  m        'menu_position' => 5,
' I4 P' g" O- q) M, ~        'rewrite' => array('slug' => 'site-wide-notices')
# W6 ^( g; U! w# k- w0 G' `    );
, K* n3 c3 u: @9 L) J5 q; Y( Q    register_post_type('site-wide-notices', $args);
. a# P+ N+ V/ k( w# N}4 o: x/ _6 d7 W7 O$ q
add_action('init', 'create_custom_post_type');% f- u* I! W' y
```
' e" y# b* _+ d- d# x9 ]0 |" n$ y' n, F3 y( m2 P
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。5 D; B: T" a7 `( R. N5 `  q
2 ^* n/ k5 V9 S' a, ^; p& e! A$ J% C
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
% n$ [+ i, I) i
) d$ Z% {' [/ _' K; {3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
; ]/ Z' I0 i! M+ O9 ^8 F9 x
& e! L1 Q( Q) \, N```
1 J' d) J, h5 y3 }$args = array(4 j) U( `0 o( [; G& Q/ ~
    'posts_per_page' => 3, // 显示的公告数量+ `7 C- f7 k9 t8 r8 j
    'post_type' => 'site-wide-notices', // 公告文章类型; Y* E7 h. }5 T8 E( _
    'post_status' => 'publish', // 公告状态6 R3 g0 c) Y. \- N3 U' `( m+ w, j
    'order' => 'DESC' // 排序方式+ D0 \& u" _" {1 k6 I% T* c( |
);
9 [' E+ C2 g$ W& j! B- A
5 t" w9 S( k% k6 r$notices = new WP_Query($args);
" F7 J5 C! G3 h' X1 w7 }. O" hif ($notices->have_posts()) :; Z4 F6 s& M/ Q3 g7 W, F
    while ($notices->have_posts()) : $notices->the_post(); ?>
2 j2 f: a) |' L7 V0 g        <div class="notice">
  i7 k0 T* x8 c1 d7 O            <h3><?php the_title(); ?></h3>
; p( l5 b0 v3 s( q# t1 Z: }0 ], c            <div class="notice-content"><?php the_content(); ?></div>" Y8 R! {2 p7 B2 m
        </div>
7 y* s0 Q- S2 P. s4 z. S6 B* L- L    <?php endwhile;. r4 _3 M5 ~, V
else :" g4 }4 s4 d3 l* _$ a3 L
    echo "暂无公告";+ a: f- m0 Q- S* X" T3 D: A+ W
endif;8 K4 B; T; b7 Q1 Q5 |3 Z
wp_reset_query();
( ~9 l2 _& T7 l; Y0 N0 `. a```2 m" n* V( A% E* R( U
9 ~# n  u9 B) Y
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。0 D* F* j: d9 H+ {* z  X' I8 h

+ c0 b. x  ?$ X: G( v3 f. n以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
6 |/ V3 ]1 r7 R: \" U1 o1 n. p- B$ j7 u6 j* {
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
  H6 X9 I8 k  ~/ t
: t$ ^! {: u5 M3 f4 G以下是创建自定义插件的步骤:  J- z& H1 h: ?( o- }( {( q
9 J/ a( P* r6 `% J. d
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:2 C! i% R& i4 |* ~. w) U, ~$ S

' l9 m) q! R  `! M( Q   ```
" Q% ^" j7 c- l9 W* ?# f   <?php* @+ V: O1 U- c( {) I2 C
   /*
0 H; u5 @  M9 ~5 U   Plugin Name: Site Wide Notices Plugin! W- c2 V/ l# H2 z3 X* P
   Description: Adds a new custom post type for site-wide notices.) U& r& `  B' v4 g
   Version: 1.0
$ L7 t# C0 d! n1 @/ M! T   Author: Your Name
, d- C; z2 {+ Y   Author URI: http://example.com5 N3 J% s0 s+ `) e$ E
   */7 d) P- d9 Z( B. ^8 M

' l9 T/ u. ~5 b* W   // Add plugin code here...
: Y# i( }1 B; M' r1 O# k/ m& J   ```
, c' K& a2 }2 f' g) j7 S2 d( {- u  q. L% r1 `
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。- K+ D1 ]& a: V: A, O$ s) F/ e) @; ?

1 u* u# M/ T7 S1 l2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:% Q& c+ C6 E- i# k9 D) ~

0 \& a9 N" z: x1 S& v) T- I   ```
( j" Z3 f% h  F9 q0 i3 e6 t   add_action('init', 'create_custom_post_type');# P3 d1 g, ?# h- o
   function create_custom_post_type() {
3 m/ h) E( v; i, }! u, F+ X! X      $labels = array(
' [9 A1 s3 T2 Y7 a2 }3 T          'name' => 'Site Wide Notices'," Z& U+ R& u" u" u2 d2 W& N
          'singular_name' => 'Site Wide Notice',+ C1 `" n0 ?1 A+ P
          'add_new' => 'Add New',
# H9 {$ T* f$ V9 }9 h* b" B. O# \          'add_new_item' => 'Add New Site Wide Notice',
# E: Q6 n, ^3 {0 n1 P* ]" {          'edit_item' => 'Edit Site Wide Notice',
/ ]0 w) E" o( Q8 r( t+ O          'new_item' => 'New Site Wide Notice',* m( U8 t( O6 g# |" ]" W
          'view_item' => 'View Site Wide Notice',
2 A7 x% D' d" `+ ~8 X          'search_items' => 'Search Site Wide Notices',0 A( G2 x! A( k) K# w
          'not_found' => 'No site-wide notices found',
+ O. @4 E7 a# l+ H9 J9 n          'not_found_in_trash' => 'No site-wide notices found in trash'
/ E9 p2 I# z3 `; _4 K$ ^: {      );# q  a% W2 i( z2 q
" ]- P8 P2 S2 Z6 z& [
      $args = array(
7 A) |/ m" ?  t/ b          'labels' => $labels,
! K' L4 G0 J+ f3 u; a* v7 q          'public' => true,' }) W) `* R* S# A
          'has_archive' => true,- U* {9 I- U0 e; A$ d' G4 d
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
( r" ^/ e! I8 [6 l; d5 z6 g5 H          'taxonomies' => array('category', 'post_tag'),2 v4 s$ ~3 ?+ ]* F# u. F' D( Z
          'menu_icon' => 'dashicons-megaphone',7 y9 e! d( T' [% g' X4 ~) @
          'menu_position' => 5,, h: U/ K4 A: l
          'rewrite' => array('slug' => 'site-wide-notices'). i; c( U) Y, y" _! M
      );% c( C4 _! h2 E) ?4 d
* V% X" Y% V. B2 V& u8 \+ I# k
      register_post_type('site-wide-notices', $args);
' f2 _# G. `- `& G5 J$ Y( [) q; i, ^* e   }7 i) ]) v+ w5 Y; l. Q
   ```
  G% s1 E$ F' p, J: {
  A# x& d7 y( j4 k; p9 Q$ ?- S: c+ i   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。- J- h% u( V8 Y, j9 d7 H
1 M7 T; k8 v) k( J- s
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:7 ~# ?1 q" X  h; J) J7 b
& R' E- t$ r0 h2 j! Y1 c
   ```% R2 e" X1 K- c6 h0 ]! P1 q8 Y
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
: \) Q, x# q7 S3 ^( T+ c# O/ E5 k   function add_site_wide_notices_boxes() {
5 s1 U9 r  u% V$ L" H% m! {2 m      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
. e) J* `4 Z; ^: h6 d4 t   }
- `& v% _* w: u1 a5 S) [
: k% S3 O$ F' b' K9 L* d2 M   function notice_details_meta_box($post) {
4 M3 F$ V/ V- g, N( t+ G1 _1 |      wp_nonce_field(basename(__FILE__), 'notices_nonce');! o/ N5 W0 q: I9 W" A2 g
      $notice_title = get_post_meta($post->ID, 'notice_title', true);9 K0 K$ h( m* z& c- j; ^
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
7 s0 Y2 X* h' z0 H5 g6 ]+ C4 Z      ?>: D1 U6 i" D+ }5 C' l
      <p>4 w, B: T+ m* X3 b
          <label for="notice-title">Notice Title</label><br>
) Q; u' s1 C. {0 k          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
0 Z- Y! u4 H* W3 i      </p># u# M* g2 i1 R- k( X
      <p>
4 @$ ?( i. }/ @8 z4 j4 X          <label for="notice-content">Notice Content</label><br>
+ h. e- f* ?8 n" u          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>9 r+ @7 W+ F( `2 K$ \7 F- U( c
      </p>
, V- W, m6 P8 U1 J: s6 c3 f) D0 M      <?php1 w0 w7 g' Y* }5 ?6 b' ~
   }
, f6 I, D# F0 H5 @
# a" d) ^8 y& H! P# \1 r# Y6 p   add_action('save_post', 'save_site_wide_notice_meta_box');
( F$ C8 {' Y% w8 G4 _0 g+ p' {5 I   function save_site_wide_notice_meta_box($post_id) {( G6 S6 y( Y$ X5 C) j5 g. k8 N
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))/ {, T. z3 W' Z$ _8 A0 ]; f% G2 l
         return;
/ u8 k: g3 a5 M  m! H' Z' R      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)' d  s6 Q5 W: H; G' o
         return;5 o+ r( V. }+ s4 b0 h

5 V+ Y% k( a* f      if (isset($_POST['notice_title'])) {
) Z4 w, e6 ]# B, Q          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));+ w) F: O" y( x, _
      }
8 C" o4 p  B5 @. s' v! w5 X      if (isset($_POST['notice_content'])) {
! t; n3 ^" J( j  _% ?          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));6 [; K$ O6 s, |  t4 J
      }
& C( l4 E. o( h- j" I   }' \2 U' L! _# V+ }
   ```
% C. O( p2 n: c/ v, w/ O# _6 x4 u7 D  t3 r' J; L
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。# D1 e9 G0 i) A5 L+ r

( x9 p* _" J) W4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:( ]5 G3 S% |" J  b8 w4 x
$ [' {$ u& D  ]' v- e. @
   ```
5 T: l, d6 I" z8 {  Q. v   $args = array(# M' K# x; \$ Z  M4 f
      'post_type' => 'site-wide-notices',& p5 G7 Y9 ~, j; ^; R6 O! s
      'posts_per_page' => 3,
" [4 O# ^+ |6 A" ]3 X* h" T      'order' => 'DESC',
# B9 r7 e7 ]- f! c* x0 n/ H      'orderby' => 'date'# O# Y2 B& e$ f: |
   );
6 p, j' @7 {/ R, X- V9 D8 z   $query = new WP_Query($args);5 I7 [' @, V) [) S
   if ($query->have_posts()) :
5 x* y" e4 W2 s8 R3 {% w) l      while ($query->have_posts()) : $query->the_post(); ?>
1 x) U" ^3 X: I- |# C% t/ U          <div class="notice">, x* t% y% D3 M* D, a
              <h3><?php the_title(); ?></h3>- x& L* \. F4 C) o0 ]  w; q
              <div class="notice-content"><?php the_content(); ?></div>
! c7 ~. R1 ?2 X8 O3 h8 L          </div>% |% T. B9 H. |+ R9 d) n0 I( J
      <?php endwhile;* x2 y5 I5 \" [5 f! A! k+ O& s
      wp_reset_postdata();) R) N+ |) |6 A- x5 q7 q6 z
   endif;  e# P1 k4 K' y# D) c1 J! u
   ```
; g* L" l/ R! }: j+ w) p) d5 O
2 f! X, P! A! ~6 ^& n" M   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-13 14:58 , Processed in 0.012347 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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