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

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

[复制链接]

425

主题

612

回帖

4132

积分

管理员

积分
4132
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:9 Y6 H2 {1 D7 F* n# M- z
: `! v: ~( Q( ?& e0 e* e
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。/ D3 P, m* ]: b1 g

" l  Y; C$ @! q2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
5 W3 c, Q5 U1 ~5 X, R2 f/ O6 O- D  L+ U7 K- v; m: G: y9 O
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
/ o$ ^: |) J+ W
. ]5 o( L& Y. {/ O, E+ T! L  G4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。; k% y- O* [; p$ f
& Y# d5 L7 D! f! }. k
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

425

主题

612

回帖

4132

积分

管理员

积分
4132
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?* n! I4 R$ Q; t5 G, v

8 r' L' j- e4 Q! }) b0 a如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:7 |* X8 L9 U0 a- @1 k

( S- U' t9 K6 `# C9 `) f( U1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:/ ^* w5 }; J/ T6 \6 b
% M' d; Z3 w+ p: c  c5 `
   ```; u4 A9 o$ ?3 L5 m& p5 N
   add_menu_page(
# r5 F1 a2 K+ v# y       '全站公告',3 E* k8 A  k/ r( C
       '全站公告',2 `$ d$ c" d3 _2 ]. Y
       'manage_options', //需要的用户权限
& v& V/ e( a  F# G* e       'site-wide-notice', //后台页面的 slug9 D- g( G0 d5 H# {3 x# f
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
- Y$ h- o8 l2 a2 A5 O8 M" ^       'dashicons-megaphone', //用于显示在菜单中的图标
+ U, z, P! h! _( B1 U- V% }% O       30 //菜单项的位置
9 D$ F! y7 r; c8 h* H/ s/ y   );! ?0 U6 _, m$ Y" f4 r  C
   ```
) J0 ?5 y7 ^( C
; @/ ^! m5 V( F6 r! _   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。: t4 b+ f8 ?) z( L" O6 O
& X4 c& ]3 h9 o+ i
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
$ |0 {  C0 a. k; x6 W
) P! @6 {( V8 x9 j! E; l4 W7 Q   ```: w4 Y7 g1 L* z7 p( s+ c5 B0 D$ t; v
   function render_site_wide_notice_page() {
6 v! W( g3 E- ^, j/ f$ T& n      // 渲染后台页面内容. C5 D+ D( [  k. J3 C+ T  h
      echo '<div class="wrap">
# F  L% S2 A: [          <h2>全站公告</h2>7 ?5 V7 g- h1 k3 F9 z" Z
          <form method="post" action="">
. {8 f$ Y7 P8 U              <label for="title">公告标题:</label>$ C% W( Y, ]+ D3 f! Y4 U7 j
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>% \! p& K. f. R4 N# b& e2 f
              <label for="content">公告内容:</label>
4 o( w5 Y- w* ?              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>" N% W* f2 T" R! u
              <input type="submit" name="submit" value="保存设置">2 a& m9 O& Y/ n" k  {' J+ f
          </form>/ h( A2 }3 B4 l+ G9 I7 l
      </div>';
$ e3 W2 T2 @. W* n0 n" m
/ i) b  L4 _9 |" {      // 处理表单数据- {6 i, N; J! ^' e6 z; p
      if (isset($_POST['submit'])) {
# b* ^: J3 g8 {/ N# B/ h" n          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
# }+ [) _* x" p) ]% N( r8 o' k          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
) h' G; `3 Z9 v+ t  [      }2 W1 s8 u7 ?# W# E
   }
$ V6 R& v: O5 X8 P8 C" Q% S   ```8 M8 n7 t7 D7 _8 k# P7 {
% G1 W, H5 e$ G5 g# O
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
  Q+ n7 [" Q7 h! K. S: m3 P; x" ^! U( Z! k- K! b: O) y
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:% x9 a+ \7 _/ r. b. L& Q# c
+ [: D% i, j$ r" I" D- G: B0 b
   ```
7 [( a  w' p- B" b" k. \- b( R   <?php; O. y" x) m9 z1 l
   $site_wide_notice_title = get_option('site_wide_notice_title');
6 Y7 f6 \8 |& i$ A3 f2 e* h   $site_wide_notice_content = get_option('site_wide_notice_content');
" b  U. Y" h- ^5 e   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {( c9 T  Q; Z3 X% ?8 G
       echo '<div class="site-wide-notice">';
: P) p+ f$ k' N' o% E) R" b! M1 l       if (!empty($site_wide_notice_title)) {" ?( h$ r+ \  H' G7 w7 L- b
           echo '<h3>'.$site_wide_notice_title.'</h3>';0 O/ J0 w0 B* f' v% N1 p
       }7 t) |2 V% J& C2 L
       if (!empty($site_wide_notice_content)) {( O7 y# f! z) D, q
           echo '<p>'.$site_wide_notice_content.'</p>';& I) n, c. ~$ W
       }
8 S: \+ f- k# E% }) H       echo '</div>';2 |4 s8 D  E2 C
   }
$ y% t- |$ K; m$ f   ?>
7 H( g( T" c0 N3 c2 H, v   ```
' J* X, j+ q( e7 N) S  n
+ n8 P. g% K/ f; n1 x   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。: y: l- h$ ]/ K, q2 S* j- V

* }9 n  B+ E1 q; R: L' ?5 o请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

425

主题

612

回帖

4132

积分

管理员

积分
4132
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
! ?3 o5 r# A5 q9 G2 r0 w/ v6 s. T7 E0 \' W# a6 K
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:  x( s6 n& R2 }; Y4 x8 |

. M  |. O% j( y3 X( e1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:( T; Y! V3 P0 r* W
! B; E1 ^. z( r8 h; V! a& v
```
0 {2 @$ W3 U( e& d, x* Y3 u3 afunction create_custom_post_type() {3 w8 Y* A" \9 J
    $args = array(- L+ O$ V3 S$ t. y6 G4 M7 O
        'labels' => array(( w7 i4 M; a7 T
            'name' => '公告',- n& r9 q$ U' g! r/ \# G5 d( }& T
            'singular_name' => '公告'- D# x; U% S; u- t& o0 s
        ),
7 c8 C0 i# u( P( V0 }% Z1 i        'public' => true,; u) k) _& [: ]) I' E# f
        'has_archive' => true,6 U$ x# L9 _, E
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),3 V- |' h- W, O
        'taxonomies' => array('category', 'post_tag'),
9 L# z6 i7 H, D; @" i1 r- v, B& h        'menu_icon' => 'dashicons-megaphone',
' g7 ^% |5 g& A8 \4 s; ^+ @, U        'menu_position' => 5,
* ~/ g, _; b+ y- o& N        'rewrite' => array('slug' => 'site-wide-notices'); }" U/ p2 Z- J! G* c
    );
  l8 r, x: w- W    register_post_type('site-wide-notices', $args);
, \/ j* [! c- f- r! f}
4 d1 y6 {. w. u9 X4 hadd_action('init', 'create_custom_post_type');
* R0 L! S7 X) U& {```
! d  d& h2 h( j. |* o/ C5 A0 N8 I! W5 F! C# E( t+ c! l8 H
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。, e4 f& Q" k( R  `: W  p6 z; N; r) D9 p
; e" ]) i7 [- ?
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。7 m. q8 g! Q4 i" g' T

  j- }# J0 d' h2 N* d3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
) `2 Z: W3 V! [) l2 v( f3 N
* K% j$ M6 X5 N1 n  X  E3 B7 C```
+ T. ^9 p1 P) Q5 m  S$args = array(9 H6 e+ W; K* }" x6 ~6 J
    'posts_per_page' => 3, // 显示的公告数量# t$ D! j2 ^7 L! Z$ T* m0 E6 o
    'post_type' => 'site-wide-notices', // 公告文章类型
+ ^8 R% Y% I* s    'post_status' => 'publish', // 公告状态) S# w9 M  h' u* s2 O* {: A* a
    'order' => 'DESC' // 排序方式
6 y: k* b, B; C& B+ U$ J);
. Z. Y# S8 C7 H' V3 _
6 ~1 y3 F$ m. G$notices = new WP_Query($args);: u  [& J; k# V2 O, b+ C1 y
if ($notices->have_posts()) :
/ {: I0 i3 U8 J    while ($notices->have_posts()) : $notices->the_post(); ?>
5 d( ~* A" h% P        <div class="notice">- B2 H  W5 M) ^$ t) S" X
            <h3><?php the_title(); ?></h3>
! R# @" A$ w& _            <div class="notice-content"><?php the_content(); ?></div>
* \9 h" W- O8 v" n7 y! V: L        </div>
9 a+ `* L: d" O! L8 X( |6 x" k; ?* x    <?php endwhile;
" B* a6 r1 q( c: d' Z# k( pelse :
1 s$ o& `. n/ }0 |9 i3 w8 }    echo "暂无公告";" `8 r0 M0 h8 H4 Z; T/ C& @
endif;
* Y  F+ s7 c8 q8 Wwp_reset_query();
9 [2 \3 ?6 u3 J; h9 W```
0 C% ?' s" S. {0 F
, G1 f6 l# D7 H" S这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
' T  c5 d6 \: h# h; z
" t3 q2 @, I3 M# d1 M1 B, E7 ?以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

425

主题

612

回帖

4132

积分

管理员

积分
4132
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?1 g/ Z% j9 h# K1 F3 A0 v

9 s1 ]* k) y/ @1 d如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
5 m* X4 c  ~. D# l( U2 h0 B
( w" x3 m: o% b& q# L( Z1 E以下是创建自定义插件的步骤:
9 d) \* W' ^( `% e! {# M4 Y6 J" [8 q( x, L7 W0 M/ S5 B" L8 F
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:4 m4 c2 w6 f. j" ^2 j  Q$ q
4 ?6 ^. `. L/ C/ g$ P5 \
   ```
9 U6 I0 L7 a6 m6 Q4 k7 N   <?php
. V- k$ `9 V3 p- s) w7 O   /*
9 T, A9 {. w; {( P  l5 u   Plugin Name: Site Wide Notices Plugin
$ b7 d; O& G9 @   Description: Adds a new custom post type for site-wide notices.
8 n/ K* p0 r/ r# m+ B5 B   Version: 1.0
# n* w% l! |3 h+ V* b6 s5 V   Author: Your Name
& v' V" g2 ^8 i6 P9 w   Author URI: http://example.com' D8 Q1 p( Q) {  w
   */
' m  ]  Z% B" ]8 D
9 Y$ R: C+ L. x3 P6 F   // Add plugin code here...
  k0 o) @8 Y5 K( Q* D   ```5 J8 P, ?7 b; H& c6 F
0 d3 V1 s' [  h2 c. {# ]
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。7 j( u/ Z+ A% O9 o1 Z  y) m* Y, E3 C

" |' E9 ?7 W4 X2 K" I2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
# ]( D+ B* \( K- ?+ G
/ |. g7 X  A6 l8 h5 E$ S! N0 Q3 {   ```1 t7 C# i/ U/ [# ]- o
   add_action('init', 'create_custom_post_type');. L+ ^. X6 y" C/ j- Z- k
   function create_custom_post_type() {
% b  f# M! C6 _6 f/ p  M2 {$ ?  A      $labels = array(
: v8 N/ K$ I/ x5 o# J          'name' => 'Site Wide Notices',
$ v; c/ i* e- Z/ Z5 P: r          'singular_name' => 'Site Wide Notice',  K9 r2 k! L5 j/ F/ [7 u4 b
          'add_new' => 'Add New',
3 h" n8 o  Z+ _; ~. a) c          'add_new_item' => 'Add New Site Wide Notice',
9 Y% m  ~3 w1 N5 M' @( `5 F2 x          'edit_item' => 'Edit Site Wide Notice',' p) v8 I8 {' `
          'new_item' => 'New Site Wide Notice',  G1 e3 O; d" f0 ?6 u
          'view_item' => 'View Site Wide Notice',0 d  a5 |. g+ O2 Z. j
          'search_items' => 'Search Site Wide Notices',: e- \! N# s* e- c1 `
          'not_found' => 'No site-wide notices found',0 d; Y5 M7 @9 V  ]: x( f3 e
          'not_found_in_trash' => 'No site-wide notices found in trash'- A! g8 ^3 _) }& V2 k  g
      );6 N6 {. J) s8 L2 n4 |$ u
0 b3 w5 \3 U. b6 Y
      $args = array($ J) g1 ~8 v' H% t. V8 _) b0 H7 {% O
          'labels' => $labels,
1 P% h" t' z. g0 F, T3 X          'public' => true,, m7 D9 {% |0 f; {* q3 K
          'has_archive' => true,
* q" X! ^) Y9 H* w' \2 g0 |0 a          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),1 I1 ]/ c" g0 h
          'taxonomies' => array('category', 'post_tag'),
5 u( K; W4 Y6 o6 q: r0 {) ?# K/ `          'menu_icon' => 'dashicons-megaphone',
( k3 X* }9 t% n  v          'menu_position' => 5,7 `% i- z- U+ F+ a
          'rewrite' => array('slug' => 'site-wide-notices')5 S# y: f" K. ]! @; v: |
      );
/ W/ R/ g% {0 ^/ u1 n$ B4 \1 P' q% g
      register_post_type('site-wide-notices', $args);$ z) W  p/ B  K& L* o: d
   }
: S7 |# f& Q2 T, v   ```
0 a2 e8 e9 ~. a$ V4 z# L- Z3 L5 a9 U6 r: o
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
8 u% z4 h9 j6 q( q5 p
+ G- {, n4 G3 q& N9 Q  l; A; O3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
4 h) h2 ~3 e) C, R. A  z9 {' [+ P: ?
   ```2 c9 u4 P* u+ Q, y! ^
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');) @) M5 p' q; j8 b+ b
   function add_site_wide_notices_boxes() {$ }$ j% T) N( O6 ~1 U$ e
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');4 u) ?# i4 s  s+ ]2 {; M) n( b
   }
- t$ u3 ]! v0 K5 v  z0 m+ O" t5 ]% w0 k. c3 P; O9 K* B+ G8 f- p
   function notice_details_meta_box($post) {
+ m4 W% ~1 ^( J& @  e# y      wp_nonce_field(basename(__FILE__), 'notices_nonce');2 x: h! ]' D) P: d
      $notice_title = get_post_meta($post->ID, 'notice_title', true);! h9 i* ]3 l2 a- Y
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
. o7 N+ M4 f3 f- ^& Z4 }& |      ?>
9 Y* A) |, n- W0 Z      <p>6 R% o; P4 ^! ^* j0 q* g! T# r5 N
          <label for="notice-title">Notice Title</label><br># v' f( i1 [: o* E* K/ ~3 ?
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
) G" Z; Y: N% c% Q5 r& e' w8 q4 p/ `      </p>
5 w( d" A, F  L( |9 D7 N6 p# q& H; I      <p>2 X4 g7 r" I5 Q9 q
          <label for="notice-content">Notice Content</label><br>5 P; q( C: d; r
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
7 B3 c. t/ B5 @+ c; q      </p>
# f7 w) _" [4 P* b$ m/ m      <?php6 r% ^  V% m/ w1 e: W1 J8 Y" J! w
   }
# |8 y+ d+ W# N8 S/ d$ E5 e0 m9 d0 e1 o& H5 @- i
   add_action('save_post', 'save_site_wide_notice_meta_box');/ ]  ^; a; Q/ N
   function save_site_wide_notice_meta_box($post_id) {9 \( v- T9 V  A  j5 M" @, h/ f# a
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
' g1 G: y0 p4 G         return;  R5 R- f$ u! U1 x
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
$ y; {5 S( M7 `1 B; d( x! R- C         return;+ e$ {+ C1 Z$ L

$ P- U, q4 M% U, b7 O; G7 ?% x      if (isset($_POST['notice_title'])) {% U; ^/ ^8 u7 c. G1 x3 U6 t
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
- A2 a4 k; P/ B+ P- ^' B3 T( u      }
* L& g( Z- r/ ^6 ^/ V' s      if (isset($_POST['notice_content'])) {
. b7 K$ Q. I+ @* Y, }4 G5 o2 P          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));' N. C  {" W1 ?+ N' `
      }
4 Z9 R# S" z6 v* ~   }, J* U$ t# q3 ^  k* J, t
   ```! k% Q& G1 Q8 j2 V
) A, t- l3 L0 C' Q* m
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。$ d9 _/ S! \6 {9 H6 K

4 [+ y& c+ H0 `" e4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:1 \  k$ X$ T) g" Z/ V* E

+ x4 l9 h( t  G: \. A5 v   ```2 F9 C" z3 o1 q+ p5 X9 S7 m4 _. G9 Q
   $args = array(3 n! ~# c7 W- @8 m; I# b
      'post_type' => 'site-wide-notices',
% y# e. B2 I  q1 m" r" P      'posts_per_page' => 3,# I( V' a9 y* G1 }. Y% u. P0 D. [
      'order' => 'DESC',
( e5 {  t0 K8 W) x3 M      'orderby' => 'date'
; `1 n( R1 E# |, [/ C5 A   );8 U- d$ ~5 n# p6 P3 `/ E
   $query = new WP_Query($args);6 u7 @5 b4 `; \7 w: o$ R& k
   if ($query->have_posts()) :- m7 Q7 ]/ H5 T
      while ($query->have_posts()) : $query->the_post(); ?>
6 Z2 c5 G1 b; X5 r' K$ I( T, Y9 r# Q          <div class="notice">
: l* O0 h# }# O/ W              <h3><?php the_title(); ?></h3>+ C' c5 w  Y! t- n  `
              <div class="notice-content"><?php the_content(); ?></div>
* k+ l8 |$ e2 H1 w5 S. R; k          </div>
6 T5 D/ Y6 w  C) ~  L4 S/ U      <?php endwhile;
9 T6 T, h  f/ ]" B      wp_reset_postdata();
8 I. c3 Q. ^9 g; C' ?5 L- u   endif;  J1 l7 V2 P6 n( r
   ```' }8 d: g2 _  a
& u2 O4 g7 j* ~: W/ U1 @0 H" x
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-21 11:33 , Processed in 0.488141 second(s), 21 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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