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

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

[复制链接]

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:! t2 `) b, b8 J3 W7 i. ~; X4 P

% M4 T  K9 v- U7 l. d, M1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
, ~9 i/ \/ W( X' Z0 j9 z9 ?7 h3 U$ ~1 t7 h
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。  K5 f4 s; K% L7 }. b( d  j! N2 `

  \5 G6 m9 y! [/ c; s3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。7 K7 ?+ [* V8 a1 u. C1 f

% v# s" i8 A; P1 ^; g4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。# j5 P5 c9 ]' b; l" g% Q
7 v5 Q4 F( C* Q8 C2 @) W1 ?" t0 X
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?# F' w/ t! k1 C: q7 K
% d# y, O- D. R: K8 d3 L( G0 A
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:7 k% f. `+ |* _

8 \8 Z/ c! J2 G: S- k1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:# _7 r6 e" m9 M
; @0 u# N: {( a
   ```5 P. L7 f+ }' m. r8 q& z. p2 p
   add_menu_page(
3 l6 `' V. J  b6 j' D5 T( b       '全站公告',
8 U. E4 [, a$ |1 ]% l       '全站公告',
8 L5 e$ y' f% X0 v       'manage_options', //需要的用户权限
; L$ X' N$ u" c7 c       'site-wide-notice', //后台页面的 slug
1 b+ m, k( a  m) {- r       'render_site_wide_notice_page', //用于渲染后台页面内容的函数+ p# E7 s: [- q
       'dashicons-megaphone', //用于显示在菜单中的图标
, U8 F4 C, W/ f$ b1 u. a       30 //菜单项的位置* H2 G+ i8 C5 n7 f, ?
   );
0 V+ g# u, _, n3 L' h   ```$ ~, _* n2 c' c7 x
) N2 B( [: ^8 m
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。# Y% e1 c# ]1 U* N* e( J0 {
: E* K6 n4 j" y( K; m5 p  |5 e
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
/ g  r/ S+ J# A. m' n. h7 G7 u3 ~6 ?3 A: H' n! B0 X, c
   ```
0 {5 c( l5 K4 R1 z   function render_site_wide_notice_page() {! s5 g; I# U9 M; b
      // 渲染后台页面内容
6 T1 c: H+ {& H1 B: m. a! W" c      echo '<div class="wrap">% S7 h6 S/ d5 o8 Q# X/ ]
          <h2>全站公告</h2>
7 h7 l, Y/ b! N6 W0 ?2 p+ f          <form method="post" action="">9 n) E8 s" `: e9 _
              <label for="title">公告标题:</label>
  H$ A. u' U2 X5 m              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>9 P8 a$ Y% f7 H' M/ ~0 t9 g
              <label for="content">公告内容:</label>
5 `4 o7 ]0 W. j6 ]              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
7 C1 J' L4 E  X/ S0 @              <input type="submit" name="submit" value="保存设置">
* Y8 {  w8 k9 u3 z          </form>
( {- f$ C. e7 R6 D8 T5 b      </div>';
# p# I- N; H8 u% |, z' w3 k! a# H$ w! j0 c. g1 ?
      // 处理表单数据* ~5 d* a& l/ d/ u1 Y% q
      if (isset($_POST['submit'])) {
- `/ t# g* R, n; b+ p, E% h) l          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
# V& J+ v; F- P8 R. ?          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));- q6 O6 ]7 D3 z* |; k! u+ {
      }! e. w5 \, k- A; n4 ]& n; O
   }
