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

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

[复制链接]

343

主题

554

回帖

3627

积分

管理员

积分
3627
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:  a8 H) g2 W  d2 s' q& k7 U/ o5 ?

4 p! ]2 O6 A; A" q$ n  f% l1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。, S8 ^7 h, Q+ n% U. N

& m7 B4 }' Z8 V3 N2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
* H' L$ B% {+ \  W8 Z* M9 @, S: L" C! U8 v. n
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。5 Q: X. H, |! B5 `8 C

/ n- }- R4 ]% ?4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
' M7 j7 A$ }( P! P. r6 x0 `9 p9 h) B, J+ t
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

343

主题

554

回帖

3627

积分

管理员

积分
3627
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
& R- [9 W. F& l4 n" [4 C
! y6 S6 O& s0 P% R0 `如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
2 j7 j* I! C+ z4 r5 M" h6 S0 C
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
- d& K$ v2 G+ u: \
7 V1 j" d' q8 T* T7 l6 Z2 f   ```
" i! A: W/ ^( ~6 |7 @: |0 z   add_menu_page(4 A( k+ `# c) m2 I
       '全站公告',4 w4 a! m& R' D1 h+ a  h& J
       '全站公告',
8 R& Q2 X4 ~* \' A& {       'manage_options', //需要的用户权限
7 p( n6 }9 k! e4 U( m' X       'site-wide-notice', //后台页面的 slug
3 `7 h4 w' ~) C9 X% d       'render_site_wide_notice_page', //用于渲染后台页面内容的函数  i2 B" e0 B( I& D4 ?0 Z+ p
       'dashicons-megaphone', //用于显示在菜单中的图标
* K9 \" R4 ^% n8 a1 A4 @0 i       30 //菜单项的位置
6 \1 P$ j$ W( g   );
. H; [. L  C' ]: Q   ```
6 x! m5 z2 D1 c; @  s' N
" F* Z7 [( r) I1 w   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
5 M# ~6 W) }1 t- ^* h
5 b" Z& F) {& d6 S4 ~( S& Z( `2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:3 @! \7 W7 m5 E" g! c
' I: u( U' h0 ]5 H* ^
   ```8 J! `+ r# k" k3 R4 y* p9 O
   function render_site_wide_notice_page() {
! H6 q, T6 f/ n- e1 S2 G& \; q" z      // 渲染后台页面内容
7 K0 C4 ~$ V# a4 G      echo '<div class="wrap">
- @% v5 Q$ w0 h) u; [          <h2>全站公告</h2>6 t/ [$ K3 d+ G' j
          <form method="post" action="">3 K9 M9 L3 y' M# }
              <label for="title">公告标题:</label>
* F! O- u; L0 |  T# a$ o              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>6 Z  q2 v" U( H
              <label for="content">公告内容:</label>
" B3 H# w/ R; Y$ i" n1 x              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
, V' u7 w+ F& h+ ?              <input type="submit" name="submit" value="保存设置">
5 y4 h7 V8 R7 }+ ]1 G& _0 O4 b          </form>0 z* Q: t" v. D. S& E8 n0 N
      </div>';
$ Q7 R, i8 r8 `8 @; @" C' C2 B3 O: E
# q  b1 C/ j; Z- F" u$ A* @      // 处理表单数据
* y/ }: j8 h2 S/ N: q: \      if (isset($_POST['submit'])) {9 X! H6 `+ c% z  k+ O# i
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
7 R0 y/ y5 }' I+ l          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));% g5 B# x& L" x8 b, Q- m
      }! m, {  E9 t7 R: J
   }3 E4 t1 M- `; h# I* c
   ```
6 j7 C: `) ~: O  b2 L5 \' V; {$ M0 _8 u) q& H' ~/ Q. y7 m
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。2 O: ^2 H# x) H4 D
* d( {  m" f3 \2 |+ K* v6 y
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
  l. g( m2 L. {% x- @7 l8 B
# O9 X4 {$ n$ W7 Q/ m- @4 E   ```) J: ?# O3 ?- J) f3 d! ?1 a
   <?php
0 Y4 U, c. s1 \% J  X5 k9 V   $site_wide_notice_title = get_option('site_wide_notice_title');
$ J* X+ ?2 G! o7 c3 s$ {+ H   $site_wide_notice_content = get_option('site_wide_notice_content');+ K( y# ]( m/ M& b; [% ~
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
& f' v: g& i" M- X( V  r       echo '<div class="site-wide-notice">';) ?4 L) p! {) L% o
       if (!empty($site_wide_notice_title)) {
3 D& D7 g& }# o6 v$ |# h8 B' s* c           echo '<h3>'.$site_wide_notice_title.'</h3>';9 C- L4 V- G( M% f
       }
( m: i/ b* M* e$ O# m" r+ t       if (!empty($site_wide_notice_content)) {
5 @* s- W+ m: P) O8 x( J% r           echo '<p>'.$site_wide_notice_content.'</p>';& m/ S; [) V+ k) E- f; q
       }
