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

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

[复制链接]

334

主题

517

回帖

3396

积分

管理员

积分
3396
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
( w( s& `) U  s( w7 u+ v( B2 c7 P3 H9 f; H5 k  N
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
9 n, K$ C2 [- q+ F3 y" u% Y" D' x3 F1 S* {
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
' r8 i. N8 o% P" K6 n# j8 A9 N7 \; F+ b$ B) }* R  ?" u  ^# E
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
7 b  b' Z- f& P3 n1 O" h1 C! ]5 ]) e+ Z8 v, U. |# e2 t  f
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
0 ~  @: B3 Q* y0 S5 M. V# d4 F+ i  O$ u6 k6 O4 C
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

334

主题

517

回帖

3396

积分

管理员

积分
3396
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?3 ^) E0 P5 F" X$ t: B0 ^5 G

- _/ @9 f. c/ E  b/ }* H如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
; E+ z( }% d- c0 a, W) F2 \' N2 J1 u& p
  v; U" T/ q  E+ |1 j1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
3 H& s; i1 D6 f  [! d" x1 i) D# q
1 b. I. Z0 E* Q" B4 d   ```
: k) X5 c6 N1 L7 K; _6 e/ i   add_menu_page(
, {; G0 b8 m! F4 p$ [8 ~       '全站公告',
* t3 ~) X1 n) w2 |  ?+ o       '全站公告',
1 B% d9 J& O" {( o. T2 U       'manage_options', //需要的用户权限+ F+ E# T/ B6 K* \0 g  U
       'site-wide-notice', //后台页面的 slug7 n( i2 Y& |8 Q* [% Z
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
% v* X* N  ?; d* _2 m1 T       'dashicons-megaphone', //用于显示在菜单中的图标
* P) P8 f: ]2 g2 b       30 //菜单项的位置
2 G+ F, S0 N% s. {7 X% h   );
5 A# w: U+ d/ ^' i   ```# l' {: ^1 [6 O" Q& {. [
% ^2 }+ p$ a; p$ f
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。. b: @& G9 a# T! ]: p& N) Q- V% b

