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

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

[复制链接]

335

主题

520

回帖

3431

积分

管理员

积分
3431
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
8 B& X% ^, c, [  }0 F& g+ N3 Z2 j: n( Q( R; P8 y( I
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
! D( v0 v1 J; a: N& U5 d# o9 {5 {+ G+ u2 y* g0 C7 q0 i' f7 b
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。  O8 U; s8 Q1 ^& M  f

& V5 ?4 [6 B& \; L, n( D" Q3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。4 h/ p0 \& O0 P, n4 s$ ]/ ~. {" h
& L0 `: w, h- T/ o' ^6 S
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
) |8 u. i5 M& h* D& o" U
0 v& ~9 H" ]0 P注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

335

主题

520

回帖

3431

积分

管理员

积分
3431
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
2 [' `+ q/ S: ]  V% Y  E2 h8 F" p7 h) w- U3 \" c7 x
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
1 Y- X' I- Q' `2 }. c( v6 Q% _' |7 @) \
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:# u7 w* l$ u' ?( l  i, h9 z
- ?$ [7 _( R. p6 K6 C! S
   ```( }5 i7 ]  k5 E0 q* D
   add_menu_page(
0 S( J+ H  u2 x! t4 v9 Q& x1 |, P       '全站公告',, h2 P0 k( _0 @3 [: c1 o. z
       '全站公告',  ?- y! o+ B& C
       'manage_options', //需要的用户权限( g: G) p5 M; f- z; i5 d
       'site-wide-notice', //后台页面的 slug5 @  D9 E, r/ j7 T; ]
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数* J8 G5 y. I- z: c, K9 d7 |  U2 u
       'dashicons-megaphone', //用于显示在菜单中的图标
; ]8 ~3 c0 H$ y6 o. E% ?       30 //菜单项的位置/ U7 w+ B4 W4 C& J
   );
6 c+ b9 w0 B- ?9 L8 T/ G   ```
3 s$ r+ H$ _: @0 {/ ^: k2 _& t5 N
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。3 r/ T: _% a. x( `3 D, q" ?

# S( u6 @, t7 a5 N2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:* \6 n5 d6 b2 D* ?, [
7 x  l0 X7 ~) }  _. A- k+ l
   ```
0 w+ X7 y% w1 p1 B2 ?4 S9 m   function render_site_wide_notice_page() {% j. J* b; B7 R4 ?2 W
      // 渲染后台页面内容
. v+ X/ g: e' ^* l      echo '<div class="wrap">, C/ C; t; ?3 i8 G+ v  {3 e8 _: I2 ~
          <h2>全站公告</h2>  a- q+ B, a/ m( n2 d8 i1 `* c. }
          <form method="post" action="">
$ S1 H1 m! @) N: p1 e7 s/ E/ M              <label for="title">公告标题:</label>9 _' [. q& H2 q8 _. _6 b7 L+ ?
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>$ J" H" K( K: r7 {
              <label for="content">公告内容:</label>5 W7 k7 U2 V6 u: s. K2 h9 J
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>- I( ]8 ?' d; W8 a; K% X1 R4 ?
              <input type="submit" name="submit" value="保存设置">- \8 S" i+ R, E) Q! X* E
          </form>
5 z9 b7 ?1 s8 f/ B      </div>';  T  x; `9 P+ o: f1 {
% f/ n7 U; t0 P2 O
      // 处理表单数据
9 u3 |8 G( F4 v1 d3 T      if (isset($_POST['submit'])) {  ~" z" `# s9 _" S1 b+ |
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));& k! h5 Q1 p- b; e
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
& K8 f$ w1 M. j/ A. k      }) {% L; i6 ]; R) I1 X( y; h: Y
   }5 Y8 N; c( ?0 P
   ```( g+ o6 z; ~' ~% U
  o0 t% E- Q3 K
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。# e& L; ]$ w3 F- @' D

( r+ |- t, `1 \! B3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:& p) g5 k) |( C
- J5 a3 e  s8 e9 N: A' q& W6 ~
   ```/ R, H8 d7 {/ {
   <?php
+ y" }8 I, T4 }/ f: o9 V   $site_wide_notice_title = get_option('site_wide_notice_title');) t' Z* H# q" S1 \% ~
   $site_wide_notice_content = get_option('site_wide_notice_content');
. \6 v" V* ^/ n   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
( I8 v% f* U, s. d; W* R. C: y       echo '<div class="site-wide-notice">';! ]1 y. Y/ ^9 @; K$ r' W& i* g- w& O
       if (!empty($site_wide_notice_title)) {, W& d2 _2 z* `- o1 u
           echo '<h3>'.$site_wide_notice_title.'</h3>';
$ e+ q$ t% w- v( e4 k2 w       }
& I6 h4 u# W% y0 a, l# p( n1 E+ N       if (!empty($site_wide_notice_content)) {7 O! N$ j/ k9 j; b& x) ?' R& n4 y
           echo '<p>'.$site_wide_notice_content.'</p>';9 O8 }/ K( U# W2 d8 b/ b! R& p- ?
       }  O6 y" y/ j9 M! E' I) a7 d
       echo '</div>';: f4 Z- N6 K; s5 G
   }
' q: d2 N. Y6 s7 Q   ?>, e# s# u6 E+ z3 N9 [
   ```
; ]5 d1 {3 b' V  k2 I# c! T. P* |+ `  r9 M, N0 |+ O$ c& ?3 E
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
, f, P& |3 y5 P+ y
2 U& M! f" P4 r, R- c6 k请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

335

主题

520

回帖

3431

积分

管理员

积分
3431
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?8 n- R# K+ T+ C! n* q; x
1 W; t" r7 r" @8 ?
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:* N  c' B& O% p, X5 P
+ t& v# [  ^& m8 Z6 P6 f: _) {: E
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
  ~, C" ]1 w, U4 P
& `  s% Q: u$ a% E, @9 Y```
& z1 J, {" ?6 S6 l4 Gfunction create_custom_post_type() {
# m1 z. Y- ]* ?    $args = array(
5 Z6 a7 s0 f% ?  h6 w. o! Z        'labels' => array(
& }" C4 H7 S6 U1 e$ k8 w  w            'name' => '公告',& p, ^' Y8 P- h# ^# h7 U( R
            'singular_name' => '公告') `. o% @% Z6 x4 O7 b5 B8 V/ @- k" q
        ),  j- {9 ^0 J: G/ d. K3 T. \. J; ~( `
        'public' => true,+ ~! U( f0 `; ]/ J; ~" @$ E7 j. {8 {
        'has_archive' => true,5 n5 S, V9 j9 ^% y9 }, x# h: s! G
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
( N! D6 O; e: e        'taxonomies' => array('category', 'post_tag'),8 D- ^7 D( x# j5 W5 K. x' ^9 I
        'menu_icon' => 'dashicons-megaphone',. \) B% |( ?$ i3 F1 W) g) v6 E" L
        'menu_position' => 5,+ C5 B6 E: G6 S; p3 y+ d" J. H7 F
        'rewrite' => array('slug' => 'site-wide-notices')5 u0 U2 M7 `6 d5 `
    );
; ~; X5 h9 ^$ q' ?' Y0 Q    register_post_type('site-wide-notices', $args);
3 \; w5 e7 _$ t/ H. Y6 |" E/ ]}
0 _" u+ ~1 q3 Y$ g) badd_action('init', 'create_custom_post_type');5 o( w% _# `( B9 }
```
2 a9 h% N+ s$ d. ^* z& u& _% L! E: m% N! ]9 i6 P
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
/ I6 ?6 _! D4 L) n# f1 y$ n3 x" i7 ~; y" u* x- q! r$ H% Y6 K
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
$ c) R: n$ \5 c* `: c* \) Z; b% P+ i. L! {4 O/ M
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
! A* m8 ]2 d( U2 [: C8 G  E0 \
) c7 Z2 T% H! H( I4 m2 ~```
4 E) {, v9 E. F$args = array($ @- m3 w. U* ^1 j# [) N8 R
    'posts_per_page' => 3, // 显示的公告数量
8 n! {6 u. i" Z$ w; A1 r. _    'post_type' => 'site-wide-notices', // 公告文章类型
" p; O0 W& q6 ^1 p3 `" \6 c3 N# g    'post_status' => 'publish', // 公告状态) Q+ u( Y; _2 b
    'order' => 'DESC' // 排序方式
' P2 j) n7 d. F( q" o);; c: L' [9 Q2 D
; {  h/ A  R) b$ ]
$notices = new WP_Query($args);5 J9 ]* c7 n8 J0 r6 b3 T; i
if ($notices->have_posts()) :
: {# P" G7 e8 i; |+ Z    while ($notices->have_posts()) : $notices->the_post(); ?>" h; I5 @) }& C* t
        <div class="notice">
: z$ s8 E; L! A5 v9 J            <h3><?php the_title(); ?></h3>6 \) S, T) T6 H$ ^/ W& r, d
            <div class="notice-content"><?php the_content(); ?></div>
, x- x# T, U/ Z3 o        </div>0 H. P* g* E9 h/ d, t% x% b* K& V
    <?php endwhile;# v, ?; w; C3 H1 ^; B& f
else :! V( K0 c) }: a: O
    echo "暂无公告";
" j* s+ n, d/ N4 Uendif;. X8 Z, e% u/ Q1 q. ?
wp_reset_query();
7 p; x1 U3 {/ M/ X6 g/ x. C* v: [, j```" w& b4 u3 Y+ `4 M  t/ P
  Q* }# a& Z7 f8 _) \) s
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
2 u1 Q! ]) Y. X6 h" B# O; s- X6 Y$ i4 {; c8 G1 I
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

335

主题

520

回帖

3431

积分

管理员

积分
3431
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?: O- S  [9 ?3 H, w$ t4 P, |
8 \7 n8 E8 i/ y% ^# G3 V
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
$ T+ `% K/ I8 b! r4 o7 m" |/ \  }6 X6 j. A; i0 x2 _& l
以下是创建自定义插件的步骤:
2 ]0 r! [3 ?9 ?
9 c$ Z& t8 q* S3 ^5 \, J- F1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:- X, c; `: U9 ]6 z  D3 i" o1 K
" _- h& e  y* K8 r7 Z' k' Z
   ```
* ?1 ]5 w4 |! b   <?php" z  L1 w& f% P' H$ U
   /*
" _+ V0 ?, O3 [4 k/ n   Plugin Name: Site Wide Notices Plugin* F' L  v/ b& {1 C
   Description: Adds a new custom post type for site-wide notices.
, y, k2 P  g9 l  `% V7 z2 o& c: ]   Version: 1.0
/ o+ _# u# K1 l   Author: Your Name
: V& y% g5 ~7 g& [   Author URI: http://example.com8 D( _6 u& I; W% \( i, X9 h
   */
* L8 e2 K! |( q  G: O& y6 b0 n4 w6 a0 f: s2 C+ ~, i7 L
   // Add plugin code here...# A% ]% F: D8 u( m/ X: e0 L
   ```  `% L' O$ [4 ]" q

: A( E5 {3 w3 D   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。8 q, s( K/ R. B) Z

$ y% X3 D7 m  B2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
, c/ E! J. Z- I! z
0 u0 A/ d4 [" w6 D4 ^9 Z   ```
1 L" ]4 j* @( g/ u, U" g) c/ E- v   add_action('init', 'create_custom_post_type');! k9 j  H  ?/ `: Y9 p
   function create_custom_post_type() {
$ Q2 Q- N' `, A      $labels = array(7 J" ~1 {* q9 V! h. }
          'name' => 'Site Wide Notices',
; ?+ Y# q5 w( E" J5 U          'singular_name' => 'Site Wide Notice',! a! v* U$ L) A, l6 M6 {( U4 s
          'add_new' => 'Add New',
. f; H5 d9 {- e          'add_new_item' => 'Add New Site Wide Notice',7 y* ?* o1 p2 o, R
          'edit_item' => 'Edit Site Wide Notice',
) N% m' K, t% c9 w* e          'new_item' => 'New Site Wide Notice',
* v1 v, q1 R. Y          'view_item' => 'View Site Wide Notice',4 K! P0 R0 `  ]  `
          'search_items' => 'Search Site Wide Notices',
! g# I. V7 v  A3 u( |) Z          'not_found' => 'No site-wide notices found',
6 W! [8 O& Y( _8 V2 O0 l* p2 n, @          'not_found_in_trash' => 'No site-wide notices found in trash'
( W. ^& w7 n  v7 y      );
9 o9 n  a, F1 A( D  j
( p: K0 e  S+ T- I% f' j- ^! R      $args = array(. j8 [- M$ e8 b/ e/ S# [' z" ~
          'labels' => $labels,. E7 q: ]7 P, l; U9 ~- L/ W
          'public' => true,4 L  c$ A2 u! w; J  [5 Z) [
          'has_archive' => true,+ V; c% ]$ R( a/ @$ C7 m  e+ t
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
, K; n# r4 s. E9 t          'taxonomies' => array('category', 'post_tag'),
* o/ z* d0 t1 \" ]% Q& ^8 b          'menu_icon' => 'dashicons-megaphone',* A' o' ~* F  Y; u9 H* c
          'menu_position' => 5,( L1 q( n) K- A1 {8 w; c% R
          'rewrite' => array('slug' => 'site-wide-notices'); W1 g' f0 B; A+ k
      );+ Z6 P% C/ G# H
$ r* u2 S1 }; ~" y' K
      register_post_type('site-wide-notices', $args);) z8 U3 t) Y) H% Z
   }
5 O- |6 L) |( {1 J   ```8 h; k% U5 _- P5 R# }( u

2 r2 E8 ?3 U% Z% W9 g! M4 t' C   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。) T+ J9 I. k! L, f7 b- c7 O

0 P5 \5 O% X+ w3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:+ O+ G. N( r; U0 |- V* j# G, s. p
9 n& E3 f$ o' x: j; r2 U
   ```  P, V: T; ?1 _
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
9 `, G6 j9 x& o- _   function add_site_wide_notices_boxes() {% J6 ^+ w$ j$ _( e' Y
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
3 o  h; m6 N( N   }) S& \8 `% e% H# g4 S

# t) X6 {2 m0 b# Y4 V9 C) s* ^   function notice_details_meta_box($post) {. ~& f) L! V9 R5 K: q
      wp_nonce_field(basename(__FILE__), 'notices_nonce');
8 J8 Y2 `( F9 ?; _      $notice_title = get_post_meta($post->ID, 'notice_title', true);( w$ D; r0 n& _& y. s
      $notice_content = get_post_meta($post->ID, 'notice_content', true);# V3 F) b) ^9 n) r: d
      ?>
" z" R! t5 |" Y* E' d; y# S7 G      <p>7 Q8 s& O% r* x; \2 P, _) `
          <label for="notice-title">Notice Title</label><br>
3 W/ Z9 X& `+ `8 i% j          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
0 P7 d- j0 l; }# N2 @      </p>
& V& ]9 o$ A. Y1 Q      <p>- h/ e9 s7 b' F' ^; }' \: Q
          <label for="notice-content">Notice Content</label><br>
* J* X! r2 \' r: P          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
, m* s' Z  J9 z& ]( n      </p>
  H; c1 U2 H0 v3 E, N      <?php  {0 }7 j: ?* d( F2 t
   }
& d: F6 `5 |1 X: ~$ Y$ I9 t+ ^! y( a% a8 N; E8 g
   add_action('save_post', 'save_site_wide_notice_meta_box');* G" X# H% v$ p& H/ y& L. b
   function save_site_wide_notice_meta_box($post_id) {' [( B9 O- `9 u6 D
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
! w& ]8 f3 T% @/ u         return;
3 y& ], t9 E; b2 N+ W; k      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
- u$ S) a3 t/ J4 r# Z         return;; }" d6 F2 F4 J8 i! ?( `

( P4 A8 Q( D4 M" _0 t" R      if (isset($_POST['notice_title'])) {4 h4 i, d& t; z* K3 h4 g
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));% S4 w% |# o" _: P
      }
3 ?6 `+ U& x  }* ]. g( ?9 S      if (isset($_POST['notice_content'])) {1 f3 n5 Z+ l& ^6 {
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
) t- F8 G' o. R      }2 l9 @0 h! P3 H% }2 ?- }% F* I
   }' o1 _  d/ C% G2 t4 V7 R
   ```
: R8 _3 r3 k9 R3 _5 J$ w0 n2 M2 ^
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。) B! @% Z8 @6 m) X2 ]

' }/ I4 f# X0 a: ]# p4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:) l- r3 `+ }( j8 B" }
$ ~2 L( N7 R4 C& m% q1 `5 q% b
   ```
4 }  z( E4 ^0 w% v3 q6 w$ e* f   $args = array(5 Y4 k+ ~+ Y# C$ V/ B& V# _5 d
      'post_type' => 'site-wide-notices',. _2 u- O+ k5 K. ^
      'posts_per_page' => 3,' Q6 t$ I0 I) H8 a2 d8 I
      'order' => 'DESC',
" X, C7 P3 `9 b0 j      'orderby' => 'date'
: P3 p3 A$ [: o   );7 [7 p) P7 Q! [' N" ^
   $query = new WP_Query($args);& i7 D" W3 G$ H3 ^
   if ($query->have_posts()) :
8 u; }' M& i1 N* o7 y2 n: W      while ($query->have_posts()) : $query->the_post(); ?>- T: t1 r! V! F5 W3 ^) ]
          <div class="notice">9 c9 X4 G: g/ G% T2 v& M$ [: @
              <h3><?php the_title(); ?></h3>& _6 ]+ @. a1 N5 ~, [5 f" R
              <div class="notice-content"><?php the_content(); ?></div>4 j: b2 T7 i+ S9 i7 C' M
          </div>: H0 k; n/ p5 O- }" @
      <?php endwhile;6 D4 g8 F: m5 K2 _0 B7 s
      wp_reset_postdata();
- f6 O- U6 |: q8 e* ]5 U   endif;
6 h- s) Y5 k3 V   ```0 G) W5 Z+ L- b& R" {
, O9 z1 Y4 \. h- o1 n
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-15 17:17 , Processed in 0.084177 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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