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

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

[复制链接]

332

主题

513

回帖

3376

积分

管理员

积分
3376
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:' m, {2 Y, f2 R3 n8 x7 U! M( p4 I

8 }+ M& ]  L6 g6 k, S  X1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
4 j6 b; S9 i. h* r
& o4 F# Z" {$ b) B( w2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
, B) s: O5 t3 ?0 ?
! U& G8 V# H# j( n2 w5 P: m# c3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
4 _, I- _" j5 |! w/ H
6 q% B0 s; t' p7 m/ f  s4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。5 z8 Z( ]* @  Y6 ?

5 g2 r) e( z5 s8 _4 F注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

332

主题

513

回帖

3376

积分

管理员

积分
3376
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?2 N) {6 R, j: Q8 W; Y8 S( m. V
, @( a$ k, u& s3 G; i
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
4 p3 S0 b3 R& O
' Q5 s5 V0 ]8 D& t9 T) c, O2 E1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:% n! u% e$ Q6 P; }& c8 h% L
/ D% c: U$ o, c
   ```. |0 ?: R3 ]; L2 |2 U: U
   add_menu_page(% c6 r' l" I3 I. x5 E
       '全站公告',9 N3 s* ]- b$ h! W) e  g  u; ]
       '全站公告',8 ]+ Y8 i* U0 d4 E. }; @2 \
       'manage_options', //需要的用户权限( D' g$ I/ f7 ~9 s: n" Z
       'site-wide-notice', //后台页面的 slug/ q' n/ t4 S1 t. f2 d
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数7 m2 a& T! [. ~! E. F+ N3 {3 v
       'dashicons-megaphone', //用于显示在菜单中的图标
7 ?* l: o" p2 C) d: Y       30 //菜单项的位置8 t; M7 ?: G# n9 T( w+ n4 k) R
   );9 Q# H  y% A. E* B( P) |( ]) F% F8 ~' u
   ```
8 N2 `) s) Q' ]' G. G. T) U$ H, w8 ~" F# G1 ^# P& d
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
6 F: v& w5 T! Z) E. w2 e
& f6 s, _0 z. j0 z2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:* M9 g" U5 s$ b/ k, z4 f* ^: \% W
4 F2 i# {$ J. r" r: s
   ```
8 Y$ t! _: m5 O   function render_site_wide_notice_page() {
7 k& R4 \. J% M0 B      // 渲染后台页面内容
  N( x, Y6 T' O) Y5 ]      echo '<div class="wrap">
9 [: f) A0 }) j1 ?# n          <h2>全站公告</h2>6 x# @2 C* x8 o) m- c4 \
          <form method="post" action="">
5 V9 O5 A* ?# v& v/ i              <label for="title">公告标题:</label>' c" c9 h3 Z9 x2 g% m5 c
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
4 L# u$ }  ?$ M1 G8 w) L& `9 i              <label for="content">公告内容:</label>9 q  J8 f) B; P
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>6 }! n  \) D4 U4 `
              <input type="submit" name="submit" value="保存设置">
2 {6 x# Q4 {2 H: a          </form>8 o  [( ^& S0 g& E* q5 F7 y
      </div>';; f. o& V' c4 S+ _, }1 }3 m0 K

  P3 R( X+ @: ]! t      // 处理表单数据
  a! W, t6 T: H+ W( [8 X: B( q      if (isset($_POST['submit'])) {7 O. F9 ?* [+ K2 q1 p9 J
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
" c% [, p: ]- ^; b/ h7 o. o# r          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
& _# p' ]8 y) a; ?, {7 @      }  O2 F& _- ?4 O6 v* M% ]" ]
   }
5 u: Z5 s' U. U   ```! ~2 O1 \/ v2 T. T

" V1 [+ n! X6 J& O   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。6 u, i% H6 w; {5 x' R

+ d' f+ I& C6 V( A& N& n1 R, S  ~9 @1 e3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
$ s) {, H; ]0 j& J6 A( s% }
, k9 e# e; i; t4 p2 t$ v; D   ```2 S% h% z4 m( c3 j0 O
   <?php