( g: b3 `  r: T4 d* Z) T4 v2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
% R  Y( ]& u3 K: |; G! F
9 P; H' x4 b2 @+ ^   ```; G6 {  i, f2 Z  b
   function render_site_wide_notice_page() {
' v! Q  E/ E6 m2 D      // 渲染后台页面内容
6 g7 ~( w* D4 ~- H4 d- m      echo '<div class="wrap">
% _% ~% ~$ \& T+ u! _1 ~          <h2>全站公告</h2>
+ H5 X  `( G- T" t          <form method="post" action="">; f* ?' E; ]& ~5 ^& G5 K
              <label for="title">公告标题:</label>
" G/ \" j$ r; l0 k              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>, k/ x- K% F  W2 @6 S/ K
              <label for="content">公告内容:</label>
! G! ]3 a0 A% T* W6 x, z2 C              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>7 t1 Y5 L9 e( q* {; v: |$ i
              <input type="submit" name="submit" value="保存设置">
- G: Y: ]# E9 g7 e          </form>( @  U( t) S2 x6 V) p. q
      </div>';
) D0 E' a5 A9 Z9 V+ F
: k# s0 F' U, K1 d$ s- O      // 处理表单数据
0 I# g( [+ N$ a      if (isset($_POST['submit'])) {
* b8 ?( V  a8 A  l7 n2 s* {' y8 c          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));( d) H" I0 l! n
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));; Q5 P0 H/ t/ j1 m- Z
      }
- V& j( p% g, s* t2 |# K$ }   }
- N7 ^: j' V/ I3 K; ?   ```7 X# d1 E4 `) z5 P

; P, ~+ T2 N; a8 K. C( J0 T   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。0 Z& @8 U/ L' S4 _
. J4 \/ t5 q( J% y, o9 ]
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:9 P( e$ H" c$ K8 J

; ~4 k* V& R# j4 I6 @   ```
( B8 I3 ~, O7 R  ^7 J# |   <?php) o- W9 J- t2 D' F8 Q2 h
   $site_wide_notice_title = get_option('site_wide_notice_title');7 c2 u  F# @; g' S& h
   $site_wide_notice_content = get_option('site_wide_notice_content');1 @" X; G* X: n2 _! m0 V
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {6 n9 r0 ^3 T- z6 ]* }1 s
       echo '<div class="site-wide-notice">';& G  h4 ?2 {( j" h1 N& l! S/ ^
       if (!empty($site_wide_notice_title)) {
" N7 _  I1 L. k5 k' r, n           echo '<h3>'.$site_wide_notice_title.'</h3>';; h3 D& l' G1 p9 E8 p2 n# K! H
       }( k2 |3 y8 c# @5 l( o( A0 d2 A3 @
       if (!empty($site_wide_notice_content)) {
5 U; h3 D2 y! J, i0 E4 `           echo '<p>'.$site_wide_notice_content.'</p>';* }" c4 q2 F; \4 t1 `! B
       }) ~! U( ^( s$ g7 M3 X
       echo '</div>';
0 H2 B+ h! h# [/ ~0 c   }
- u: f. P9 f5 j1 c# \: z. O   ?>* a3 y6 V7 a) T6 |( }5 x
   ```
- Y6 h& m/ v  y) c* t* v4 i/ c' }9 w/ C7 {3 E8 j8 |+ n
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
/ S% Y9 Y. r" p/ ?" n
# I8 }. q% B! u# ^1 \  Y% {$ @请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

334

主题

517

回帖

3396

积分

管理员

积分
3396
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
* G( \  r1 }$ k! N* Q+ F5 M& g) M+ {& Q- l% a7 h
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
& s% }7 w  [+ Y9 Q# u, X& ^7 }, }1 X/ k0 _9 ~4 Y+ w6 B
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
8 w) g9 z3 C$ k" x5 Q* [+ G/ F0 r
& @+ `2 x' h6 l+ n" D( m, v, Y```
* y! s- O3 L6 tfunction create_custom_post_type() {
4 _. F& F7 C8 {; m    $args = array(: T7 m6 N! T0 \1 U+ \  W, c- x
        'labels' => array(
8 \  B' p8 R1 i# I3 x            'name' => '公告',9 o" x  b" [8 p6 o0 L
            'singular_name' => '公告'
, b2 _: H. B# d+ k        ),/ A" {  e  |# i7 P- R2 i: f
        'public' => true,
& @3 s- A# h0 I# K! b+ _0 k2 y        'has_archive' => true,# w3 X9 |$ Z# u* m4 X* d& a
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),& K% s3 }3 ~; Y8 r: r! a0 E
        'taxonomies' => array('category', 'post_tag'),
" C( A4 m4 x) P; B5 Z        'menu_icon' => 'dashicons-megaphone',$ ]5 N& @+ k& D
        'menu_position' => 5,
# l! _+ h% U7 R$ t% w: _9 ^- P* a* F        'rewrite' => array('slug' => 'site-wide-notices')+ [  m) M. [+ D1 V' E- T# a  E! p* ~; ^
    );. B0 d( r7 R+ r6 h
    register_post_type('site-wide-notices', $args);
( d  G) Q) ]* V2 k}! C0 j# h5 g  ], I
add_action('init', 'create_custom_post_type');
" ^! |- `% Y) b6 ^! V```& Z$ `5 \: Q! T! a% y% ?
% {, X* }& y9 [
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。( P% k' l+ u  Q& L2 t9 d

6 [1 \8 r; l# b& B8 }8 V4 i2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
1 g9 W4 O0 u+ \# w* g
! _* K' m$ {( N3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:' w7 q0 z! \9 p0 f+ G+ V
8 U* \" q- t  L4 U3 V4 E' p
```8 e) N$ x8 M1 ~9 j: w2 R* i
$args = array(- Z$ z" B' e+ `
    'posts_per_page' => 3, // 显示的公告数量
8 V9 H2 _0 s" d; D' u  Q    'post_type' => 'site-wide-notices', // 公告文章类型" @' {9 M7 `* h6 D8 R# e; P( D
    'post_status' => 'publish', // 公告状态
% d  l2 g( H* o0 {. V) S! X* B    'order' => 'DESC' // 排序方式
2 c5 n/ K6 ?8 P9 x);4 |' L, u. d0 [# M

! |1 g3 Q8 V/ k5 U) ]7 p$notices = new WP_Query($args);. |" F8 ]( R. G
if ($notices->have_posts()) :
0 r; w' Q8 [' d/ t& V    while ($notices->have_posts()) : $notices->the_post(); ?>2 z, v6 q; x1 u+ c  T* W7 V
        <div class="notice">
0 i" l( _5 k8 T! y$ V# u            <h3><?php the_title(); ?></h3>
4 w2 M2 d' F2 z8 `            <div class="notice-content"><?php the_content(); ?></div>9 Y+ V5 L5 g7 `3 `
        </div>! {+ j) x* R; w8 H: E; y
    <?php endwhile;; z& ]; r! a9 M( r- x
else :
. q  g5 a6 q7 V    echo "暂无公告";
0 {, L# s6 c  h3 Gendif;
9 K( k8 a2 T8 A! M# b. Wwp_reset_query();* m* ^' a) F/ Z- r: a+ e( I/ \1 W
```, y$ @6 a* I! R% d$ X6 f9 l
$ X3 d( V0 o- b- [4 F
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。( @+ z- [: K- Q0 p
" e& M2 K! {: E" c! ?
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

334

主题

517

回帖

3396

积分

管理员

积分
3396
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
; P! V  o9 J; F5 W) y
# O1 Y# k2 g( S5 c如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。' X7 r2 V5 O5 }

- }1 i0 \( y9 j) r& u( e以下是创建自定义插件的步骤:
, Z5 ?$ e( F2 S# N4 ?# |: S) R
5 p3 R/ t6 r1 _9 m7 m: ]8 \1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
6 R/ r, W7 a; J0 W$ ?' I5 o: P: I9 s+ R) W8 n
   ```* X' ]: `, P5 e# ^, [$ _0 d
   <?php
* \6 @3 l* P4 A! ^; R0 d# V  m$ t   /*
* V' u9 a7 ~- `5 C/ ?8 R! g  A   Plugin Name: Site Wide Notices Plugin7 X0 r: U- N+ R0 u% l" D* M
   Description: Adds a new custom post type for site-wide notices.9 |0 l- g  C6 V- A
   Version: 1.0
, J) V. ]0 v# ]3 i   Author: Your Name
6 h9 x$ A& B; P- }2 r   Author URI: http://example.com
" u7 ~7 X7 O) {+ T( B/ C. z1 N   */5 d' \9 N+ G' @

$ L% w/ B$ k. M   // Add plugin code here...8 Q% A% y- ^9 E7 o; u2 \' e: m
   ```
$ ?) [% C6 @. |' B# u. n- Y8 I/ c, \
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
0 J6 `& |4 S2 B  S% r
/ X8 c0 P; K& M& B8 J4 ^) _2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
! U* h, G, _+ T9 B2 ^) R8 u2 t; V6 D: s3 H. v
   ```- ]+ _6 e) t! r- d! C
   add_action('init', 'create_custom_post_type');
6 H% Y' W, q; s# d0 Z7 w( k# Z7 I   function create_custom_post_type() {
! z0 r; x; i; Z: Q0 r      $labels = array(
2 ?$ @0 b7 K  j. F          'name' => 'Site Wide Notices',3 d2 [/ U/ i& _7 \. j
          'singular_name' => 'Site Wide Notice',, k- k/ ~/ A4 O" I8 Q" W
          'add_new' => 'Add New',  i5 G. }% T7 B* B! s: V
          'add_new_item' => 'Add New Site Wide Notice',# Y/ B; Q7 |7 Z8 {
          'edit_item' => 'Edit Site Wide Notice',$ O9 W, T5 H  V$ j
          'new_item' => 'New Site Wide Notice',
) f4 W5 L( j; E( S8 C) A  G          'view_item' => 'View Site Wide Notice',; a$ ]) z7 c9 q' o- Z
          'search_items' => 'Search Site Wide Notices',; Z- ]! \$ x! u
          'not_found' => 'No site-wide notices found',$ ~+ [# B- p+ X" s
          'not_found_in_trash' => 'No site-wide notices found in trash'
' V& q0 T# L2 |+ }- W      );0 e' v/ J+ W5 \5 x& [4 A- m

6 T1 t1 L( N6 e8 v6 ]! x      $args = array(: g$ ~) P5 p8 P0 \: [, c
          'labels' => $labels,& c( m8 T6 a2 a* N! `/ Q  N& f
          'public' => true,
: ]! r8 e9 w# O: [4 B# K: {# \5 R          'has_archive' => true,
: [+ ^0 N& P" @. W/ a. N          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
- h! @6 |: K# u' v2 K2 Y. D6 a: a          'taxonomies' => array('category', 'post_tag'),6 s! n5 W+ d) x7 W6 O
          'menu_icon' => 'dashicons-megaphone',9 j; _3 q0 ]" y- F" n
          'menu_position' => 5,7 u( R& }& P- a+ ^# _
          'rewrite' => array('slug' => 'site-wide-notices')
4 b+ G$ L! C+ @& s      );, A- e+ Z/ W7 i/ g+ t- p+ R
5 H. K* i$ h! h) q7 j) ~8 J
      register_post_type('site-wide-notices', $args);
0 v' c9 i3 ?5 y) q1 ]4 [( {$ d   }4 L2 Q8 P3 i1 T2 Z; X: P
   ```
& v& G, s5 n6 d" M
- L/ M. z4 J- I5 U7 {5 ?8 h   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
! M! N# |5 h8 p- `& f- A4 A$ P( t# t1 {/ T
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
+ U8 j) \7 w# C) w" _
& ]2 d; z3 M+ J1 a# k   ```
6 P1 [. O# E2 y4 ~2 m   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
  u% D! X1 P. W   function add_site_wide_notices_boxes() {4 h' E/ J! c6 d& [; k
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
- {8 y0 Y# T4 s& b   }  H# m2 Q. q3 W) B6 ~( i* Y
+ |$ L" x' d" C7 e; U5 ~
   function notice_details_meta_box($post) {
, v- o! N" j4 f) _' c9 y      wp_nonce_field(basename(__FILE__), 'notices_nonce');$ f: ?6 R& H0 T# d
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
8 H; X; w$ b! |  \* Z4 \( B      $notice_content = get_post_meta($post->ID, 'notice_content', true);
) A. O. I/ ~( O1 h; H! N3 z2 R      ?>
" d; M2 i0 b( o$ U      <p>6 N3 }* l7 m: D
          <label for="notice-title">Notice Title</label><br>
, d; W7 S! T0 i4 n. q4 }+ v: d4 E/ v( o          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
; Q9 M! z! Z! e# S$ k* s. {      </p>$ Y$ \1 ?$ O* e
      <p>, ^6 w- ~6 {8 H& K6 G9 a
          <label for="notice-content">Notice Content</label><br>
; z/ n5 a/ a( N6 n          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>) d: Z+ V1 f, B. R+ Z
      </p>
. c0 K* m& h; v$ ]+ W% X, `      <?php
0 ^7 k  i/ u; C0 V( A  F   }& B& C1 n2 O1 p: K+ s5 B
2 T+ s. d# Y! G( _
   add_action('save_post', 'save_site_wide_notice_meta_box');
" ~  y- w9 G- [# Q4 Q   function save_site_wide_notice_meta_box($post_id) {
$ }7 X# ~8 v0 ^1 z. }; n      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
" d8 v6 c& V, ]  J$ L( M3 Q* M         return;
9 C; V& e- L" z      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
' @# n. o5 {9 P2 d+ B1 Y) }         return;3 p( {4 J$ h9 L  X  q- F4 t

  Y2 _% Q8 d/ K) s      if (isset($_POST['notice_title'])) {
* ^2 O% z. w! x( t9 a: F! k6 h" N          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));+ D6 i% J$ p5 R+ j& X% o( Z
      }( T2 M# L6 k$ I
      if (isset($_POST['notice_content'])) {5 w+ A% i) }3 d8 h7 T( p
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
! H4 B4 u) F: t9 D' B/ `( ]  O      }( _  k7 A7 K- F( z2 c2 \' n
   }% L  m2 j# b4 e3 Z" m
   ```
; M; ^3 O; h0 V3 H4 t+ q/ P& j2 t4 R1 |: R$ o
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
) q( ]) P) ^  v3 ~5 ]
7 A4 V8 r3 U, t0 p2 J' S- y$ Y0 _4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:' ]' T& _* j8 }
# j6 @% _" P5 t$ N& m6 ~- l
   ```
- ]6 s' v% P! b% B  h0 D1 R6 ^   $args = array(3 S( R/ ?  u8 D4 L* h& v, o
      'post_type' => 'site-wide-notices',8 l- }6 B- O/ i& `& k6 z
      'posts_per_page' => 3,
- j% p2 S- |$ ?      'order' => 'DESC',
/ u! D+ ^( N) H, M& B* g      'orderby' => 'date'
; V8 Z+ Y% @7 D' B$ m) Q# \   );
! `+ |% ], u6 D1 M5 t/ h   $query = new WP_Query($args);9 B, x7 D- L8 y* U
   if ($query->have_posts()) :# ?# s. G3 z6 _" W  c" Y
      while ($query->have_posts()) : $query->the_post(); ?>& T1 v/ v2 L! N3 d1 Q
          <div class="notice">1 r7 m* ~5 |! C& v
              <h3><?php the_title(); ?></h3>2 ~6 l: N) r7 U3 E) [
              <div class="notice-content"><?php the_content(); ?></div>
% N& ^4 k; l6 f' a, ]7 {. Q          </div>
+ a3 {) b3 ]$ F2 \      <?php endwhile;* q; T* q' t4 V. T9 o
      wp_reset_postdata();6 e0 t4 j. H9 n9 \5 R2 [! k3 {# r; H
   endif;7 V9 }9 j) ]+ G1 ?; b3 }2 t$ Y6 w
   ```) z: N" U) I2 s" a0 V. ~

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-2 18:53 , Processed in 0.093721 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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