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

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

[复制链接]

338

主题

521

回帖

3478

积分

管理员

积分
3478
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:' g+ n; X  ~$ K9 ]: i

/ }# C6 t* H* d3 G+ X2 R; s1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。& K; \1 G1 I2 v& z% E2 t  ]
+ _* s7 s- u; ]( h' p" s3 s6 X6 \
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
# q* ^, U4 ?& c! v2 M
& ]- ^. D+ n; @/ d3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。% F6 @4 k5 i' H' C* N' c

- x5 n9 |2 ~! M, T: m/ u* y4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
/ L$ u; ^* i+ v9 p) G& P/ Y! U/ M+ D! t, m2 e- ~1 X
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

338

主题

521

回帖

3478

积分

管理员

积分
3478
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
! P0 x; F" a0 r
; u4 F& R2 V) V7 |; P如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
2 O! d0 ~, P1 z0 k' R+ Y! f1 a
$ f" V  j5 B: z4 b1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
! N! ?8 h8 y( l) I0 \3 u, R- M. Q7 a+ L; s
   ```
/ S6 r9 S% ?8 }7 }) P8 J   add_menu_page(
+ W' ^0 j( |, u       '全站公告',* o8 K$ C" i9 R4 a- w7 T2 I/ F
       '全站公告',
/ Z0 }$ @& \' R- N& L       'manage_options', //需要的用户权限8 h* o  G& {! h8 d, R4 L  ], L5 ~
       'site-wide-notice', //后台页面的 slug
' v) q7 S% r7 ?& x, B! M/ @$ d& h2 N& a       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
, {7 D/ A5 d9 ?# ^       'dashicons-megaphone', //用于显示在菜单中的图标
' F* u  M, H9 Z& D4 h" m+ l3 D       30 //菜单项的位置/ C- D& Y+ s5 W$ H' @. l% \
   );: x( a% P/ \: j; j
   ```0 J9 }/ ^" {! ]6 Q1 m
$ O/ g7 }" x" m* Z/ B+ m! Y1 ?+ Z
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
5 p9 \9 l8 F- X$ b0 \4 W( J3 H0 [' y
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
+ o* j4 m7 C5 |6 v4 u6 w# R$ o& @9 W  E$ p( t% r' y( c' j
   ```' l# J( B9 s/ j$ p0 B/ C# k
   function render_site_wide_notice_page() {
7 x5 x% B5 ]. ?/ x% X6 H      // 渲染后台页面内容
7 w7 ?' j; o" g, f6 E      echo '<div class="wrap">
/ s. }" v$ A8 k# {1 C          <h2>全站公告</h2>
) I- R, v- F- B          <form method="post" action="">
3 v8 Y7 U2 E; N7 S5 @              <label for="title">公告标题:</label>
  V4 _$ Y& F3 K) b8 ]0 s              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
7 T1 ]3 e9 E2 G# L              <label for="content">公告内容:</label>4 J; x! E4 b; S# x- D" Y$ }
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>! o- G7 t5 R  L0 x+ @( Z8 t  Y6 h$ R6 G
              <input type="submit" name="submit" value="保存设置">  w. Y$ F* D6 y. k
          </form>$ X7 G. G! a, l5 I, }, J! d( M. p4 `
      </div>';
9 x/ @$ H- i: }, X  h2 Z
, T# m1 T3 G. r* E      // 处理表单数据6 H1 e$ K  k  y  s1 f  x3 |
      if (isset($_POST['submit'])) {
8 A  \( L; J# z* ~6 W8 J          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));# f- k3 M1 Q6 s7 }# c5 x$ N
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));9 L+ r  I: l$ ^* M! E" t5 f! P  A
      }
