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

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

[复制链接]

343

主题

550

回帖

3613

积分

管理员

积分
3613
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:2 Q. K! c' P2 B- ?
2 p# o. N+ U6 k2 G+ ]9 E' C
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
2 D: b8 N, h+ s4 e% _' X* G
$ z- r/ F  ?" m8 a2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。; p5 ~6 ^6 f- t- p5 Q6 H4 {
; n9 e! M! n$ p0 d/ K$ P' W; a
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。- P# Q) D, p: a/ I  {/ Q5 C3 m

4 j$ {' g, \& y6 S7 ?* [1 Y' e4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。; V9 d) e. S4 j% C
* X% j% w& ^4 B0 O7 R1 i' Z
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

343

主题

550

回帖

3613

积分

管理员

积分
3613
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
) G3 A, [: ]2 w/ e$ \) s* r; _* t3 S4 v2 G, z
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:1 Z& W" z% G. {; I1 R3 S2 J; D7 b

5 h: z5 T  q' j" g' C0 ]7 M& w1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
" G, n1 A, J$ u/ R. I3 t. C' w" Z9 G. r7 ]9 n& e
   ```1 g: k2 m9 M0 c. S. P. Z4 }
   add_menu_page(
( p& |+ j  ]& r8 J- o       '全站公告',
4 ?3 q6 K' e8 u, v' ~! ]+ t- W5 ~       '全站公告',/ R& |9 ?& R! Q* f
       'manage_options', //需要的用户权限$ o) X* p. D! b, [+ \( K
       'site-wide-notice', //后台页面的 slug
% A5 ]* f/ [7 g4 U6 B       'render_site_wide_notice_page', //用于渲染后台页面内容的函数. G. @* H* i/ Y0 _0 ?! S
       'dashicons-megaphone', //用于显示在菜单中的图标
# l; a9 N1 w, k+ S/ Q" G  Q2 E$ ^0 h       30 //菜单项的位置
" T2 s6 ~6 p  R* p   );; z% ]. B  I6 D/ b$ ?9 f
   ```0 g0 j% L5 H6 b, n- G

3 Q+ U4 n; D. Y   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
- H7 U6 U& Y7 Z3 K8 x
' L% j4 J, M! f0 u+ U' ]8 ~2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:% W' D( `" m- Z$ y
2 U! G5 U& R/ f0 i; O6 x9 J
   ```. f" \/ p/ p3 F3 U
   function render_site_wide_notice_page() {
' g- Z# F2 E& z5 P3 M6 J$ O$ P! ~! l      // 渲染后台页面内容
6 K/ q/ K% v' `- u5 \( E      echo '<div class="wrap">" Z6 U: e, ?# D
          <h2>全站公告</h2>
$ E) @2 G1 r. n! C3 }5 b" s+ r          <form method="post" action="">
% E: |4 ?5 H# [              <label for="title">公告标题:</label>
& f' `( _4 d* }- @7 Q              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>& t: r- R# H# ?9 x- H' y
              <label for="content">公告内容:</label>
( `- H5 X1 A" e) a& A4 q, M: q              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
$ {- c" N/ U1 o/ Z( _: P              <input type="submit" name="submit" value="保存设置">
0 i/ _8 ~% j4 {) j! C) e' M          </form>' s/ T4 m' U) T4 v. O) X( H, _
      </div>';* q- b& G6 k1 w; a* b4 x4 _

  e" M. e+ W* p' `9 f) n      // 处理表单数据
! w, ?: l4 Y9 E+ N. w5 h      if (isset($_POST['submit'])) {
' [6 `- ?: ^5 P' h( G! H          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
' c  M( @. m+ W2 d5 [. Q          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
% C- Z& ]  \# p      }
6 l: \* I. h+ _   }
; `4 m4 g. F3 g' b   ```
' n2 o8 s0 p" U. N$ G
9 O& W1 U9 P) r+ Q, h   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
! t) n% V6 g. T3 j' q
6 N7 U& \* F$ s4 g0 \7 n. T3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:9 L0 {; I, Z9 Y4 F6 Y  o* I

: O# C* C- m% X5 H. N   ```
0 w  F8 h1 e+ e6 B   <?php4 b1 U% o8 q1 a% ]
   $site_wide_notice_title = get_option('site_wide_notice_title');