% q/ O% A3 M( D9 ?       echo '</div>';/ M2 w7 ]# P/ i9 N
   }
9 S% M! q) a$ v. b  Q& q$ Y   ?>6 R5 f% P) ?4 M  s% P
   ```( Q, E1 y8 j" n# F3 @( L; h

! x4 p0 |, d. Q- Z- D   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。' m( i7 r0 F6 j, a( [, f

' S8 G5 J+ j6 i1 q% p, v8 ]! k0 b请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

343

主题

554

回帖

3627

积分

管理员

积分
3627
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
( F/ A& i  x. Y5 K; ?
2 m* e: w( p' l0 E# _6 p您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
9 s( {) d7 a$ G) \# I. K" B$ [$ O1 v0 `% U
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:; v1 A' o9 m' d% ~9 L( y+ Z

2 w/ `! a, V& c  b8 N```; y1 U! Z& ~7 q# }- W% o& N
function create_custom_post_type() {
$ e2 ?8 ]4 D9 ^# }    $args = array(  Y6 L$ M1 O$ y) C: E5 M
        'labels' => array(4 B1 J9 T, C* d+ J
            'name' => '公告',
8 i" S  m7 M2 F: |$ G  @            'singular_name' => '公告'' r5 X4 }. W% ~  i/ ~
        ),
" ~8 I/ z2 M" l9 s, X        'public' => true,
! u8 K/ C+ y) ~3 s0 [$ ?        'has_archive' => true,- f# m% Y/ D  w# l' b  F$ z
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
  ~' S) h4 E( \5 n        'taxonomies' => array('category', 'post_tag'),& x2 Y2 v0 S$ c
        'menu_icon' => 'dashicons-megaphone',! v# E$ U, L; J# |  ^
        'menu_position' => 5,
  X# I, _! i, w% }        'rewrite' => array('slug' => 'site-wide-notices')
3 t; l1 d' P! t1 y# e6 c; e, V    );# q) L% B" s0 {3 J/ w9 V
    register_post_type('site-wide-notices', $args);
+ C5 T  K5 U* z}
  z0 ~0 P5 R! E) w) P/ ?6 w5 Eadd_action('init', 'create_custom_post_type');
