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

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

[复制链接]

332

主题

512

回帖

3366

积分

管理员

积分
3366
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:& c& R% {: Y. ]5 y" e: H, U

0 T2 r; M) D  z( V, }" `1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
% c" Z7 V! n0 U
) Y. {. z; O, Q2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。' J7 M+ H9 O# P3 p$ ~1 l( q
( H- Z' t1 E' d# b: Q; V% f) T% ]5 K
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。% C  p# E% \  z

' J7 O/ y/ F: [6 J: U/ b2 N4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。$ _  j7 H# X' B0 e8 R0 u& h2 c

0 U0 y4 z5 o. f' S" }- u- S注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

332

主题

512

回帖

3366

积分

管理员

积分
3366
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?9 M3 C* }5 U3 B6 ^; B% X9 g8 P/ w7 A

' j0 l! z- s1 Y0 S如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
0 S: [2 ~: K8 T! Z
9 _7 R# G, Z% z* @4 T' u1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
# [/ Y7 }$ ~1 S/ A0 Y$ N; `# ~& M$ E  \! h
   ```
! n3 t* v! V( x2 _   add_menu_page(
. A# \8 c  E  D1 l5 `. \: P* h5 k- ~       '全站公告',2 _/ K4 @  C  K" w- ]! I
       '全站公告',
. _0 }8 j( a: [4 j+ ?. w+ k       'manage_options', //需要的用户权限
( z7 a# ?+ V( j3 V       'site-wide-notice', //后台页面的 slug2 X- E2 ^5 T  K( p, m- h. U
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
) d* \8 Y# I: w" D) z8 K- v       'dashicons-megaphone', //用于显示在菜单中的图标
$ {4 g  Z+ ~" u       30 //菜单项的位置# `, j( {! o' g- T
   );
' [- f* v, v' ^' D% s   ```. ~: F) V# ^9 h
4 r6 k  c" ~/ w# }
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
1 _+ ?1 I: P( f/ n5 @2 U6 ?2 {( t4 U% T. b) Q4 p( H0 x
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:( L4 s2 C* a  R- c: [( l
) ~0 O! c! L2 A1 }# @! J# ~
   ```6 k1 b& Y; p  N2 g8 I7 U5 w
   function render_site_wide_notice_page() {% V6 o$ g1 W: k9 u
      // 渲染后台页面内容
0 L/ f  D5 W* ]" O      echo '<div class="wrap">- x6 l% J$ Q- x7 M
          <h2>全站公告</h2>
2 w6 R( t+ e$ r' X          <form method="post" action="">
$ u0 W" p: J$ g* l              <label for="title">公告标题:</label>: C/ X( w/ e7 Q1 W
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>* e! A  H" t4 ]6 M8 V9 Y
              <label for="content">公告内容:</label>$ ~; g+ J3 k# I6 Q: P
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>6 b5 n* C" w- @
              <input type="submit" name="submit" value="保存设置">
  o! z- p# @( ~9 {+ G+ N' y3 y          </form>: O" P0 J. P8 Y2 F1 Z, n; V
      </div>';
# E+ m3 H, C4 Y$ E' S4 ^, x' \" `' |  t8 c* }$ O
      // 处理表单数据1 ]  T3 _; T6 H
      if (isset($_POST['submit'])) {% y& k, e& o& M6 n  f; M3 F6 v
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));. b% |' V" @0 a6 B2 j, T
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
! q9 I5 b( E+ _  X$ R      }' y  Q  D4 t! R' {
   }; @% `" o7 @& W" o. l$ U
   ```
0 R# ~! G2 a0 J  i
- o( z' Z7 d; V& |. \( g   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。6 U4 v3 H0 A6 M  l8 E2 d

! y0 x% _8 q! z3 w6 i3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
. l- S" Y7 U0 l) ~
' D5 l! h6 o6 O$ z9 I& q   ```
( f' Z3 V- r( V   <?php! c) P1 x/ H& D/ I9 z
   $site_wide_notice_title = get_option('site_wide_notice_title');
: P& z2 }8 p8 m: I" R2 z   $site_wide_notice_content = get_option('site_wide_notice_content');
$ c) Y! @# b6 e* N2 J) m+ S   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
3 Z( O- M& w* i# ?% h2 {       echo '<div class="site-wide-notice">';
+ f- \/ i/ c" J       if (!empty($site_wide_notice_title)) {" h& l$ {6 T* ~0 `9 ~1 |
           echo '<h3>'.$site_wide_notice_title.'</h3>';% h1 W# M( V1 K+ t6 h
       }
* F5 |& S; n8 G       if (!empty($site_wide_notice_content)) {% i! n6 ~% _& S2 W; i
           echo '<p>'.$site_wide_notice_content.'</p>';  u6 r  f/ U. Y  i% \- s! B3 F1 V
       }- Y* f8 d$ \9 e' t/ Z
       echo '</div>';: b; p' W/ Y* n5 `' B
   }' U" O6 k4 K8 @: L1 B( N
   ?>* n! {6 d9 u' U) ~7 d
   ```
* c7 \% j2 s" I, N8 t
6 D9 f2 c, P4 s- k, s   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
9 W& T4 K  E0 n& G3 _+ [! U# d, ]4 r; y4 q
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

332

主题

512

回帖

3366

积分

管理员

积分
3366
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?4 A0 b. _0 T2 G# Y! `- G
, G( ?/ f) i3 d$ F8 ~
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:; |. p* i4 u7 J$ A# u" E2 J+ I9 g8 p

" \; j- W' Z; |2 w/ g5 p1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
8 L8 z& Y3 F2 `' h7 C. y* F
% ?# z/ N7 `0 V. v```7 ]1 A& r) K' m- B' h6 m
function create_custom_post_type() {/ B7 |. j. C& o' G9 Y: e$ B
    $args = array(5 p) |) L2 H% s2 D1 r+ O
        'labels' => array(
: i; I7 \2 F9 P5 d2 i            'name' => '公告',7 c, ?1 t: e" e) L
            'singular_name' => '公告'
" R' J: J9 B& s% {, Z        ),
9 C: Z  c: t5 t$ D* {+ h' g        'public' => true,2 a" c) x3 s) X" \) `7 M1 O4 ?
        'has_archive' => true," h. T, Z6 l- `+ A
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),( m) y3 R$ [! D4 M# r5 O
        'taxonomies' => array('category', 'post_tag'),3 [) c& z% ~8 [: k+ |" \, v6 K- g
        'menu_icon' => 'dashicons-megaphone'," ^9 R: c  `) V9 `1 S' k: H- _1 P
        'menu_position' => 5,( a' y7 v$ h% e6 J
        'rewrite' => array('slug' => 'site-wide-notices')0 M: x- o' Y/ u# j# k8 v# F7 F) P
    );
- @/ Q8 ~2 m2 c- q; a4 v4 O8 P; S    register_post_type('site-wide-notices', $args);$ ?' c0 L3 Z' n
}& \  A( N* I: `
add_action('init', 'create_custom_post_type');- m% [) c- a/ J- v
```
4 _: E6 }7 ?/ C; {
) z, V# Z+ e/ m- `/ |在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。! |- Z9 Y  u) Q( P6 \) O
+ b) X) [( _$ H5 t  {$ L! m* e
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。! Z0 T% A! |: q

- q! L9 e2 s% w" I6 |3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
4 ~) Z/ i2 B2 E& v: P/ ^! I/ U, S9 V
```
, ?: t& I  }+ q# F+ P. z5 w3 p$args = array(! i& y9 \5 `* d) y0 x- }7 ~
    'posts_per_page' => 3, // 显示的公告数量5 [9 m  C) F, k8 }
    'post_type' => 'site-wide-notices', // 公告文章类型
2 ?2 S8 e3 O, h& k' f    'post_status' => 'publish', // 公告状态
+ y( g& Z+ r7 }- B. n    'order' => 'DESC' // 排序方式, m2 K4 B1 L) ^0 ^" G5 U, o' H
);
$ s: U1 T0 N; ^: z  i* ~# k- C  ~- r7 L7 E8 U
$notices = new WP_Query($args);9 c! _5 z$ ?# Q' k% O
if ($notices->have_posts()) :
. g0 c+ w: g  I9 _    while ($notices->have_posts()) : $notices->the_post(); ?>% t; \+ |2 s3 n. _; |
        <div class="notice">5 S! W5 y" e5 c* N# N4 a: a
            <h3><?php the_title(); ?></h3>
2 n% L# |/ E6 t- O8 L            <div class="notice-content"><?php the_content(); ?></div>& Y3 f6 {+ f: v( ^8 Y, F+ g
        </div>
& d1 W& h( T% }9 L    <?php endwhile;
6 v5 }5 K& Z% U% F+ h* f$ delse :& S) w: c. u" }
    echo "暂无公告";
1 h1 W* }$ B: uendif;9 t( q1 g+ t/ ~9 h: c: K2 d1 I
wp_reset_query();8 ?+ {+ a. A8 [( a; l" [' G; ~
```( a6 J8 p; ?  W7 p  g
1 N4 s7 z' S9 j5 x
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
3 H# p+ b' r( X3 u7 t6 d# V( c6 R  o5 [7 D
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

332

主题

512

回帖

3366

积分

管理员

积分
3366
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
$ B3 d& E6 Y) h9 Q% T. O) l5 j  N4 t3 @/ g! y
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
; k! v; n) n9 J1 F! l# D
) p8 i% q2 n$ m! X5 B- p0 \* j以下是创建自定义插件的步骤:# L3 e- e, U  ~6 {

) ]! f) @* t9 F' n7 Q1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
+ ]4 X8 f7 P& ~$ t$ D3 R  e8 `" g6 s; W" A2 B7 S/ d! l
   ```
+ J2 p9 ^/ x& Z; `4 d0 J6 {   <?php+ J# b( f- I9 f, p$ Y7 J
   /*/ P1 m& ~) f# d* n# p
   Plugin Name: Site Wide Notices Plugin
& u4 ~+ T# A/ X* x7 h   Description: Adds a new custom post type for site-wide notices.2 C& y7 y( R+ m
   Version: 1.0
2 ~- g$ H8 Z6 L, w' ^   Author: Your Name! Z- S  ~7 A3 H! g8 ^# M9 x3 Q
   Author URI: http://example.com+ a7 F1 q# n+ c0 o  Y
   */
5 U) K1 a0 l1 X0 @% J! K* `6 c7 S; `# I) R, U
   // Add plugin code here...
/ e% H& B( k0 e' k   ```
9 {9 a" x# u' }- F' P0 w9 L6 q# d
$ H! [  G1 j/ ^9 y* y: C   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
/ T, a7 J7 k8 {5 [! z, N/ I
0 c9 D  V3 X+ N. G' b2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
% W" Q3 k  @4 h, l6 _- R: o2 B, {- E8 l5 |" d/ f
   ```; R" u( @+ X7 v) P7 G, j
   add_action('init', 'create_custom_post_type');* |8 \/ {1 a+ I' Q
   function create_custom_post_type() {
- R- q. s3 e: ]* V  [  x8 d      $labels = array(( |3 T3 z( c7 V' `7 P% g" T
          'name' => 'Site Wide Notices',: G7 K1 H4 l) B7 `0 u- J$ {
          'singular_name' => 'Site Wide Notice',: L+ u5 n: }6 p! J! J! t
          'add_new' => 'Add New',
4 C( R0 o3 o( ^( j          'add_new_item' => 'Add New Site Wide Notice',
$ j9 [- A* ]! f3 A; t1 q+ F          'edit_item' => 'Edit Site Wide Notice',
, V  F, m4 s  ~$ h9 j          'new_item' => 'New Site Wide Notice',) X- V$ J: D+ [0 P
          'view_item' => 'View Site Wide Notice',
/ {( I2 t6 n& |' C( P          'search_items' => 'Search Site Wide Notices',
6 E/ n+ k, J* Z          'not_found' => 'No site-wide notices found',+ v. b5 ~/ O# E# ]+ m" ~
          'not_found_in_trash' => 'No site-wide notices found in trash': w! G( A& s7 J) i% b0 D
      );1 T# S$ |- G8 ]/ j2 Z5 t: k+ v
  q* j1 f; C( c- h+ r
      $args = array($ _) }' ]& \$ H" P4 L6 ^& h. s; {' j: X9 l
          'labels' => $labels,
& J# G7 S  Z$ y& k          'public' => true,
* x& H0 Y' ?0 f. Y4 e          'has_archive' => true,
2 N2 b# ~- }- U          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
; e* ]9 b: C* D3 C+ x          'taxonomies' => array('category', 'post_tag'),8 w% {3 T( s6 b" \, z2 k* ^
          'menu_icon' => 'dashicons-megaphone',
: I7 t& Q% {- P$ G1 `* S          'menu_position' => 5,
( y* o- ]7 d. B' R6 L# r          'rewrite' => array('slug' => 'site-wide-notices')
  Z4 V& U4 `! U5 F      );
; p/ O7 |7 }+ F( O" d0 }5 ^6 E+ R
5 J* k: s6 }9 i; ]4 K      register_post_type('site-wide-notices', $args);
6 G$ O- ?8 F3 |- ^   }
# S8 [% H" [- ~( |   ```; R6 d1 z( s( V# T
' b9 s+ H2 ]; G9 e
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
4 I. u3 y& |, w5 u7 a, s
" G2 A. W5 Q  Q2 \  F1 y/ w& u5 e5 l3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:% o5 R1 X1 P1 D# G- X
: U  r7 f# X" N- D4 S; S: Z  i+ b  k4 F
   ```
1 z% U3 T% {7 N   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
. v) W0 C# v3 k) v7 N   function add_site_wide_notices_boxes() {1 m1 t3 f6 o5 a, c: E! i) v
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
) {/ \2 a' k' Q1 k" C   }5 W; ~: z' i* B0 q+ O9 x

  W) g5 c+ x5 a( S   function notice_details_meta_box($post) {
* I8 T0 K0 s% b# o- O6 X- o) p      wp_nonce_field(basename(__FILE__), 'notices_nonce');
$ C  n# |  o8 S      $notice_title = get_post_meta($post->ID, 'notice_title', true);5 j# g4 e8 M3 _1 L9 U) f% F$ \
      $notice_content = get_post_meta($post->ID, 'notice_content', true);4 x/ p, q: |0 R$ p
      ?>, i: r2 ?* @! @
      <p>
. V; |0 j$ @  K1 Q0 X          <label for="notice-title">Notice Title</label><br>1 j& n- `2 T; @2 m" O& \
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">: t" c5 D- y6 ~1 X
      </p>
6 n7 s2 J' @4 a. T7 |( J  P      <p>
# O  s8 H/ J8 G. O3 U          <label for="notice-content">Notice Content</label><br>
4 o6 `9 ]/ J* ^4 A( @/ Y          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>1 ~7 H2 N6 m3 m- B
      </p>, k; h" d8 v1 P  s  L! ?
      <?php
( l: R' J; e/ s: l; b& l) G" s: o   }
& c; Z7 o! K! J' d/ O6 t1 |: O( R' `
, s6 o2 c- ?: o% p. c   add_action('save_post', 'save_site_wide_notice_meta_box');
* Y# r" b5 h3 z- f+ b7 H   function save_site_wide_notice_meta_box($post_id) {$ g1 Y8 ]! o: G
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))% q3 D. c7 R# k+ q2 V0 B+ L
         return;& L9 ?/ C/ l5 F0 i
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)5 V& v! [* K9 h% i) W5 F
         return;0 W9 }" T2 N7 W$ s6 L! ^7 t) B

$ {) q8 I- P  |; g4 b) f+ L! R      if (isset($_POST['notice_title'])) {
: [( Y. S8 i  ^! |" `# W! L! i          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
4 [. k' R9 d' K- Y      }
$ }: S- ]4 ]2 m& ^$ ?      if (isset($_POST['notice_content'])) {& E) N+ P$ X& \
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));9 j6 x4 [- S% `9 x4 s1 Y( w5 Z
      }
! T  i: j, y4 m% N6 H: T1 R( |   }7 o- E  M' T! ?% g+ W, n) \
   ```
: B5 Q/ G) v( v* e, n# y/ y% a& K4 L' e0 T8 R9 k7 _
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。' M8 F; K7 p; E/ n
$ w$ V% N; ~; G* S
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:( S: K" ?3 @3 S, A/ y

4 W2 Z8 {7 Y+ i1 I# I   ```
. E& u: f, l) U   $args = array(
; a' ^; P! _" H6 j6 e3 o      'post_type' => 'site-wide-notices',% m# r& M9 j# \1 z. R
      'posts_per_page' => 3,
0 G. ]* v$ o2 e7 v2 b* f      'order' => 'DESC',# g# v2 C1 D5 F  u# q
      'orderby' => 'date'
( w' k5 f3 R* e" b  [7 w9 {   );$ K" l# A" K: I6 D+ \8 U
   $query = new WP_Query($args);. c* P7 e; P. H( B
   if ($query->have_posts()) :' t0 J4 T2 L" n+ [( \+ r
      while ($query->have_posts()) : $query->the_post(); ?>, Q* S8 s7 }1 }; {
          <div class="notice">
0 d/ V+ }% |) c1 p              <h3><?php the_title(); ?></h3>6 o1 \) j$ j+ z% P& M
              <div class="notice-content"><?php the_content(); ?></div>
" p6 _* v; x: Z# W" ~          </div>& D+ u3 X% Q5 S# V* n5 X. v
      <?php endwhile;
* e' Y* }) a$ V, W! S      wp_reset_postdata();1 ~# U9 h1 @1 j
   endif;
  N4 v! n4 I2 P- }   ```7 [) B5 z/ x/ B

/ U+ \( S4 D$ o' s+ I   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|通达产控投资 ( 粤ICP备2023021749号-1|粤公网安备 44030402006137号 )

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

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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