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

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

[复制链接]

332

主题

513

回帖

3376

积分

管理员

积分
3376
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
. x5 }% G2 r5 _
$ h/ O% a( w, M& g4 m- [1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。: e6 L9 J3 q% h4 E' K
$ g6 B+ U( C, W
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。7 F$ j6 K- i. \# L

: U: u/ n& p! A$ D9 W3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。! J" {# |7 I3 B, h: n; ^7 p

) k# D# P9 c( d4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。2 z! x4 S- D/ n; s% D
- s% H2 N- {( C) _. f& |
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

332

主题

513

回帖

3376

积分

管理员

积分
3376
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
% y, P3 B  v! ^3 A# d) {8 ^" r% w0 _/ C; T+ E- e' B( N
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
( ]8 Z; a* l5 S7 {( \; _
& o! R$ q* Z0 p8 N( J4 ~. W1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:# e7 B& y8 Q( l# z& \+ T# k
( W4 w9 j8 }' v1 l0 Z9 i
   ```
2 ?, W8 Q4 P( r2 C  c   add_menu_page(6 U& o& T, C. w7 u! T9 J2 |* e
       '全站公告',
1 B1 l. R. M1 h, j% Y       '全站公告',& Y1 H! K  Y2 a8 h5 ^, }  w9 {  _
       'manage_options', //需要的用户权限1 Z; m6 L2 i/ y; x
       'site-wide-notice', //后台页面的 slug
* u' D' D/ ?: h       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
- q4 q9 h; b  o2 d; q" b+ R3 y9 j9 i/ I       'dashicons-megaphone', //用于显示在菜单中的图标- g5 E& M5 c3 F# r
       30 //菜单项的位置# p, ~* Z, ]4 j! M2 Y: M- _
   );
. H1 @! Y+ S0 l1 C. o' y9 ^   ```* d! T9 B- {0 U/ ~' U& j! n
. X- T- ^4 c( F/ P" Q% [
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
% a. C6 [! b9 i: ^( a3 V; _
5 g7 R4 B7 T7 ~. \% U% Q! a2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
/ q, O5 `$ K& p, M; _7 L* O2 P8 a5 D' A- C
   ```
: _1 |5 J1 @8 a, w   function render_site_wide_notice_page() {+ @. m8 W( M$ V; w; H& J, U
      // 渲染后台页面内容
( O$ x( \, p1 T5 v$ H      echo '<div class="wrap">
* N/ A: a* h- `  h2 |          <h2>全站公告</h2>) g' E) O7 |- F3 O  W: d
          <form method="post" action="">
( v" Z$ l0 T1 R( A) O2 {& L+ _              <label for="title">公告标题:</label>
$ o, W7 B. B7 _/ W! E1 m, u              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
1 G. B6 s3 Y7 f$ c. v              <label for="content">公告内容:</label>
  p$ X! W8 J# e6 }5 ^& u1 L9 K+ n+ k  K              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
" b3 q' t7 m6 S: ~; j              <input type="submit" name="submit" value="保存设置">/ i# c! Z3 p9 Y/ t6 P
          </form>
$ ^  E1 _5 ^- U3 {      </div>';) `$ M. z! A* D  a2 x4 W( a

1 F  O8 S& S% F+ D      // 处理表单数据1 a1 g; l: D( s7 v* x
      if (isset($_POST['submit'])) {3 U3 E: p& X" c8 N$ r
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
8 D; [7 b, @; m1 `/ D% ?          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
6 D1 v/ v: f; L4 \      }. G2 T7 J' A2 R4 V+ ~' X
   }
0 z) Z' s7 H& e   ```
) D) z2 W! m" e0 h/ i+ b: o- S2 s$ P& i1 m' b6 e
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。; C# }1 I7 H! Y6 w: @5 [

' \! c+ z; C0 X: `3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:( }! |( a) N% N
5 a( H, E+ ]6 J, i$ s/ T# W. C3 t; d
   ```" \  C5 y  A  O/ Y
   <?php
( X/ Y# C& K7 o$ Y% q   $site_wide_notice_title = get_option('site_wide_notice_title');
$ j. \' l7 ^" V4 w4 @8 ?2 M   $site_wide_notice_content = get_option('site_wide_notice_content');
; J& X9 |# L2 z& a) w' I   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
5 Z; o2 \  P& k9 i1 R6 \       echo '<div class="site-wide-notice">';
0 v' @' V& {; R$ w5 ~2 L# e* V       if (!empty($site_wide_notice_title)) {2 e+ r+ L0 {! B5 ~
           echo '<h3>'.$site_wide_notice_title.'</h3>';
5 C0 i8 J! s$ j8 \4 E       }2 w0 w( Z: M8 p& N
       if (!empty($site_wide_notice_content)) {
$ K: N: V4 P! [% `. z! I! m           echo '<p>'.$site_wide_notice_content.'</p>';
0 j7 t! F$ ~2 i$ r       }
( H& \4 |( z: @/ W; v# i       echo '</div>';
( C& _+ w) Y1 Q' K- u   }+ k4 T1 u( g, l  W9 D- b
   ?>
& y) d" ~, X( O+ v: V   ```* F: \! t5 `( H# e, D; u0 ]$ G' ~
/ _5 Y. R9 t6 [" n9 B
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
& a8 X, Q: B4 y& v$ }6 M# F2 p" J: ]2 ]3 X, H2 b6 }  m  ?' p* \
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

332

主题

513

回帖

3376

积分

管理员

积分
3376
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
6 b, S5 a9 w; u) i6 i  C4 ]" r1 r5 W/ y
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
9 ?: z+ a3 T( j3 [# K
7 X1 R/ g9 \9 [: B1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:) l" d, Q  [8 R7 u) ?% l5 i
8 e% D! R, C( F7 s( ~2 s; W" X
```0 ?0 o7 i7 n9 B6 u0 L. m' H8 v4 ]
function create_custom_post_type() {: t  j* M9 ?2 V! \
    $args = array(
, s' C& }9 Z* I  h2 O4 C        'labels' => array(: f, ^: {6 L( K# m
            'name' => '公告',
; c( K  Z1 e3 e# B& i' p- r            'singular_name' => '公告'
! {; W6 B8 o7 C7 @' f! g        )," [8 l. s6 J# e& ?; w5 c
        'public' => true,
/ N9 f+ n( N. M5 ~' e( Z; j        'has_archive' => true,
# v$ m( d0 s3 ?1 P2 f7 ^" }        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
  Z$ W8 k( v3 ^! ?; B" S        'taxonomies' => array('category', 'post_tag'),
: K# c3 E$ J- H& {        'menu_icon' => 'dashicons-megaphone',# o) a1 F% h  p) x: ^
        'menu_position' => 5,; M2 d  U% f, @. D8 M* E
        'rewrite' => array('slug' => 'site-wide-notices')
8 e. j: _4 U5 k( P: ~9 ]    );% j% S9 q+ |* F8 R; U" o, f
    register_post_type('site-wide-notices', $args);9 q/ `% U" J9 ~) B6 [% ]7 j$ K
}
5 M; V( B: y* n7 Vadd_action('init', 'create_custom_post_type');( o9 T% v( s3 d- p; s2 x5 D  L
```* y) Q$ p, c9 x: q( G: r
" d% U1 N& U1 }0 B$ Q: ^4 [
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。- J% V8 t* o  a8 w5 [( G' k

" ?: K, p; ~# i2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
& k' H& E  Q- t! r! P3 V& h0 \9 d/ l8 w+ t
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
/ a# D# g/ _' f2 ]9 @0 Z; D' T: k
2 m& H# r- H9 |6 n$ q. V```0 q! t2 _. s8 H7 B
$args = array(4 z, F7 ?0 m# F3 x! J/ V# V
    'posts_per_page' => 3, // 显示的公告数量" V* a3 ?- _7 A# r) h- X( Y
    'post_type' => 'site-wide-notices', // 公告文章类型
6 n/ |% a5 f: p7 y+ `7 l3 p    'post_status' => 'publish', // 公告状态
( Z0 ^( F# D5 g. l+ o( `    'order' => 'DESC' // 排序方式1 k0 b6 u& G) h% a- m2 B
);
- V6 Q; t. w/ b2 o3 K( Y9 F0 r1 g: g. c$ Z% y! K- d$ ^
$notices = new WP_Query($args);8 X- q1 Z7 \3 [8 E" h* c5 C
if ($notices->have_posts()) :; y& _7 Y' x5 i- e5 t+ c" H4 D
    while ($notices->have_posts()) : $notices->the_post(); ?>
9 Q4 U! F& W! j7 }1 c        <div class="notice">: I* {9 p  C+ z8 }3 P- H
            <h3><?php the_title(); ?></h3>
6 C' O3 p/ y+ ~- s* P$ P" y- h            <div class="notice-content"><?php the_content(); ?></div>, y+ B2 U9 k; r% N& i
        </div>
8 Y" [' b1 n" U/ w4 C- @; R5 X    <?php endwhile;
( c8 ^8 }5 M9 f9 P2 ielse :
. F( ~1 \/ t, y7 n) d    echo "暂无公告";
' \1 R, S) i- R- uendif;' \/ |  d1 i% Z2 z; ^2 k! L
wp_reset_query();5 X! [  i3 O4 n; A$ }1 `
```: |  U; n( Y1 n1 k  @, s
( v7 ~6 a+ m) R$ L1 [4 u
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
+ z1 X: x3 x$ u& M/ A7 T; f: Z; H: }+ C4 f, E  i
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

332

主题

513

回帖

3376

积分

管理员

积分
3376
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?- ?) g. [; ?$ b2 f- x3 V1 g

+ h2 k+ r( h. g) a3 D如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。) p4 k! I9 @' v

6 V& ]8 t  Y( \9 _以下是创建自定义插件的步骤:
1 R. z0 t! F0 ~# y$ R% K) k' o
% [7 P: T+ f1 X) i0 h1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
  L8 r9 }) `+ E& N3 ^7 w9 E
, p) }& |% L% s2 K: P! B% M   ```
/ L5 {& H) W8 {% C, S% {6 `8 [   <?php
8 L. L9 B4 G7 Q% Z   /*
9 \5 _+ u" k- R/ d2 `2 [* s   Plugin Name: Site Wide Notices Plugin
/ P, h# n. m% N0 }1 Z- U   Description: Adds a new custom post type for site-wide notices.
; z% c3 ^5 y4 O   Version: 1.01 n" X% e3 c- R* O: C
   Author: Your Name
" Q. z; W) o7 q+ l" f9 d+ T% h   Author URI: http://example.com9 M* G2 h8 d- C9 a; u" E
   */
1 j' I9 [& c; V: \: M( t. s. F1 |4 z! e! N! W# J
   // Add plugin code here...) m9 f1 n. Z  `: p% A' Z
   ```2 m- O4 ]* E9 t1 m* N
& R4 s' H) o% L0 l, O$ |
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
$ w/ z6 G: V- j9 _; u  ~2 U) G$ W6 T0 f. W
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:5 ?" K) g  e1 M2 e7 C$ p0 V7 A

) L5 i6 i2 M7 t   ```# j6 y2 Z3 f, v
   add_action('init', 'create_custom_post_type');
& o: P9 b' m0 n' a, Y3 Y   function create_custom_post_type() {, F. a% K4 e  D+ G0 D7 \  f
      $labels = array(
, F" F- C. @2 W4 Y          'name' => 'Site Wide Notices',
7 }) R/ }' ]- g( W          'singular_name' => 'Site Wide Notice',$ e* [  ]$ |$ Z. V( U9 i8 q
          'add_new' => 'Add New',- g1 C, W; M- X: P
          'add_new_item' => 'Add New Site Wide Notice',
1 u! ^1 T9 N6 D          'edit_item' => 'Edit Site Wide Notice',8 I: S- N+ z, b; e$ c; j
          'new_item' => 'New Site Wide Notice',: }  V$ x) R( w/ n7 _8 V' K, u1 q
          'view_item' => 'View Site Wide Notice',0 T  [3 t$ _6 ?: L0 B" b# A$ P6 H
          'search_items' => 'Search Site Wide Notices',+ Q- C( U8 J; `) A' n8 x' o
          'not_found' => 'No site-wide notices found',0 n9 V5 Z2 T7 e
          'not_found_in_trash' => 'No site-wide notices found in trash'4 R& @+ S$ D7 F+ ^) ^
      );
0 g" \& e& V. ]0 c& T4 H2 }
. t4 F, h/ T0 E( {      $args = array(
* K( l$ G  R! P- y# v0 S          'labels' => $labels,
: ~7 S2 m* |' X. u( `! M8 o; L1 j          'public' => true,
. G6 f8 N) o+ ~2 Z5 Q/ |% h! ]          'has_archive' => true,
4 C! C8 [! T" N( F8 r. S6 k. |          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),7 F5 p: ]5 B) M
          'taxonomies' => array('category', 'post_tag'),$ k" f$ F; }  {8 k% P. H5 @5 D
          'menu_icon' => 'dashicons-megaphone',
' P8 P# B( Y8 R7 k5 ]* j+ z          'menu_position' => 5,, M) |' N% o, Z9 q( A
          'rewrite' => array('slug' => 'site-wide-notices')5 [# H. A! I7 t* u/ h2 F- m
      );5 e' ?7 g0 ~, r
4 t) v3 s$ q0 x0 _4 h2 t0 n
      register_post_type('site-wide-notices', $args);, C0 L- D! O8 F: d
   }  [3 F: H5 l0 U' v& `
   ```
# F2 r! F3 l! b3 k) x) N( R
& F9 v0 u& F$ ~6 _% B   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。( k, g/ o& t& x+ Y4 t5 [

0 L4 H4 C' w9 J0 \3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
( v8 l% Y/ D. T& y7 s- T8 j+ M2 ~5 `9 r
   ```
8 A* g3 V1 O: b3 E6 m   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
. L0 {7 L$ H3 }5 T5 R7 x   function add_site_wide_notices_boxes() {! D% m  g% u* A5 k0 ^8 [
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');# ?; v. G) ^% s8 u& J' v$ ?
   }0 s2 R) ~' r# p4 r4 u
, k2 P& `9 t" G6 n% N. U
   function notice_details_meta_box($post) {
5 C; B: z$ G. _; X/ R      wp_nonce_field(basename(__FILE__), 'notices_nonce');7 i( j( G  j& r+ d
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
  f) z5 u! X% D7 r1 i" j      $notice_content = get_post_meta($post->ID, 'notice_content', true);
( v$ Z. C  N( p1 ^0 C7 z3 I; Q6 v      ?>
7 c2 q/ U5 l0 K+ }: _      <p>
9 {% S# q, m. ~6 ^* r          <label for="notice-title">Notice Title</label><br>' C- P" A& Q8 i1 Z* T  N% k7 a
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
% t3 o3 N+ C" I( t+ Y      </p>
8 x+ Y9 _  r" P  g" _4 o      <p>
. V5 e5 `) o- m" x  c          <label for="notice-content">Notice Content</label><br>( I! ^+ @# i& F1 c  ^1 G
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>1 P' B* v. v3 Y* N$ U* k+ Z2 M
      </p>
6 y% e, P2 I! p! w$ R      <?php* G+ M) d: [: N. F6 o0 y8 B
   }+ m$ O# g0 l  X" {" L; b& A+ [
3 L7 S* G* j" E" j
   add_action('save_post', 'save_site_wide_notice_meta_box');& C4 [' @0 e4 B* f
   function save_site_wide_notice_meta_box($post_id) {) l' q6 z& W* w1 D
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))  o5 A# Y, ?2 g8 l( i. l
         return;
8 r5 {9 [% w6 G8 h: x/ ]      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
( _2 P0 q) J8 G4 A  j, F/ W' t2 o+ _         return;1 v5 ~0 O# t1 z. C% K6 @- j

, S, H& Z7 U. m8 n  \. b" q; {4 ^      if (isset($_POST['notice_title'])) {
5 i+ O& l5 n* e- s) F5 w          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
8 o# y- j- A' L6 x# T( v      }
# ~4 j% P4 c* y; G8 T0 `" K5 F      if (isset($_POST['notice_content'])) {
$ H  _( K* z! {! E( F7 m- b          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
7 U, {7 _- U* ?' k8 S% d      }+ K- r0 x) n4 ^
   }/ L: ~  Z$ G1 r  d
   ```  c" e1 i! c& q1 ~: Z: ?! {3 f: H
& @, ~* o9 V" ]
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。; |2 ?, l( f- c8 ^

; K2 Z5 j  w" Y" H7 `5 y4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
6 C4 K, U: O% N' o9 x0 K! o; S- q. \" x8 q& m+ Q
   ```
8 H1 x* [, A7 ^! P0 L; i/ j   $args = array(1 c0 a! \$ h5 f
      'post_type' => 'site-wide-notices',
. S; \0 g. u: x, O# c      'posts_per_page' => 3,) E! P4 k; ?1 w/ d4 P! c! D5 c
      'order' => 'DESC',
. S9 a0 b. e3 s4 l+ N      'orderby' => 'date'
( I. _1 l# d' p. @* {   );
6 P3 _9 s9 x9 f! E+ p$ I9 H5 _   $query = new WP_Query($args);  m9 K' ^3 z# b- x
   if ($query->have_posts()) :
0 I$ ?3 V7 U) i# _, p# J      while ($query->have_posts()) : $query->the_post(); ?>
$ j6 x6 L, q4 ^7 R' p          <div class="notice">
+ S0 r1 o7 z6 a  X) @              <h3><?php the_title(); ?></h3>
+ e3 R$ L5 @4 u# O  ^7 v4 n              <div class="notice-content"><?php the_content(); ?></div>) |8 h" R& M; a- k# J! k6 m
          </div>
" [- ^: w2 _: W      <?php endwhile;
5 T- v, P+ j- a) P      wp_reset_postdata();
  W5 Q  E) b9 y) A   endif;3 H. N( r" O4 H% v
   ```
/ W. X0 [0 F7 i9 p* L1 X& u* l8 V6 c& E& M) z
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-26 01:22 , Processed in 0.085349 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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