' `8 r6 ]( n% W. E   }
/ _! ~9 w( h# G) o4 R2 ~, L7 B   ```
/ C* @. X" s! I- X
4 `# U$ R, _$ [& X   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。5 k( O! N# Q5 H% h
( w" j' C4 }4 [0 K2 m
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
$ i3 w0 v- m; f4 }# ]5 x: ~( n
   ```! v. j: j8 l" r- o! m
   <?php" w5 h$ u3 H/ e# k( W
   $site_wide_notice_title = get_option('site_wide_notice_title');
/ D/ b* w1 ~7 r& Z0 d1 ~' a- P   $site_wide_notice_content = get_option('site_wide_notice_content');
; {! D# j( Q/ G  D# f% j) B   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {/ T* R% K- l( {5 I2 K5 p
       echo '<div class="site-wide-notice">';
* G- z- n8 q9 a' U7 j6 O       if (!empty($site_wide_notice_title)) {, m: J2 V2 u! s0 }
           echo '<h3>'.$site_wide_notice_title.'</h3>';( p, `# Y! H; r. h. N
       }
$ p* L! p7 e  h8 @5 E       if (!empty($site_wide_notice_content)) {  X' G4 j  Q( R
           echo '<p>'.$site_wide_notice_content.'</p>';, a, w+ s1 d: F5 g# z
       }
7 K5 H1 c' u+ M8 W       echo '</div>';
2 D% a; T9 H1 h$ {* ~  M   }
& U8 B) k6 V( n" F' b! d   ?>
# p* w0 Y7 m' ~   ```
1 F. u5 t' K0 X! Q+ _% O  V
) U; Y1 @. F" p3 @   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
( h2 z* B7 b: [8 g- w1 Q, c* k3 p4 t
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

338

主题

521

回帖

3478

积分

管理员

积分
3478
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?, g+ S2 p0 e% }6 C8 z) T
# K! ?& f+ @7 F  J8 i+ D3 {
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
# Q; v! y2 B9 E9 v, R% d
5 v, {8 |$ y9 o0 H6 p1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
" m8 l; Y1 C3 W0 c4 H, ?' H
! ]  r& r5 e) _! @) b```5 k) g/ C: b1 e: Y* U4 V
function create_custom_post_type() {
" U( w, ]- h6 t# e2 R# m% S. @    $args = array(! x/ f, f$ K7 y$ _6 |% I
        'labels' => array(
/ k; B' p" u7 J9 U            'name' => '公告',. L$ m5 S0 T  C( L& s8 ^7 J
            'singular_name' => '公告', Y- c) `% M9 k
        ),
6 _, E8 A: G. h        'public' => true,* V+ p! F. E! K0 s( ^' K
        'has_archive' => true,, k6 u$ N" P# I3 D6 j% \; C( i  D
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),, s/ b6 o6 [  r- W# _
        'taxonomies' => array('category', 'post_tag'),% J9 \' L% N# U1 `
        'menu_icon' => 'dashicons-megaphone',6 U( n. a3 u$ o
        'menu_position' => 5,$ F# z: P" }; M4 u
        'rewrite' => array('slug' => 'site-wide-notices')/ {1 q6 ]2 d) v. C/ ~/ t
    );7 e/ ^) @* @) Q* e" l
    register_post_type('site-wide-notices', $args);$ e; B, |( E  r" h4 D3 A; U
}
" ]& D$ L- i* J( Q$ |. jadd_action('init', 'create_custom_post_type');
. q$ I# ~6 [0 _- ?$ z% D0 G( g```
: m' K8 E$ y' N$ k" l" F. P/ A- x& }* a
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
& o" _/ }- L' [( }# W, h  T1 l' R& b( Z! _5 `' d
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。" u( J, h" h& r/ w! l3 C: k

/ B. a" A: Y5 s3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
- n* d( }! H6 Y8 ?. g4 ]: T
5 t  }+ N0 m( v7 s5 q```
0 m, v8 }( b5 l5 H/ r$args = array(8 {3 [% E" o. v/ v& D0 ?5 h
    'posts_per_page' => 3, // 显示的公告数量0 y0 `+ c$ {1 \
    'post_type' => 'site-wide-notices', // 公告文章类型  Q! }; ~' A  g, o' _& r
    'post_status' => 'publish', // 公告状态
/ E$ B1 X( t4 E3 q) @    'order' => 'DESC' // 排序方式  f! [  W$ \" E7 E
);' E5 Q1 @2 N6 h
) r9 X; Y* s. Y
$notices = new WP_Query($args);
* M5 l3 }& n! v$ M. yif ($notices->have_posts()) :$ z, t3 @4 x  F( D" j% E! S/ }
    while ($notices->have_posts()) : $notices->the_post(); ?>1 Q4 K% c# u: q" f9 d% s% z
        <div class="notice">% ]/ R' }: b; F; L$ D$ G: L
            <h3><?php the_title(); ?></h3>6 |# z! m) C" a1 X
            <div class="notice-content"><?php the_content(); ?></div>! d& G6 r/ z: l+ g2 _
        </div>+ Z# T: F1 ^9 X6 [- v$ C9 s
    <?php endwhile;0 t5 m6 W! w, I% L5 k0 U