! p+ M+ y! `  H& `6 W- b' V, l   $site_wide_notice_content = get_option('site_wide_notice_content');, N( Z/ @& F' J: Y
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {* q& A/ U. o2 j6 I6 x* t# s
       echo '<div class="site-wide-notice">';3 O. L# x8 I, I) e8 r1 v
       if (!empty($site_wide_notice_title)) {) {6 O8 c4 U6 _; R3 x; R- _2 f
           echo '<h3>'.$site_wide_notice_title.'</h3>';$ u( O" @* z4 q7 X, u, L- M9 Z
       }
1 V7 T; u+ ?2 J1 `) @( N       if (!empty($site_wide_notice_content)) {
2 m$ l1 |8 i, v, w8 ^7 q           echo '<p>'.$site_wide_notice_content.'</p>';1 V  r/ y5 H) Z, w
       }# J% x' Y/ p+ b4 K
       echo '</div>';
! E0 ^+ a+ \/ `- p   }
/ [+ l: B4 i" T( Y, O   ?>7 u/ i( t( I+ A
   ```! Q9 B1 S( d$ z: Q! W# J
1 F9 A1 i* H: v( V9 F$ T% X$ A4 z
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
1 w$ A' x8 j  e. w, O7 J
9 R2 r2 |5 x9 Q2 E8 z) L请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

343

主题

550

回帖

3613

积分

管理员

积分
3613
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?) r8 l* O6 Z( |5 H4 W3 F6 E2 H
; w7 d6 b% U, U& E  E/ ?
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:9 M* ^+ M% _9 {+ Q! h  m- X+ p9 u! @' c7 L

' B: ?" b5 \4 B3 t) e* R1 b  B( I1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
) d1 m7 s' ^! F& w: y+ B; Y/ |% z* p# L
```. M/ \5 n7 ?1 m: {- [
function create_custom_post_type() {: `) x# C4 F0 n. A. B0 H+ w0 ?
    $args = array(
5 k- C& B& H7 r  K' `        'labels' => array(! }- p/ V% B. q) R
            'name' => '公告',) r6 w6 k4 e2 e3 p( w1 O
            'singular_name' => '公告'
/ _4 n1 n& R& C2 l* _        ),
& g7 w2 k4 E" c* B4 T        'public' => true,& D; l- N' w! d! |3 d) Y3 ]
        'has_archive' => true,
/ S% w0 \, i3 A" P9 S        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
. c/ A# W  E+ T        'taxonomies' => array('category', 'post_tag'),
( j0 ]( @8 o7 N        'menu_icon' => 'dashicons-megaphone',
/ r; ]" u* I8 G/ a        'menu_position' => 5,
1 b5 w, a) A  r  g$ v        'rewrite' => array('slug' => 'site-wide-notices')! E! s; a# K. e' E
    );+ T  V3 l  T3 T1 Z6 l& j
    register_post_type('site-wide-notices', $args);
7 S0 [# s! U5 r" r: H- T+ O1 h: U}
0 D1 y5 D: c: U, c5 z) c7 Fadd_action('init', 'create_custom_post_type');* z  R$ [% O; W  f2 H* W3 H; s
```! @5 t* C# \5 ]
' T4 b. e7 o2 C+ g. B, w% X
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
3 W, k' p% N- U( n$ P8 |
6 [; W7 H9 |6 c) h7 r2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
/ Q* T! }0 r* q- u6 j3 k" K5 R# ^( K% ~+ w
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:- c7 @+ w% o  c* w+ i6 |
3 ~/ Z! i! C. B- m3 E6 v
```
* n* P9 O8 x3 Y( ~$args = array(0 k3 L% P4 T5 S, S6 r* s) C
    'posts_per_page' => 3, // 显示的公告数量8 p( F" E0 c$ e( F- ]6 l# }
    'post_type' => 'site-wide-notices', // 公告文章类型
) s/ Y# B6 Y# p    'post_status' => 'publish', // 公告状态- G% s6 W1 l: T8 y
    'order' => 'DESC' // 排序方式- `! ~7 U" R& w- `
);8 I- D- p5 g. t8 M

( ^, y- v/ i6 {- ^# I$notices = new WP_Query($args);. E/ k. X* ^' ]
if ($notices->have_posts()) :- X2 b2 i4 K& {! E& m4 u# B
    while ($notices->have_posts()) : $notices->the_post(); ?>
, Y" }+ P% P0 y- T' E, U        <div class="notice">
/ J" ]& \3 {" D* }            <h3><?php the_title(); ?></h3>8 F; g; X3 x2 w1 u
            <div class="notice-content"><?php the_content(); ?></div>
* i, z) k" c6 n% ~        </div>
! b6 {* v# i2 ]1 D  z  B    <?php endwhile;
# s  A  r* m# C4 ~else :2 N* ]. l/ m/ W  z! @( h
    echo "暂无公告";4 G, z5 X" b; l0 k* s% f8 g
endif;
6 {5 o; _, D$ \2 Y5 A3 Iwp_reset_query();& j& a' m. @( i' _) w3 Y
```5 T& N  B6 Y- `' Q0 K  @* J9 A
9 m3 ?8 [' a8 R, c
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。0 o9 `: j8 K" f6 g

- s9 c) ]8 r) G. V; p- w以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

343

主题

550

回帖

3613

积分

管理员

积分
3613
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
: \2 F( K" a$ {
' S+ j. L6 P# t0 B4 b如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
5 _1 k! n) F  k6 O/ V1 t! F9 _' w
; U; q" g% p& Q' D( j2 s% d以下是创建自定义插件的步骤:6 G: R# V$ V" S, ~! |
! _( R& G/ G4 q4 h0 h: ?
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
& _$ X6 K- I. y+ f
" n* Y- T% N5 T& E2 ]/ t' \   ```
# ?3 v9 z- d- d  K   <?php
1 M# V8 O- A! ~( d9 N( a7 R7 `   /*
! b6 z# N; H$ a( h, K1 ^7 s   Plugin Name: Site Wide Notices Plugin% V. H4 E* R  i9 m8 l2 m
   Description: Adds a new custom post type for site-wide notices.1 b% |, z) B2 S( z# }& X: q
   Version: 1.0
% Z3 _: w1 e( E% \$ m  F   Author: Your Name  F% [* v: s7 t* H$ h$ m
   Author URI: http://example.com+ b% U9 \+ H# Y' ?8 K
   */' t% ]0 C/ L1 K- a; K/ q
4 y, Z2 f9 [9 A
   // Add plugin code here...
( c' r- k  c) m  ?# y+ B* C$ w7 d   ```+ s4 Y  I  r1 u4 j' Q$ d

6 S% e% }+ A6 Z, ~& B+ Y: v   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
" o" j0 m5 U+ `9 |2 Y" w' w2 |
* R! B; J8 f9 g9 [  z+ R2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:6 o# v2 @( J7 k8 H
1 Y6 D* ^, ~0 N8 Z3 l; d$ w
   ```% o8 \: q; Z; \( d& m
   add_action('init', 'create_custom_post_type');; t  V) H) [5 O' T- E) a6 d$ n
   function create_custom_post_type() {. W# _! \3 q3 z3 E0 z
      $labels = array(
6 h" }1 W' q& x4 H' d$ v0 V          'name' => 'Site Wide Notices',$ X# R0 H4 F4 z" q6 r
          'singular_name' => 'Site Wide Notice',7 I" T9 b0 }6 H: H7 P
          'add_new' => 'Add New',
) [0 M' Q# H4 d) K- k% q( ]          'add_new_item' => 'Add New Site Wide Notice',. L2 C0 Y! P9 E& R4 L9 L
          'edit_item' => 'Edit Site Wide Notice',
% |; P) L& A  V2 X, b          'new_item' => 'New Site Wide Notice',
1 |/ {4 [+ d! h8 r% k          'view_item' => 'View Site Wide Notice',
! ]( X- q& ~4 B+ z; |6 Z          'search_items' => 'Search Site Wide Notices',
6 [% p" k  H- s' ^/ X" i- d          'not_found' => 'No site-wide notices found',
. h9 r+ j$ V& a          'not_found_in_trash' => 'No site-wide notices found in trash'
" r- d/ {( m- q; L3 x      );# m- ^, ~: C" g' P: [
6 R6 @6 B: c4 L& w4 A
      $args = array(7 _( U2 A0 R/ Y, V! U
          'labels' => $labels,1 h% c' d5 r8 e
          'public' => true,
0 r9 x( B) D( @& B          'has_archive' => true,
4 i1 f, T/ {* b5 }9 j3 @+ v          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
6 o$ A; J7 a& r* ]          'taxonomies' => array('category', 'post_tag'),
) E# ]. f' H& [3 a          'menu_icon' => 'dashicons-megaphone',
! z1 Y9 l& V5 _9 u9 l          'menu_position' => 5,( A7 L) @' x& y# s
          'rewrite' => array('slug' => 'site-wide-notices')* J" H) H* k3 X+ ~
      );! U1 r, \, b& ^2 C/ V8 y2 h
- J) i% X; M4 x/ t( d* ]( z$ R
      register_post_type('site-wide-notices', $args);
2 ^; S# ~5 P6 M) N! S   }8 e7 N! X. D' r! S* H
   ```4 U+ J6 c8 b" q' m% I0 Y
( v3 n* k& L1 H5 C7 v& p: f( e
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
9 }7 d, W& I# q; Q8 \* I& p2 S- P6 [4 V2 c
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
% b( r( v; k/ a/ b. \: Q$ E0 {! |( s! |7 Y
   ```: W! B8 N, S8 t& t8 h
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
2 J4 Y. f1 w  Q' }6 C. q' s   function add_site_wide_notices_boxes() {
, d; F- O: V2 T' r1 E      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');$ f! n& w& B5 z0 n" Y- {3 o
   }$ j- D) y4 }  O5 v+ D* Z

7 v# ^; P) A4 R) }  s, ?   function notice_details_meta_box($post) {6 o1 @' E' B' Z, G" O) q  X+ f
      wp_nonce_field(basename(__FILE__), 'notices_nonce');
/ V& F  F' ~' l! f      $notice_title = get_post_meta($post->ID, 'notice_title', true);8 W9 T3 X& r) a) ?( \* s/ Q! D
      $notice_content = get_post_meta($post->ID, 'notice_content', true);# D/ `6 e9 `9 _8 a
      ?>
5 ^/ }5 z  E. R. g8 U% e2 P      <p>" O, ?2 l4 o% C% `& }
          <label for="notice-title">Notice Title</label><br>
+ t' w2 ?% O7 v! {) @. {          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">& c: ^0 s" \, x. o% |
      </p>6 h# a5 H0 q* o; \' x
      <p>& f9 `2 c4 l8 n/ d0 Z4 n
          <label for="notice-content">Notice Content</label><br>0 h" U6 z* O7 |2 v/ e1 H
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
* U+ ?4 q1 `4 B; s5 T      </p>9 G% E" a1 p* S0 l; T
      <?php6 M5 Y. d$ i; W- z& g( h7 _
   }6 d* q" B1 {& N4 u( c# \3 d# D( s
! i$ ?8 A& ^1 g0 H5 ?& c9 d
   add_action('save_post', 'save_site_wide_notice_meta_box');
  k: ~+ J- _- w. N9 N$ E3 c' s$ l   function save_site_wide_notice_meta_box($post_id) {7 ~5 F, ~% x" _; v3 @
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))% r2 C: F  r6 ]% R3 G/ k, P0 z+ ^
         return;
; B1 G4 k3 T0 i1 `) ]1 y2 ^      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
; V2 k; o$ _. w" m2 Q# `         return;
: M: _2 j, P1 i' C# C. x) p$ q& B/ F$ ^6 R1 z# T$ [! b
      if (isset($_POST['notice_title'])) {5 _, f. b& `+ K! x
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
) M9 ^7 ]8 b! d      }0 |; l) v2 j* A; O/ R( c; Q! L% W' ~
      if (isset($_POST['notice_content'])) {
6 p; _6 |. X/ _( c, w          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
- \, T7 N1 I' w1 k4 X; \2 g2 v      }# u, `/ Y: W- I. e, n
   }* y+ e7 d9 }" i% V
   ```$ W7 B  \  K% n2 A  v6 }/ z. j
- i# N5 i( C  Y: h3 u* K
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。/ u& B0 `% A2 M3 d# V5 F

1 @' V1 Y$ T$ _2 R+ J% u# z4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:3 s& ]- `" J0 h- p$ B. U
  [3 p- B" A3 ], b4 |, u3 S5 X& v, L
   ```+ ]+ @& s5 \2 x1 B$ U
   $args = array(
9 C4 Z# S9 P; Y! q  V0 U; S" }$ h      'post_type' => 'site-wide-notices',
0 P" u. H$ i( l& [. q( D      'posts_per_page' => 3,
: O; p( v, H1 y- {; P8 q      'order' => 'DESC',% C2 a' @7 l/ [& K# x: h" L
      'orderby' => 'date'
9 ]2 X6 u1 }' T" m( }8 c9 ?7 ?   );
' e* y5 t4 M2 s0 W$ k& O   $query = new WP_Query($args);
# y; s! a5 d2 n+ f   if ($query->have_posts()) :
6 K, _3 @' a3 D0 S5 G' I      while ($query->have_posts()) : $query->the_post(); ?>
3 J2 f) Y+ {. e( z' s9 F3 j' I0 o          <div class="notice">+ A7 G) T2 u; G; i/ o
              <h3><?php the_title(); ?></h3>/ y+ ~  _) ^! W* K" O0 N* w
              <div class="notice-content"><?php the_content(); ?></div>
1 m  B8 U, t( w0 z* M' Z& S          </div>
: }. [$ L! C& {$ O* G      <?php endwhile;9 i  d; K- g' n' K: i* e
      wp_reset_postdata();, F$ x* _" M1 c
   endif;
: X, K7 l' e' f- E   ```" {3 U9 O( E" ~, W

% B& q* ?$ H. @) d: u' i   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-31 04:33 , Processed in 0.019935 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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