% Z/ y$ s4 \( l4 p+ i   $site_wide_notice_title = get_option('site_wide_notice_title');
" {7 O: u! l, ]- o& R+ T   $site_wide_notice_content = get_option('site_wide_notice_content');7 z' v( d) K" N7 g
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
8 Y0 E1 g& V& e- \( Z       echo '<div class="site-wide-notice">';
  `5 V$ c& D9 V6 w) o! Q# O" u3 ~       if (!empty($site_wide_notice_title)) {: K" y" V& o3 j# ^& W* b7 @
           echo '<h3>'.$site_wide_notice_title.'</h3>';2 F* O4 Q. j9 M/ A; S0 a4 o
       }$ a( X. h! F6 s. A3 E3 c# J
       if (!empty($site_wide_notice_content)) {. m( j2 M% f) h* E0 [( n4 Y4 K$ j2 J
           echo '<p>'.$site_wide_notice_content.'</p>';
% a, f( g, H' G4 F) [       }
( \3 ^! F5 [& ~9 ~* B" E$ W" @       echo '</div>';
+ T" B. J) z. Z  i% \2 L8 X$ ^8 V8 R   }: Y: e9 G$ j& `. R
   ?>8 g+ u: l- Z) `' j# L) M9 v
   ```7 E: p5 C. h  w% s& l: x9 K$ F

& E9 d" Z( ^$ u: H+ n   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。5 v7 h# [, j2 _7 e6 O
/ e8 ~4 M; N: ~+ T, C  q  w
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

332

主题

513

回帖

3376

积分

管理员

积分
3376
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
  x7 u. A3 [0 C' i. n* n: K0 k& _4 v0 O5 n2 N% C
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:1 }/ @& L& r6 m
( A( \( P4 h8 w8 Z) P9 g# \# {( n7 @
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:: C% q6 D. d- ]/ O$ i$ [

) ~0 T+ h: [9 O```
/ H1 [* }. Q* }8 B/ L; s4 hfunction create_custom_post_type() {
1 N* h7 h$ Z( I. G    $args = array(  s$ p, v; |! e6 d
        'labels' => array(! C! N7 x0 Y7 F
            'name' => '公告',; A# g( d3 A( g8 Z) |: n
            'singular_name' => '公告'2 I3 {7 e9 c* U" n
        ),& Z  N. c. Q9 Q( s4 M0 `
        'public' => true,+ o8 i" s1 @6 A2 _, I
        'has_archive' => true,5 n4 T6 E0 s$ e# u
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),5 p; J# k* E( q8 Z9 c: h
        'taxonomies' => array('category', 'post_tag'),8 [$ ~: V' N2 @! i% q5 J/ {
        'menu_icon' => 'dashicons-megaphone',
5 b1 Z. l4 }9 Z% I( @        'menu_position' => 5,
7 m9 M5 _* o& k* X2 Q. D        'rewrite' => array('slug' => 'site-wide-notices')
+ d3 }6 z6 f. g2 H$ `    );+ |- g: Q* d. _) t
    register_post_type('site-wide-notices', $args);
' r4 F8 _( b3 I, ^}
1 N" ~- {: O! X8 badd_action('init', 'create_custom_post_type');
  [* @6 }( s4 N6 U```( ]  F6 V6 F. ~8 f9 O
7 f9 `2 [6 I0 e2 ^2 r, ?
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。$ @! h/ P2 N; [' ~; f
9 j5 y: ?, ?; K3 M' p
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
( p) h; J( e3 s/ K
' F: t; p: X- }4 i5 v! ^3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:4 M/ O9 Y( B) A( }; Q
2 t8 B3 A% M6 O" c/ e, B
```
8 n/ C6 ?; _  m. T7 c3 L" l$args = array(
2 V( T; U7 j7 H4 t# g2 \    'posts_per_page' => 3, // 显示的公告数量
. g! p' a: a  Q- ^    'post_type' => 'site-wide-notices', // 公告文章类型
7 _' P5 }, U) S    'post_status' => 'publish', // 公告状态" F9 \" x  W) M! t: S, h
    'order' => 'DESC' // 排序方式. @5 J# U) Y) U6 o' f* Q
);
. D* R# F  H" J# L7 S2 q
! E- {* t* B( X# A' E2 f& E6 z$notices = new WP_Query($args);
+ [) A) L" R4 J. h" E' ^if ($notices->have_posts()) :
! s  s; z. F  x    while ($notices->have_posts()) : $notices->the_post(); ?>7 @$ K7 ~0 w3 U& _) R' Q
        <div class="notice">
; I4 V& Y( V7 c( F. O, R( S3 m) A            <h3><?php the_title(); ?></h3>
4 l$ J1 B4 ]. I            <div class="notice-content"><?php the_content(); ?></div># t) z5 R7 m1 C  D5 l' ]3 j
        </div>( d) V; q) {" q* @* ~
    <?php endwhile;
+ H& d8 x  r: ~else :
$ L8 s; ^* q6 I% M5 g    echo "暂无公告";+ g/ }' \3 O/ e; n/ F$ f
endif;) D6 r3 e0 r$ \* s
wp_reset_query();2 v4 |$ f7 b2 o+ c  X' c8 j5 m
```
  l0 D; I8 Y+ B; D. L$ i6 D( G
- j0 X5 X: N$ R这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。" G/ z5 o4 p9 M6 {- f+ C* S
& ~! a8 @7 w" H2 d9 g6 a; C7 w
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

332

主题

513

回帖

3376

积分

管理员

积分
3376
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
, v9 b$ J: [( S. i! g7 l  D# U* i* N! z' v* y+ O
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
* p* u& }( b/ C! P# v" r( O& G+ K
5 K5 |9 H" V' s; ~% O7 H以下是创建自定义插件的步骤:
) T, V) |, G2 r* X5 `% T; e8 b( g  W  D2 v9 [2 g" ^
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:, Y  _! a4 X% C- g
% ?) }, b" g/ z1 C$ i1 C& y! r
   ```( a. R5 T5 h0 @  z
   <?php
( G+ t6 `& \& M* A0 J1 J  s0 U% a* P   /*
/ w8 S  r+ u0 C' O2 a: u( \   Plugin Name: Site Wide Notices Plugin* v# r& X6 T, b2 B
   Description: Adds a new custom post type for site-wide notices.7 D5 R4 v4 }! C* [
   Version: 1.0# k" v9 u3 b; h% w' n8 C
   Author: Your Name8 M/ w  t" u$ @/ I* S* u  t: K
   Author URI: http://example.com2 o! {0 }# V9 S$ a. k
   */
; C2 q+ O$ z2 w6 F9 ]" v& z5 h5 g5 c0 ~( q
   // Add plugin code here...