; U, B3 `. g& w* h' Z& A" I```
/ e3 p+ a/ ^6 V9 q# \
3 W5 r3 X$ b/ N3 h( M' ~在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。  i7 g! x  t6 G: D1 P4 Y
# _' Q: Z' y) _, D  Q* {
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
# X" A/ T) `& k8 H# ?( _5 [. b! V/ {! Z5 H
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:1 h* O& s$ u, L/ Y% d/ L, ^! k2 d
* V( F" ^* X9 e; L0 R% _
```
) O3 U$ F1 G# s" }( s$args = array(
9 u' ~; E% W5 m    'posts_per_page' => 3, // 显示的公告数量
' L+ Y9 _9 C* x! x    'post_type' => 'site-wide-notices', // 公告文章类型
  d6 L# H* u3 y' ]9 H8 ~7 J    'post_status' => 'publish', // 公告状态
* u1 h; Q9 J& `' c- p, t. H! a    'order' => 'DESC' // 排序方式
) ~' F, I% p5 y9 z& H);
8 H2 T4 H, D4 H* M$ ~1 O$ N
  D5 S! P6 j7 {; H. {$notices = new WP_Query($args);- N& H* O3 m$ k$ O* m/ a  B4 y
if ($notices->have_posts()) :. {: A' L; j% `' {) i2 m
    while ($notices->have_posts()) : $notices->the_post(); ?>
$ f% s0 j3 c4 {# m- b2 r        <div class="notice">
8 `, l2 Z" r7 g" x9 m4 E& l  C            <h3><?php the_title(); ?></h3>' L* q/ W' R- _+ t7 Y) x
            <div class="notice-content"><?php the_content(); ?></div>4 G; @0 @1 q& u& s) i
        </div>
, s& T% b" P# j: L5 ~% P4 t" F    <?php endwhile;; [+ U; D$ n/ y( E' T
else :
6 l4 M; \# u3 p  q4 {" y: n( M: Q    echo "暂无公告";; U3 w7 T/ f+ o; L
endif;* I4 S3 T5 G4 z3 o* ?) S( M) v2 _2 B
wp_reset_query();
  j8 ?# m+ s- t9 \```( w) V) q& R% {- }$ [5 y) Y

, n+ T+ V# ^% z! F这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
9 g7 V- t# W2 c: i8 l! b: `/ }
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

343

主题

554

回帖

3627

积分

管理员

积分
3627
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
9 k$ g4 D% s+ T7 T" V. h; ~2 G7 s" {8 R# g; I
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
+ V* \) J# i5 p; V1 V# {
* i+ ]4 h; e5 h( B5 L4 o以下是创建自定义插件的步骤:
) t& Q6 J+ \7 N7 v8 p: l6 u+ b$ }1 d' Y- |
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:% @) Q+ O1 o/ T3 Z0 w

, v% h* M; W: s( A+ P+ m   ```7 p- |, ]2 {9 a' [( T
   <?php, r8 S6 F0 U! b+ U
   /*' Z* \# X- c( d3 A
   Plugin Name: Site Wide Notices Plugin
8 l2 Z! N2 l! R0 U4 U& ]  G5 s8 R   Description: Adds a new custom post type for site-wide notices.
. ~) l$ Z  ?1 m3 ^( {# n0 I   Version: 1.0
; i) C$ q( x- z6 ^; Z" I   Author: Your Name
( N/ N/ T. U) ]8 E& g- X   Author URI: http://example.com
, t# n2 C- @5 n6 q   */' e3 U/ x! X7 l5 J8 o2 r

, @  W* \9 l# m8 g   // Add plugin code here...3 Y5 n" o* T' K" R. Q' U8 O8 L
   ```
4 T* \9 G2 b# G4 v+ `) L+ n: z4 f
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
+ f- W  f  D' P5 q# Q" e+ B$ }* r3 N& b; X, A* I
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:5 |4 x4 c) B3 s* C3 U( v
6 K6 D" ]* Y: ?" k3 P  p8 w
   ```. f) G! T( Y/ q
   add_action('init', 'create_custom_post_type');
* n" ~! a$ d) Y' x   function create_custom_post_type() {
6 p3 d  r$ k  l0 M6 w$ x' C      $labels = array(
% b6 R! ]% @/ w7 `3 z) I' A: l& ]; L          'name' => 'Site Wide Notices',
% h+ c9 s0 `% o          'singular_name' => 'Site Wide Notice',' I6 N: Z: r7 s  i- w, n
          'add_new' => 'Add New',
0 d/ o6 }  K& i9 r% U& H( Z$ `3 W          'add_new_item' => 'Add New Site Wide Notice',$ j! \# h$ w$ E7 b; b
          'edit_item' => 'Edit Site Wide Notice',! M: [! G' O9 I; R. @
          'new_item' => 'New Site Wide Notice',
. a$ H5 l1 T+ z! u: i- |# @& E          'view_item' => 'View Site Wide Notice',3 l' z+ B5 \# N+ a
          'search_items' => 'Search Site Wide Notices',/ e! l; Q' K. |
          'not_found' => 'No site-wide notices found',
0 _" f  x/ b& J$ s          'not_found_in_trash' => 'No site-wide notices found in trash'
; O' W. O' ~1 s( A# f      );5 ?' G) g+ u5 e+ z. f
4 V, a+ W* c, |% Y% v
      $args = array(
2 [- ~* q/ L$ @, _5 V          'labels' => $labels,; s' D: e3 r& H- t6 \
          'public' => true,$ a' R0 d5 }/ ]+ @; D' c  X: ?  a: S4 K
          'has_archive' => true,$ w9 h- {* D. a) o
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),9 C% U% s$ E) M9 `! v% p3 l
          'taxonomies' => array('category', 'post_tag'),
+ M' Z$ Z! G* u1 F, l. E. C# r          'menu_icon' => 'dashicons-megaphone',
1 l( P' n0 P, {; Z/ e9 o7 I! B          'menu_position' => 5,/ U  V% J* m5 m3 o) e% G9 c
          'rewrite' => array('slug' => 'site-wide-notices')2 M: d4 x# R# p, J
      );. ]! W* G, V3 Q5 ]( P1 _4 d
7 R% M' N$ P; u# M
      register_post_type('site-wide-notices', $args);3 U' z- G' j! I+ g7 l5 ]: q
   }3 R% c; L7 Q6 Q1 q: m. r; f
   ```
: d( M% N: \# m! i
' Q1 d3 i( p$ j3 @$ u5 i   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。& i' g  ^! E: ^: }4 e8 j7 X

  Q- H0 I$ `  Q* G* I3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
( l% _; E8 F9 L, ~7 n/ T1 D* j2 w3 `) @6 Z9 S
   ```
% p' Y/ ?! H8 w5 C; n# \4 n   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');- ]! H2 s. L" |7 S2 v  k, X
   function add_site_wide_notices_boxes() {( f, ^  L6 a3 g8 E* k5 ?
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');. Q, {3 r0 K2 o; o
   }
$ I- I) c: N) I9 p6 U4 _
% r% ]- i$ G, s$ p' Y& s: Y' O/ D   function notice_details_meta_box($post) {
" |" h, r( `! M' E) o      wp_nonce_field(basename(__FILE__), 'notices_nonce');
& F0 Z) A5 s2 h) l$ z! _( O      $notice_title = get_post_meta($post->ID, 'notice_title', true);
0 l: M  a) I' d8 ?      $notice_content = get_post_meta($post->ID, 'notice_content', true);
. k. y- W! Z8 O0 d1 l      ?>$ n  O' e4 `+ _4 \4 s4 [1 b
      <p>' {) L4 ~* R+ }3 z1 k
          <label for="notice-title">Notice Title</label><br>