else :
7 c2 ~0 d) M7 z9 z    echo "暂无公告";
% g# O! T9 \/ g4 p  Vendif;1 t; _- G/ W# ]6 s: A* F
wp_reset_query();
6 K) R* W) R' _; d/ i' e```
. y+ p. K, d8 k; b6 O
" ^: w3 Z4 |  o# W2 i. R& w这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
7 E6 @# F' F: ~  @2 u# W* z: \" B9 D/ [5 K! k& {! ^
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

338

主题

521

回帖

3478

积分

管理员

积分
3478
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?9 M; E/ t: |2 n9 j
: O1 e$ e  b! \9 O. G7 c/ L4 l, r
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。2 M8 o! Z' l2 Z# p# W' n$ Z. z7 v
2 S# X$ P# \; K2 S! A1 H
以下是创建自定义插件的步骤:
, i5 |" B% g1 i8 h: \+ r5 [- m! |
3 r7 t, C/ z2 G' Q4 k. E1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:. g$ H$ ]: a* R0 n/ s3 B/ `8 K
. K% {* R) ]; {% ~' w& ]( r
   ```5 Y$ x) [6 d6 r$ C
   <?php' x* M8 o: S2 ^+ O, A
   /*
5 Y6 ^/ X, t4 Y; G' ~% T$ `% s   Plugin Name: Site Wide Notices Plugin. I8 c% f) W( `- P9 f3 ?2 O: h1 E* |
   Description: Adds a new custom post type for site-wide notices.- B9 Z( x3 [$ U6 ]
   Version: 1.0
9 i. \, f# _; N* Q7 Q   Author: Your Name9 w; c) m& I" t2 D6 B
   Author URI: http://example.com, m* w+ r. |- s: y9 Q/ R+ g
   */
+ y& N" ~, O$ v, k, \/ W7 k
# ^* k9 V6 n; c8 s9 n: a   // Add plugin code here...
7 U- D' n8 B! d, Q3 `   ```. m7 X* y# a" S# G% o
* j' f  C: r- ^/ f+ `
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。- R. }1 i9 N( ]! o9 L* L! m$ V

" I+ {3 g5 q6 V& r& ?' R$ H2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:0 {' Q, b: G8 |, D0 I0 H