/ q) f1 u1 Z# E& f( j/ j! H" O   ```" b: t; @0 k* O/ Y. f
; v" |: h4 U+ S, q) V; r, W3 s1 a$ w
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。- W7 _8 ?) @% T/ {$ C8 O0 O

" ?7 H3 M1 z8 N3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
! i: T6 H/ @0 \2 v+ H
' \1 W0 K0 {4 |   ```
$ i/ g' \# o! q+ T. z- X7 V  d   <?php
: s  u8 R1 l% p   $site_wide_notice_title = get_option('site_wide_notice_title');3 D7 |  p# S' A8 l. W
   $site_wide_notice_content = get_option('site_wide_notice_content');
( K8 b2 E- O2 g2 @   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {; `& M8 e/ S0 ?5 I3 ]
       echo '<div class="site-wide-notice">';3 P( D( p" t3 t0 _5 h1 e
       if (!empty($site_wide_notice_title)) {8 c$ s6 P; ]5 D3 U! v
           echo '<h3>'.$site_wide_notice_title.'</h3>';
! E7 t+ z! k- ?' D7 \       }
# y) p  w. Q! X       if (!empty($site_wide_notice_content)) {
% H$ W0 F7 J) W" F: o           echo '<p>'.$site_wide_notice_content.'</p>';
# t$ U& y* t8 T# ?- c; ?  O       }
: X% p. }" I" f       echo '</div>';
5 @2 f& c3 o. N& U0 Y# p   }5 Z# K( S% M# _3 u4 I5 b* @; B7 V3 @
   ?>
* o1 O4 J/ L+ Q; N/ S. t   ```! w$ o$ X' F. N3 n- i1 ~7 v# C) a
7 d' ~4 ~$ B# G; P2 P& p, {
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。4 a+ @0 y# J6 S2 U9 H

5 O; v1 E: _! Y5 h# \2 C请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?8 n- W- F+ Q$ `# u4 N& h- S1 d0 u! t
, [" ^1 A; ^( P4 q5 `0 `. n: y6 g
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
3 W! S9 c9 T$ k! g4 D9 ^- H% o; K' b6 q: p. C
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
( [2 ?8 e4 y/ Z5 o5 H
! O4 o6 n( K1 `9 s6 N```
9 I$ |" u8 `* E% l$ T. Ffunction create_custom_post_type() {; G7 b8 y) u3 ?6 S. U3 z
    $args = array(
3 O( |7 T8 j$ L4 y        'labels' => array(# }6 v- u) M# [" U
            'name' => '公告',( s! Z+ {! D) Y7 Q! y. a0 ]
            'singular_name' => '公告'! D! i1 x5 V4 f& U  E
        ),
& P. ]' e7 w% L  R: S6 ]8 K1 j- Z        'public' => true,, _  O# ]8 r* o, [* G. b: N
        'has_archive' => true,
# y, Z5 {8 b1 D) s% p* t        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
+ @$ a: Q  w- l6 N; s        'taxonomies' => array('category', 'post_tag'),1 w8 K2 n* ]' P; q- C. c2 `8 N
        'menu_icon' => 'dashicons-megaphone',
8 ^% x+ t. U2 P; [        'menu_position' => 5,' R! D4 b+ l2 N0 w/ |+ I
        'rewrite' => array('slug' => 'site-wide-notices')
' m1 T8 ]( @. W9 c; e! t3 M    );
' R2 p$ O: n! m/ {# j% D' u3 p) e    register_post_type('site-wide-notices', $args);+ A8 L6 A0 U3 h7 `0 H
}, D' V9 V4 g3 P. `1 u
add_action('init', 'create_custom_post_type');
2 q* v! o2 @9 e+ D```
2 a- |4 w4 H' z4 i
8 v9 e/ C6 z1 ~% t) N在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
8 L3 Z1 O- i% p; ?1 v
+ Z: X: I. W8 b0 X+ `2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
# P1 S: h. L# a/ Q
! H5 m8 H- |  r7 B3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:( s3 Y3 `+ M% l" c! ?6 U

$ `. v3 j- U' s! D( O2 p) c```
: O: @1 I7 A6 n7 ?; J2 O$args = array(
, v6 S5 i) u# J( s5 L9 e    'posts_per_page' => 3, // 显示的公告数量
% i& _* u- `2 P% w& `# d# N    'post_type' => 'site-wide-notices', // 公告文章类型
. u3 I5 z, E- [3 ?) }    'post_status' => 'publish', // 公告状态
) N+ g4 u4 m$ o! z7 ]    'order' => 'DESC' // 排序方式
' a; y. _& @9 K5 Q6 k);% e9 }8 W2 y" ^% p0 W6 z
' D2 E, p: ^+ d, \" |
$notices = new WP_Query($args);
& D1 b: ~% c+ Jif ($notices->have_posts()) :
& `2 }9 f0 u7 w& ~0 ^5 b    while ($notices->have_posts()) : $notices->the_post(); ?>8 J- `& l2 `" x( j
        <div class="notice">. d4 y- G4 P8 B. u
            <h3><?php the_title(); ?></h3>7 E4 ~6 \6 l5 d" Z
            <div class="notice-content"><?php the_content(); ?></div>
+ d, N& D8 t1 W$ ~+ m        </div>2 l( Q" l: g4 `' v
    <?php endwhile;; a0 Y2 K* Z8 f2 C( u
else :2 j$ ~& u0 m' n7 v$ f
    echo "暂无公告";( t( o9 }+ {( T% q
endif;
: o5 a( `+ J; \& ywp_reset_query();
+ a$ r1 m: l+ u% r```! T$ E$ h/ b+ {* ?+ V6 X

) s" a' K* H2 O9 V这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。/ m: |# V( X: T

& G; U, X9 q6 i以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
# t" k% c* b7 X2 {/ `6 C( |/ o5 m) M
6 ?4 v4 M$ |5 J9 k! ]+ J如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
6 `- L6 T5 H" R% K2 E! b) K! c9 q9 n8 c9 b, S
以下是创建自定义插件的步骤:
) v8 j# q' d% m& _8 Y, W! Q% d
0 X& V2 D* A6 s, I/ @5 n5 ]1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
' c) r$ w3 X* B; l9 _- ~# @( d) I
) E7 G$ p& w7 q   ```7 x3 x; a) ^0 N& P- h" |* Y
   <?php
+ `" m8 B& ~7 u) `   /*
* b6 y" q; ^/ j3 d! T   Plugin Name: Site Wide Notices Plugin
. [; T3 j/ T9 Z5 }   Description: Adds a new custom post type for site-wide notices.
# F2 x* v6 J) H! k: n7 p   Version: 1.0
* e" W4 r4 I5 ~/ u+ p& I" d   Author: Your Name& U2 i# p3 ?- {0 o
   Author URI: http://example.com
( z# C9 C& J0 U! {/ G) X   */
; ?4 m" B7 g4 [5 V. D# a7 M% c* A0 U. a* K3 f7 g
   // Add plugin code here..., \4 R6 r7 H, d$ f) s; I/ S
   ```& i" }, O0 Z) k$ B6 B+ n6 Q
$ y# |! ]8 ?" j* x( X
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。5 R4 X% Z) s# m- ?* H# O3 D

1 n( j% _' ?/ @( D! _4 Q' s2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
$ D: O. u/ s6 ?9 l
/ Q: e/ \/ q3 W8 q7 H1 U( Q. s) ~   ```( o( ^6 f! M2 E: t
   add_action('init', 'create_custom_post_type');
6 }& _+ P# e, q0 ^) ?, F   function create_custom_post_type() {
4 z+ l* \0 @/ y" g% K( g      $labels = array(
# u- ?/ j% w# l: I  T( P- ?          'name' => 'Site Wide Notices',
4 F  O, J" H% R% i" c          'singular_name' => 'Site Wide Notice',1 H6 x) d4 C! C! \& ~, B. D
          'add_new' => 'Add New',
' h' j4 U+ X& h7 E4 k# a9 E" G! b          'add_new_item' => 'Add New Site Wide Notice',! U! c% s! ~. Y
          'edit_item' => 'Edit Site Wide Notice',2 o& s' N# @8 u$ I( u9 j' b
          'new_item' => 'New Site Wide Notice',
6 ?3 {& }, O2 Q. {, c# G( d          'view_item' => 'View Site Wide Notice',
  ]$ g8 b; m% f& R: V. J          'search_items' => 'Search Site Wide Notices',+ H0 L8 ~8 }# W" M- Z' m* a5 }
          'not_found' => 'No site-wide notices found',4 Y* \1 n0 H/ D* r- H" m+ Q5 |, G
          'not_found_in_trash' => 'No site-wide notices found in trash'/ Q: n+ v3 c* q1 ]) [
      );) |2 M3 Y8 E1 i' i! K6 [

$ m; ^. [& v  G. ]  {( S      $args = array(4 X! O1 X6 `. k" j
          'labels' => $labels,( s$ H4 S; ?" d  x* d
          'public' => true,4 @, C7 M9 s" Z/ e. W
          'has_archive' => true,0 r7 e) W0 x: q
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),$ r% |- y# D" u2 w# o
          'taxonomies' => array('category', 'post_tag'),
! Z) {& V* ^5 y# |$ Y7 p          'menu_icon' => 'dashicons-megaphone',; g, b: t- L1 o
          'menu_position' => 5,* ?* }1 d( K' @7 V& g2 E' e
          'rewrite' => array('slug' => 'site-wide-notices')
' \0 S. ~# T6 P4 S' o0 t. P      );
; }* k1 Z& U* ~4 j' N# ]
5 z2 x, H7 {& W1 o# q1 @+ w; ]      register_post_type('site-wide-notices', $args);  M* x, f1 N- v; R% @
   }, w& d& ^4 z% `& D( o
   ```
% A/ k8 ^  U6 u( Y5 n; X" H" t
$ E- ~! z7 v' _+ v4 C( w) M   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
& N1 Z) }; F! N6 n& Z6 ]7 N1 O& \  u0 u3 d* `
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
, x: r, G5 K7 K( ^& }) `; Q1 g$ B5 A% {  y+ D8 Z% @
   ```; a! A  ~( I# `+ D
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
. B! P0 N7 _* M   function add_site_wide_notices_boxes() {! A6 }" s. W1 h5 G
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');0 q5 s% \; W: P6 k
   }: `8 T( @5 K5 q4 A5 Y# a* b

: a+ W5 ]' }- e4 }   function notice_details_meta_box($post) {+ V! x# D7 J- R/ x! K/ }3 Z5 q
      wp_nonce_field(basename(__FILE__), 'notices_nonce');: q- Z0 o3 m2 [) B2 K
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
; F5 C2 J: d; }      $notice_content = get_post_meta($post->ID, 'notice_content', true);0 @( U3 }4 j3 s4 {9 v+ p
      ?>
4 F( M! \3 B1 T$ F; Q      <p>
7 y! I6 j* X9 s6 E) D' \          <label for="notice-title">Notice Title</label><br>
& d& ^: T, ^4 ^5 I- s4 @/ v5 u          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">. e  J" c, A% e6 Z0 v
      </p>' ?- d" @7 {' T7 X1 l- V
      <p>) p& ~, j3 L8 m) |* \
          <label for="notice-content">Notice Content</label><br>
: `1 }0 N0 L& Q2 h4 b# G/ {# G          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
( u, C" F0 Y. ^4 }& Q, V+ K# M      </p>" R+ ?6 Z, D- v# ?. G) i
      <?php7 v1 N  Q' o  A
   }/ H/ Z4 D" e, Q* v/ `  u! f
  V) n# ]9 f) {: t( g, k! l
   add_action('save_post', 'save_site_wide_notice_meta_box');5 l9 y: M  n$ R% q- t& L  \
   function save_site_wide_notice_meta_box($post_id) {
0 p# t" I0 q1 |; f( r% ^9 @; Z9 t      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
% v  [5 l9 B  }7 R- A0 i         return;
. V& @& O% O1 R/ P& T      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)$ S: M+ g  x. K* _$ S  d: s
         return;9 M: `5 {" c; Q7 q& E: b8 d( G4 m8 L* F
9 r9 Y: \# O! b: H. e& @: i
      if (isset($_POST['notice_title'])) {
# l2 B+ D; Q) }# M: b: D% L) e; A          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
$ c1 E* o+ V/ w0 D$ a0 \6 C      }' l& o1 C8 P+ Y$ t( ^) r
      if (isset($_POST['notice_content'])) {
: {6 V3 P* d9 @- [' N          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));5 ^9 V5 J2 y  i9 `
      }
' s: t9 d7 F2 o! T! K   }8 I. A9 u+ A9 {: U. T' q9 n
   ```
! F  h& i/ t5 K; i. N# V1 J& y
6 [& ~) S8 d( C7 L# N2 a1 R) q   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
+ r6 z. \: \* [6 m
( l% ?9 r* J: Q! Z4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
" v9 ^( W+ v8 w' q$ k- k& L$ S4 A! {9 I* d% S- I/ Z8 g* Q# {2 M
   ```
' S" _8 b8 u: k7 `( Y5 a   $args = array($ g' Y1 w8 T' G0 w( I3 T
      'post_type' => 'site-wide-notices',4 }6 N" Y6 H) T
      'posts_per_page' => 3,, v- o' F: S# p' h" U6 U' j- u
      'order' => 'DESC',0 q0 O; l3 X+ L, e" G0 C; G7 b/ O
      'orderby' => 'date'
1 r  j7 b0 l* R/ E   );
- y' F- {% G8 L1 z8 u" m   $query = new WP_Query($args);
, E9 n2 `/ `) {( Q   if ($query->have_posts()) :
% a' c8 S1 ^) R7 U3 F; l      while ($query->have_posts()) : $query->the_post(); ?>
1 _* @' U6 T! R* h          <div class="notice">
) j: _/ j9 T& J% R+ d$ A              <h3><?php the_title(); ?></h3>: P3 M# ~; c9 j
              <div class="notice-content"><?php the_content(); ?></div>4 u; o3 m7 t6 `9 }
          </div>2 S& b) X; D' O2 o& U4 }
      <?php endwhile;- }9 Y0 O) }: L+ a9 h& F
      wp_reset_postdata();! X# ^: Y5 \5 A' \3 D  U& h/ z) U
   endif;) M& Z+ R6 H9 N2 J
   ```1 o! k- W6 Q+ ~6 J

* s# T* r7 z, b   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-21 20:33 , Processed in 0.012149 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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