" J0 M0 E5 e: a  k3 V* f& r          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
5 u, @8 M. t( x& `      </p>5 j, l* K% L9 P1 X! b+ `
      <p>
( I2 Z, v/ f- R) p          <label for="notice-content">Notice Content</label><br>6 R; ?6 G  K" G
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
5 j8 v4 U+ }# B9 W" _      </p>
1 E( E7 J  J6 d( [# z& M      <?php3 R4 f- p: `7 j5 X5 K" D' T; `
   }  n, U! O' C" V. E* \" ]6 {5 V
- H3 `2 B4 Y: j* n* U: ]! e
   add_action('save_post', 'save_site_wide_notice_meta_box');
. N4 k2 t$ A. }) d9 |   function save_site_wide_notice_meta_box($post_id) {
) F* n7 r7 |3 p+ v      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
" ^' A* x+ C9 W2 \  h* G0 T  a4 `* k         return;
7 m# {9 N( X3 P+ l      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)- T9 t$ d( l+ C5 G' Z# O" a
         return;2 i/ Y- J5 B: m3 V5 x( h
) o- v& K: u5 d' G  L9 ^
      if (isset($_POST['notice_title'])) {
+ f% q' L# E% }1 M          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
2 ]) T+ ~0 u( u2 q/ T      }9 A( q5 R, k& h8 i% Z# ^
      if (isset($_POST['notice_content'])) {* a$ J+ J; v0 K0 c9 L- P
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
! U9 @" p! X7 M3 [      }- k+ E9 D9 E8 ^4 l, ?; U! ~
   }
& v1 b3 a) L2 U6 q( a) u( ^( I, ^( w   ```% n0 A) X, T; T' {2 T' h3 n
7 T0 k, o% F/ H- h, @
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。4 w3 k/ v- l) I) d8 g9 M

: E6 u" `# _4 s  X4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:/ `8 c1 \& H5 s  f/ w) ~; Q/ f
: D2 }' t( v8 H1 Y/ J! u5 h
   ```+ `9 w+ O' S" q* L& H3 C
   $args = array(
$ r5 N; _1 t8 j" N8 E7 Q0 L7 ?$ i      'post_type' => 'site-wide-notices'," I4 P* L! B6 M9 l1 f1 m: Y
      'posts_per_page' => 3,
; C4 w  Y+ c2 a8 B) h' h" ]4 J% o      'order' => 'DESC',$ o2 h6 C1 a, K
      'orderby' => 'date'
5 L) K2 w4 }% p# ^: G- U1 a   );
6 ^' |  G6 F5 L$ J- _   $query = new WP_Query($args);
9 p, e$ A3 W# ?4 J7 b# E: w   if ($query->have_posts()) :1 I. t0 x; y9 U# w& h/ G  K9 v- a
      while ($query->have_posts()) : $query->the_post(); ?>
+ B3 \/ a4 t$ G( J. n* P          <div class="notice">- |! O  A' U9 j. O- f
              <h3><?php the_title(); ?></h3>
3 |7 }1 B" m' E9 N/ Z; \# J% B              <div class="notice-content"><?php the_content(); ?></div>+ L  y( M/ _: t5 W7 a" _
          </div>
& {0 i5 x+ Y* \4 l      <?php endwhile;: b  b4 E# F' P8 u
      wp_reset_postdata();) n: ]: R, n* z0 f; t2 s
   endif;
8 y. ~: v; m% @8 l* k9 B; Y) t   ```& }$ v! h3 F: p* }
' J" b& b" Q" `" q
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-1 12:41 , Processed in 0.014196 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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