7 F1 ^# c% r1 y, k7 o   ```
7 [* T- a: ?0 i   add_action('init', 'create_custom_post_type');5 _2 M' C9 H4 e; n7 @7 X
   function create_custom_post_type() {, }, M1 |, h  j
      $labels = array(
  Y% j' Q$ Q9 z8 b          'name' => 'Site Wide Notices',* y) L1 ?1 i$ x
          'singular_name' => 'Site Wide Notice',- v" ?. D2 I% F( p3 [/ m6 O' K- `
          'add_new' => 'Add New',- m# S% L1 f9 J! k" ]
          'add_new_item' => 'Add New Site Wide Notice',7 K" f7 e5 Q6 T3 b$ O- |
          'edit_item' => 'Edit Site Wide Notice',
* }5 R! k2 M/ A; H5 u& q4 d+ c2 C          'new_item' => 'New Site Wide Notice',
( O8 a) y: j3 j% f& S5 d          'view_item' => 'View Site Wide Notice',: X) t3 l4 Z2 \1 Z0 `
          'search_items' => 'Search Site Wide Notices',/ R' h' b9 S3 j+ M
          'not_found' => 'No site-wide notices found',  F0 x8 ^3 Z: ^; l: @2 [( F8 m
          'not_found_in_trash' => 'No site-wide notices found in trash'
9 M8 i0 ^' Q5 E7 a) _/ I; _: J      );
' u" b8 x# c3 b" S- Q
! L0 c& q. {6 u. V# v      $args = array(/ C9 L8 r4 z- F$ U6 @4 X2 t
          'labels' => $labels,
8 a0 I0 ^1 m7 \, B. ^( X6 ~          'public' => true,
: Q# w& T6 w0 \: b          'has_archive' => true,
/ u% i% r6 T$ W. d0 b' B4 s0 W* Z          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
) v3 `5 N$ W, k1 i( a5 r          'taxonomies' => array('category', 'post_tag'),4 k! u9 y* M1 b4 M8 K
          'menu_icon' => 'dashicons-megaphone',
: I$ _1 d: s$ s2 N: o0 {/ M          'menu_position' => 5,( H& g5 d/ P$ k3 c% x7 u! k7 R6 O/ o
          'rewrite' => array('slug' => 'site-wide-notices')
4 g: u* I+ x# Q) g7 k* O4 ]3 J      );
/ Y" W# H  S4 ^' B8 W& {
8 D) g1 n$ `! E9 _" f* j& t      register_post_type('site-wide-notices', $args);
3 O- ?( Y* \; I3 Z' Q! q. |8 n   }
+ Z" Y2 ]. j% v; L4 w0 e* L   ```; C7 n2 P+ M! j* U) e; \7 V
1 N. H/ G2 E$ C5 s# `5 r5 R4 L
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。" t' `# N$ A- A2 \, Q1 G
; g; R& `$ F9 d$ Y# ^) Z- x
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
0 k  O; w* S0 H/ S4 Y  [/ r" l6 n/ ~& u, a9 w9 w: w
   ```
) B: u  o6 i) q7 \* ]6 W   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');& c( _; U0 F9 ?- A1 J: o
   function add_site_wide_notices_boxes() {! {4 N" [; F/ E' l: Z( G
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');) T+ R, O: A$ Y& u9 j
   }
" ?. Y5 S7 k, T9 I" D9 t% H) `
! g2 h4 u) W2 q9 B) f! E8 I8 Y   function notice_details_meta_box($post) {: d' ~$ h8 O1 g* Y8 U
      wp_nonce_field(basename(__FILE__), 'notices_nonce');) n/ z& ?/ N# I7 G& Y
      $notice_title = get_post_meta($post->ID, 'notice_title', true);' N) X0 Y4 _) T
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
2 @( D. q4 L+ d, o      ?>* v% K  D" d' h
      <p>8 L$ c$ Y5 f$ e0 a4 n' E. T4 ~
          <label for="notice-title">Notice Title</label><br>" n1 }6 h& \# A  R
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">. t  |( i3 Q) j- u6 i& Q) W7 h
      </p>9 \& L' A. ]+ q0 z1 m0 e5 d
      <p>
7 l7 m: b6 F' ^0 \9 e* E$ z          <label for="notice-content">Notice Content</label><br>
: R" C& c, w$ h: e0 J7 S          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>$ L; u+ c8 D; A/ [7 M! X9 z
      </p>: M9 ~  \# ]  V8 r
      <?php
' b3 Z  E( Q, o$ d5 C! t   }: N( P7 K- S7 O/ j1 O- b: n

3 e( u+ W% H( U   add_action('save_post', 'save_site_wide_notice_meta_box');
$ ]( q+ \! s% H' r' q; Y   function save_site_wide_notice_meta_box($post_id) {
1 c; t* o6 Z, f1 r      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
# j4 J9 }$ f  i% J         return;
4 D% v; ]" e4 [3 @      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)' i. Q: m+ M% t1 w, K
         return;
  {  U1 m8 v% Y, X2 _  a# q
6 N2 ~/ \1 u# c, m' V3 w      if (isset($_POST['notice_title'])) {
. K8 a/ x  Q2 U1 A3 K          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));0 \) |/ h- l( D: z6 @8 o1 A
      }. \! R- [7 B7 x2 L' e- k9 \
      if (isset($_POST['notice_content'])) {
" R: o9 I2 q! X          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
0 W. q5 o6 t9 h% ]      }
" `$ j- a/ w: D  v) W- e5 r5 l& ^   }! a; Z: j  X* @! [$ j
   ```, i& d1 h0 _* L8 |4 G' b0 |

$ m9 |6 K( [7 D& {, y; u" {: t   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
0 z: q$ H. D- U6 s- E: g4 `; ~# Y3 @" C
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
% g7 Y5 _3 M2 E  n# [& U2 R; D' [, x  b* n; Q3 M
   ```, t1 {; k1 A7 _# N" C
   $args = array(
( V* i4 [# f" V6 Z/ [- N      'post_type' => 'site-wide-notices',( x. j7 y! g% e4 l0 d, Q. l
      'posts_per_page' => 3,8 Q3 {! L7 n% {) _$ J
      'order' => 'DESC',
0 l# P( H. V! ~2 P      'orderby' => 'date': F( x4 ~9 |  p3 m5 r
   );
. k2 l1 y8 E" q, V   $query = new WP_Query($args);. o! \/ H; E" V) f+ o
   if ($query->have_posts()) :" J7 \" x( N$ h) o$ j+ ]
      while ($query->have_posts()) : $query->the_post(); ?>1 @( z6 ~5 k7 F* d9 q
          <div class="notice">
3 W6 X# r. {# c+ ^              <h3><?php the_title(); ?></h3>3 a# ?$ f; x$ B5 m) [6 M
              <div class="notice-content"><?php the_content(); ?></div>
2 ]% ^2 F0 w+ c1 K; ~! t9 K9 E. `          </div>
: g; y% j& G  u& A      <?php endwhile;
6 P: G( Y8 z  Q5 Z      wp_reset_postdata();
- K: _4 `5 ~- e   endif;
4 H4 z( ?9 q: f9 f; j9 ~   ```+ g+ w( `9 ^, B

+ y% v. O5 D) _" h# X' F   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-9 08:22 , Processed in 0.014708 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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