. @% Z8 M" o$ _3 l   ```
5 K6 r# ]+ I" [; t
  l% o3 x' f0 X: x, h6 H! T   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
( E2 e4 ?: ]  O7 Y/ w5 u: ~$ |% j. [+ j+ n8 J. _
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:( ]/ }/ Z6 n5 E& p, f% a

1 f" y- ~. Z1 Z; H   ```5 W/ t9 F3 ~9 S" G
   add_action('init', 'create_custom_post_type');
0 Y: K9 m8 a8 k! g- u) Y   function create_custom_post_type() {$ p. D( }$ D; ~4 }) B
      $labels = array(3 u! \  U; O. m, O" X5 ]( N
          'name' => 'Site Wide Notices',
5 T# b$ L6 a5 m+ ^6 ^          'singular_name' => 'Site Wide Notice',
8 F1 M1 d- U$ I" k( l# g          'add_new' => 'Add New',2 y5 O: J/ `! i$ i7 c# x
          'add_new_item' => 'Add New Site Wide Notice',; c$ @/ [; m0 }' f
          'edit_item' => 'Edit Site Wide Notice',( B: y7 \( D  q/ S, O& G6 N
          'new_item' => 'New Site Wide Notice',
! D3 F* D# ^' D- P          'view_item' => 'View Site Wide Notice',
, Y0 r' N6 K* ]; K          'search_items' => 'Search Site Wide Notices',
2 b& u5 S7 l1 b% E0 I$ ?: p+ {$ C          'not_found' => 'No site-wide notices found',
2 o5 d% B+ @" x          'not_found_in_trash' => 'No site-wide notices found in trash'! F  {! }6 d; m/ G; g% Q
      );$ o2 o: J& T3 y; p# O

1 I) A7 f5 H& p. K      $args = array(
8 }1 w+ Y: w, B7 l          'labels' => $labels,5 P8 t/ d4 l, J1 \9 W
          'public' => true,
& m4 N& E, _; L          'has_archive' => true,
* W% {, I9 |- ?( b# O; f          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),- R5 A5 V' ?  X, i1 N  a# `: w
          'taxonomies' => array('category', 'post_tag'),( ?' C9 B$ q! V/ ~" s) Y9 F
          'menu_icon' => 'dashicons-megaphone',
" G8 q# q. V3 F% p          'menu_position' => 5,# ]0 I" h( Z' Z8 F: r
          'rewrite' => array('slug' => 'site-wide-notices')
' @6 B) w4 f# G) D; p4 G7 N" C      );+ a+ o/ k7 ^( j

% w8 P+ u, x9 d( S% k5 F: D' R      register_post_type('site-wide-notices', $args);8 q5 G- x! k5 C, W
   }
5 S# l2 V- M1 z6 ?2 ?2 o& A( f, F   ```
, v/ ^0 v/ ?4 `; s! ?) v( N$ d3 d7 c
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。, g2 A9 M2 y. `. g9 E( A( {
: V9 g! I1 X4 ]4 J& ~0 v" e: ^
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:# D4 U$ l0 w7 V: J, G$ P. D

; n# A* }& {4 @5 \* o8 T7 q. g, j   ```; H) I; A5 D# B) w- R- d
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');, I# l( _+ l4 x- G5 O- W( v& L
   function add_site_wide_notices_boxes() {
$ Q' t6 G: u3 j2 P# n, p( E2 f      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
* P% h, L1 [9 o/ t: z4 j  f4 D   }
9 m6 T! f8 ~- L# O1 E( x: [" T1 O  s3 r9 |! a
   function notice_details_meta_box($post) {/ v" r( ?6 M7 v1 U  d, W! p
      wp_nonce_field(basename(__FILE__), 'notices_nonce');" p1 \" t1 Y- K( d  T" H' n
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
- w5 E9 V4 ~( f1 }4 ]      $notice_content = get_post_meta($post->ID, 'notice_content', true);
: I2 h# \2 ?; ^- E/ v2 z      ?>
7 N. y4 m9 H$ J      <p>
# j& v. l5 C" W          <label for="notice-title">Notice Title</label><br>8 J( y5 \, ?+ Z! C3 N
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">' ?. t2 t! [( W3 r4 e
      </p>; C4 z( S2 H, o# g: E: a. a
      <p>( }0 Y" i, R9 c% u
          <label for="notice-content">Notice Content</label><br>& h; Z' c! w5 N" S* U9 n; }
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
+ z& d' C3 U# |; G; o      </p>3 N2 c- j+ \5 a
      <?php
% y2 {! {) n; Q. E9 t   }
" \; g0 V. F" h) f0 I8 O! A* t) o# H0 ]; K6 L5 N  r4 N
   add_action('save_post', 'save_site_wide_notice_meta_box');, j3 m9 r! E' N. g: L
   function save_site_wide_notice_meta_box($post_id) {# M  N" I% e6 P
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))( s8 n2 c5 c7 `( i
         return;* Q) n* u* i* M+ o0 q6 z) \
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE): [6 E9 d4 l# }$ L' u
         return;2 E4 a  p4 W( ~4 c( p# b: D

* M5 N8 y  z! f6 M1 C( }% ~' R      if (isset($_POST['notice_title'])) {
6 _1 F/ x3 M6 U0 H6 ?8 P          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
% A/ y2 }. i. v% A# J      }
5 S, _, H+ J4 f9 o      if (isset($_POST['notice_content'])) {
: e% I6 Y" H  n6 Z, I0 R          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));; z6 q7 c6 E, x; A2 \: m
      }
! C4 f0 o. G. i9 S0 b   }$ D! A5 T- v/ A+ ~) E' Y
   ```- l8 k/ Z! S* |, G& ~
) X3 B  W" G0 h7 I
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
1 Q+ S. O4 T4 `- S  G! c6 h/ @: v/ U- x0 J1 A6 d
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
/ }2 G, B2 ?3 Q! W4 G+ l0 Y! s7 S8 |9 {  c' E7 Q$ z
   ```
# b+ z2 N8 d9 T2 f4 s* l- k   $args = array(
5 }& Z- t! O& S% g0 R/ x* O& V5 S      'post_type' => 'site-wide-notices',
- y/ \$ Y( Z$ N, Y3 `9 F; H) K% {      'posts_per_page' => 3,& o- {9 Q& x4 i
      'order' => 'DESC',
% q2 c1 B8 B) x4 d: u; m" U8 R      'orderby' => 'date'
: z9 ]3 c4 V  l& j: A* w* b& Z1 s   );) m' b! ~2 i  b1 l
   $query = new WP_Query($args);
# k( b( P) p7 x1 ^& ~   if ($query->have_posts()) :* [  k  W2 |9 h1 R' p
      while ($query->have_posts()) : $query->the_post(); ?>  J7 G" k0 f6 A9 Y( b" C) V
          <div class="notice">
" u3 R! u7 a+ V0 c( P+ p              <h3><?php the_title(); ?></h3>0 P7 e! ~4 I7 |( Y. t! e
              <div class="notice-content"><?php the_content(); ?></div>
9 k2 M. {" P0 S          </div>
+ L1 K) ^: P" Z3 L' v, x      <?php endwhile;
* s7 l$ T! \* G& X: X% ]# B4 E      wp_reset_postdata();! Y' d( h' r4 B+ p- j( R! U
   endif;) b3 T: P* w+ x! Q* h4 P
   ```
2 B  n4 N/ b6 C! Q
" \( z9 c  m: ~& n* j, M   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-27 06:49 , Processed in 0.085591 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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