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

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

[复制链接]

334

主题

517

回帖

3396

积分

管理员

积分
3396
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:6 s' v* n. o8 @. T
4 u0 f& c0 H/ U4 H9 G8 {8 q: p
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。4 D. Q* X" p3 ^) ?. j& I% M( K

  U0 m# h/ X6 l0 r* E/ V% f+ ~2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。6 }0 U8 G* j+ M2 j* V, Q

4 h& A" Z9 e: @1 Y3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。) S3 I- l: p1 ^9 t1 C9 ?0 m) n8 A

1 J* _' V8 A$ A' X" M8 R$ b: f$ x8 i4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。7 t0 H+ [% K& ?: b  I

4 l. e$ W7 q' X注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

334

主题

517

回帖

3396

积分

管理员

积分
3396
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?; V+ c6 v2 q; Q9 C" ^. [) w: z

) [) n; f% d+ a  Z如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
! J4 w  |+ a! I1 ~
- i1 a  d) y; q/ |) ~: p$ `1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
4 R/ j' k& a5 ^9 m5 C) ~: @% b# Q; Z" h( n( {$ c
   ```
7 G2 D: L- {; S6 ^( c   add_menu_page(
6 h# V2 V2 R- T- U       '全站公告',* a3 h/ G) `  j( M+ p. i' A& R- b2 o$ ~
       '全站公告',9 c4 f8 n" K' a7 R
       'manage_options', //需要的用户权限
" O1 I9 L" f/ N+ u8 U8 T( V! E1 k       'site-wide-notice', //后台页面的 slug; d* B7 U7 p0 e- P, w. i0 p
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
/ E7 h! x) ^: V! i- C* |- g, [1 o       'dashicons-megaphone', //用于显示在菜单中的图标
' N6 R8 z1 s8 ]( ]       30 //菜单项的位置
# w4 m! d6 b: m) T6 b   );
) [: t( }# c, l4 r0 A7 n   ```
' N4 |+ x* y" M- ^! U( _- U/ s+ }/ I) z
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
$ v, d0 `/ j3 V
: v9 E* H. Y/ _# k8 I2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:* _* ?3 @: N& _. S

7 O6 R: P' T1 Q5 q6 t) u   ```, q4 [# I% r6 a
   function render_site_wide_notice_page() {
% ?% j5 t1 |! @. ^0 Y2 P4 m4 j      // 渲染后台页面内容" Y- Q2 v0 u' H9 E9 V8 }
      echo '<div class="wrap">* M% E. Z  j% S" ^
          <h2>全站公告</h2>) ]' s* V' V; K1 Y6 U
          <form method="post" action="">& S9 O; v2 R# ]0 Z  Z  T& F. a
              <label for="title">公告标题:</label>
+ t9 N5 Q4 Q' c5 h: Z              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>1 U4 p8 ~7 Q9 D+ e, d
              <label for="content">公告内容:</label>
: _) `6 W  U" ^  }1 o7 t1 j              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>/ S; v) K* }2 f" d* O
              <input type="submit" name="submit" value="保存设置">
1 E2 C0 {$ z0 }6 H$ b$ p          </form>
4 C' k# ^: [" t, I. }; X0 P; c      </div>';$ Q6 F/ u* w# d
/ [" c4 E2 x' k1 B. `; P
      // 处理表单数据
7 ]" x3 o' H) X2 [+ I" u9 Z3 b: x      if (isset($_POST['submit'])) {
, }; b: N# h& E4 d. P# C          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));$ }" c& l& M* d- k) V
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
$ T7 d* s7 d5 q1 l6 \: k      }
4 z1 S5 |$ s$ K5 l   }9 w. {  ^6 N7 P; a4 s& b2 G, U
   ```
& x$ g3 Q- p' x. d* k% x0 \: g* w4 g9 K
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
2 }8 I0 D/ b% T9 C3 {0 Z5 T0 g' {# U. e; k8 c
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:' S# s" t7 w1 Z9 e# c' p" R. n
( {/ z% {% l/ o: T$ U7 j% ]$ |
   ```
4 T( S2 m9 X- z$ g, |; O   <?php
& C% Z4 d! {+ `) l: R' ~& @+ s   $site_wide_notice_title = get_option('site_wide_notice_title');
' {" d( S# ?6 m4 u   $site_wide_notice_content = get_option('site_wide_notice_content');) G  I3 ~9 \9 g" h$ X
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
" G+ y% E3 }0 p6 w3 e       echo '<div class="site-wide-notice">';' Q6 }9 R" k* i2 L
       if (!empty($site_wide_notice_title)) {' Y$ O# [1 R% }7 J5 b
           echo '<h3>'.$site_wide_notice_title.'</h3>';1 @+ e3 @/ |* c& c  ]
       }
* Z5 j2 }. D: t. [( c5 b       if (!empty($site_wide_notice_content)) {) H5 t- S8 z& d3 `3 L$ |
           echo '<p>'.$site_wide_notice_content.'</p>';
" |7 @0 U6 ]: {       }* L% e$ \& Q* n0 f) i# k
       echo '</div>';
  t0 u6 |2 J) U% [8 b$ Q' K- _   }
! Z6 e1 {* u' A' T& I   ?>
( \' B7 R& I, a2 L- n6 z   ```
: ]2 E4 g- o# v2 P* g- \+ y; I7 @( L
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。' ]" x4 E0 `. Y, }7 y. U% S. `2 g+ d
7 d8 T9 B0 L0 S) I' K
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

334

主题

517

回帖

3396

积分

管理员

积分
3396
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
; C' f% S' x, l2 \5 s' b+ R9 G9 A  r, o# i
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
/ {1 G+ d& _. R4 ^( X8 J# Z
) O  p% x; B1 R' }8 ]; x. \; E1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:3 _+ h2 v4 }8 i0 h
9 ^2 f2 Y) C) A6 x: b
```4 A; D" D. {# z$ |1 x. V
function create_custom_post_type() {  j1 M9 {; Y/ S; G) p. O0 e; I
    $args = array(; [0 C! ?  m* x2 I0 \3 @4 W6 o
        'labels' => array(
1 c9 Y! A  s5 k* B            'name' => '公告',, [5 |" U7 x+ v/ Y! D, @
            'singular_name' => '公告'( V9 N2 x$ S  n, Z1 v& P
        ),4 y8 J0 X( \5 W9 k' ]% n7 i
        'public' => true,
8 D6 w# V; b* Y. o        'has_archive' => true,( U3 T  l0 k; @$ z3 y& @
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),6 [. v8 S) [. A# Q/ E  T
        'taxonomies' => array('category', 'post_tag'),, q8 I: M. [0 a+ O2 g; ~7 a1 w
        'menu_icon' => 'dashicons-megaphone',
+ d" o3 m& F+ _1 n% Y8 T  @! c: f        'menu_position' => 5,
3 w0 r' ~) ^, H* W7 U  d        'rewrite' => array('slug' => 'site-wide-notices')
8 \/ w/ t! s! ^4 M& L    );" J: Q; z1 V& \4 {8 s( W, S5 Y
    register_post_type('site-wide-notices', $args);; G8 f. o7 [5 l6 L# E
}3 ~3 p) W; D$ v4 @+ i6 }
add_action('init', 'create_custom_post_type');4 k$ ~: M" D$ |  }, i9 o6 Q
```- k! H& o) I& r" b
6 T4 g% m5 ]# `7 `
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
: f1 Q" f, x6 k7 Y
8 `$ y. ^9 g8 m2 g( t8 x2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
# a' I  o) L; `- L; s  R+ |$ I# @8 D* j- w- f
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
& \  a. g9 E% S* a8 J+ e
% |* G8 J. r+ N5 p```
% g  H, c) S8 }$args = array(
/ G9 J4 }  O/ a2 |4 Z    'posts_per_page' => 3, // 显示的公告数量8 M4 [5 Q& `$ z$ K/ V
    'post_type' => 'site-wide-notices', // 公告文章类型
' {) o. n# t: d, i- v8 c    'post_status' => 'publish', // 公告状态
. m1 N- l5 X- R* O+ c( n    'order' => 'DESC' // 排序方式
* S0 I# @( O' F) ?+ J5 J);
2 W! A8 `9 E+ q
% I' c" v% T, b5 j/ p$notices = new WP_Query($args);$ t, P9 r( b+ O$ L
if ($notices->have_posts()) :
. c, u8 c. K0 ]* g; Z* m    while ($notices->have_posts()) : $notices->the_post(); ?>
! `: s5 z/ z0 ?) D/ ^        <div class="notice">% ]4 O  D4 w9 _% O) j9 M  g
            <h3><?php the_title(); ?></h3>9 ~$ C; ]" ^% v% X/ Z' ]2 C& ^+ Q- ?
            <div class="notice-content"><?php the_content(); ?></div>
; H) w% U  g2 T5 [        </div>
5 T4 D0 \6 }$ B' b8 f. r    <?php endwhile;
# Q6 e# a7 Q4 a# l0 A6 Jelse :% `3 }; i9 k9 s$ E
    echo "暂无公告";# g- B# N" ^2 ]! y( {
endif;( B0 C+ n( q0 u& J: J0 F
wp_reset_query();
. o5 l0 D' R) V: ````$ B' X7 e& `3 S# d* R8 w

. }3 o( B0 ]3 x6 l. p+ P这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
& F( G4 T( B( p" n3 `" _. b
, ]" x& t! D0 y) J* Q/ a# I7 I以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

334

主题

517

回帖

3396

积分

管理员

积分
3396
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
6 s, {; O/ D, x& W" c
# Z/ E1 p4 B+ O: S8 ]9 T. X如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。. G6 r" F+ Z5 ^) p" Z3 G# s) p# K2 |

, M9 p+ T. Y! Z. ~# C以下是创建自定义插件的步骤:
, C4 g+ }* L9 x9 c4 l
3 w% O6 L% e" \0 ^; n3 d9 ?1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:: R0 m) P- b- v3 s. N
  w& P' w' Q# P6 f4 j) C
   ```5 R6 d/ S  L/ f& R- a
   <?php& v1 k  ~' t5 E' N/ i' v
   /*7 b5 d1 u0 g' |
   Plugin Name: Site Wide Notices Plugin4 _% j. c" y' d9 J0 y& M
   Description: Adds a new custom post type for site-wide notices.; D+ n5 @5 _$ x: |
   Version: 1.0
! p0 M3 z; C" q   Author: Your Name% o2 z" e! e; r, w! w' {9 F
   Author URI: http://example.com
3 b! O: f/ a& W. W' j   */. L0 `* l3 N! T; m" j- ]8 a
( A) Q: ~$ B: ~+ p3 f+ d
   // Add plugin code here...
1 A" [. s8 f+ Y1 t  L$ R   ```( O% _& J4 P" q; m/ N: Q

, l0 i3 S+ [9 N* g6 k1 ?   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。( f$ z# \) }8 B$ g
$ r' h% W8 \, Y& J* v
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
# V' F- C9 O; J9 f. a! T, V+ \  c7 w; j
   ```3 T- g* h- b3 u& u  g8 ], i/ u+ j( l
   add_action('init', 'create_custom_post_type');$ b5 ^8 C! L; R0 c% N
   function create_custom_post_type() {  Q8 e- n9 \- K$ A  ~+ p
      $labels = array(  Y% r( r! ~4 Q7 |0 {
          'name' => 'Site Wide Notices',
( l+ n+ E8 \: n4 ?          'singular_name' => 'Site Wide Notice',
8 {3 m& `3 f/ H; X. \4 T$ f          'add_new' => 'Add New',5 h; A3 u4 M6 m" w1 U
          'add_new_item' => 'Add New Site Wide Notice',0 L2 ?* I! @0 X# `
          'edit_item' => 'Edit Site Wide Notice',9 B" a8 I8 q  d9 Z4 M+ v, L
          'new_item' => 'New Site Wide Notice',
# N+ l$ V2 G* b, ~- Z          'view_item' => 'View Site Wide Notice',6 v/ Q( [* T8 u' _
          'search_items' => 'Search Site Wide Notices',6 h6 M$ K# j0 ~, `: ]
          'not_found' => 'No site-wide notices found',6 \* y8 D3 Q* q
          'not_found_in_trash' => 'No site-wide notices found in trash', v" w9 i( O/ d- W& l8 j
      );
2 P" `" O8 I: ^. ]5 n, Z; t
9 m1 P2 U" |; o% L: a: I# R      $args = array(' _0 \$ I# f6 T2 B  h' C
          'labels' => $labels,
% y1 J2 D4 i  y- L/ s1 R          'public' => true,
7 }- {! m: F; y( N( h$ q          'has_archive' => true,
7 V, d) M' l) q. q% @          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
8 I8 V( {) U, d/ U7 y          'taxonomies' => array('category', 'post_tag'),
* M3 h6 b0 Y" \& [! I7 L          'menu_icon' => 'dashicons-megaphone',
9 F7 S4 j1 [- R) m7 T$ {, W6 V1 U& V          'menu_position' => 5,. y9 n2 Q7 q' H9 c
          'rewrite' => array('slug' => 'site-wide-notices')
5 p+ Z" k- W2 a5 g  e      );
' {: t" _" K0 R4 S  @+ f. o. }6 p: o1 w- @" U+ M; `/ ~% J; u
      register_post_type('site-wide-notices', $args);: L5 o1 U9 j1 n( I5 r1 ~) \
   }
2 X1 X' e+ Q9 y   ```- J& U+ l- J: m2 K5 U; G, |/ V
. O; k6 z2 u8 b5 W
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
& f3 @5 m6 F8 V+ H
7 E* T, |; m% g3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
* F* @" ~9 R; R! A6 Y; ]( ]
" D, a( f9 m( }% j! K   ```
! g, S% g2 O6 s: S/ j6 X% ^   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');. c7 ]1 }+ C1 B# D9 J0 H8 g
   function add_site_wide_notices_boxes() {% X4 Q! ?  l9 }) }- \) E9 u* q
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
" A& K+ Q# H# U! K' J1 u9 H   }# K3 d* Y8 x" @; v
; P$ C) P$ V) {: Y
   function notice_details_meta_box($post) {5 r" W1 s: w$ ]8 _0 l6 R; B
      wp_nonce_field(basename(__FILE__), 'notices_nonce');0 [% @/ `  [% |( ], }4 Y
      $notice_title = get_post_meta($post->ID, 'notice_title', true);( _* r0 J+ |' g
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
9 i1 r, n( R  @* ~: W/ P, N$ u" O2 `* n      ?>
/ c7 p- H: f& J# u      <p>
+ T! Y. b8 Y% W7 z          <label for="notice-title">Notice Title</label><br>
' j4 V$ X" t$ a9 |. e( s9 ~          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
$ w1 H4 q' k" n: E' M7 C! {8 h' F      </p>
* ]* ^( R' j2 r- q# o+ V      <p>: o( b1 x; l6 S* J% X
          <label for="notice-content">Notice Content</label><br>
& A5 t5 @8 B, J( M1 @          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>, k! P" d3 o6 _: y& b
      </p># U* L3 r2 b9 }- k( O' u
      <?php
; B1 O6 f- M' {+ o  E: O# E   }
; F6 }% U0 s" t& v% i# Z
; [0 G# w8 E9 v, P' i5 k+ I   add_action('save_post', 'save_site_wide_notice_meta_box');; s) n# s. w" |  Z
   function save_site_wide_notice_meta_box($post_id) {
' G$ B2 z& W1 V, V7 n+ |      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
& [+ ~! X) o8 F" X- l         return;
' e' I! s- B; ]8 C, t      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
1 {9 H) C1 M% f3 m2 s         return;8 t( \: p6 b8 m) U5 G$ E

8 j, t5 j/ B" D* O0 }( I) B, v      if (isset($_POST['notice_title'])) {  \% V( J# T! z3 g+ W& G7 f' Y: U* c7 g
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
% h' f4 T) n" b# c# B* p# ^7 z      }; W3 k7 U2 x+ S9 X
      if (isset($_POST['notice_content'])) {- P0 b: w. i  D
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));: P8 E4 Q% g1 r- l6 Z5 K
      }
% ]0 q% @6 H5 D3 p# C, g   }
0 B, y0 s/ R, j& X3 X* S" B( w+ q   ```
7 l8 R8 j! ?6 h5 I; M  k/ r
$ x2 w8 Q3 A' {- o) [% }) v   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。  v) {' V& [8 B( o" |6 J: K/ s
. [! e3 l7 k2 C
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:% }% r  w+ g3 a+ D4 Y
) w1 d. K1 }3 V
   ```
3 R  Y7 Y- a. ]3 O* c$ c6 a   $args = array(
5 R/ E- Q7 r: J      'post_type' => 'site-wide-notices',4 D8 Z8 O6 u! F* T
      'posts_per_page' => 3,: ?  @3 E# b" E; J  q! K1 U
      'order' => 'DESC',
' L: z9 Q$ q3 S/ M$ D      'orderby' => 'date'
1 \" J: v+ o8 l/ Q9 I2 l; Y   );
+ V% }7 J; f& \6 }& `6 O   $query = new WP_Query($args);
# e3 Z+ _2 p3 G$ G8 |: @. g   if ($query->have_posts()) :
- _* ~& z& q: B, k) H. N. v      while ($query->have_posts()) : $query->the_post(); ?>
2 M% v# R" y0 p5 F8 _- ^9 r# F          <div class="notice">
. R; f( V5 L- [, s8 j1 ^              <h3><?php the_title(); ?></h3>+ N# w0 @: m) H5 J8 t  k& h
              <div class="notice-content"><?php the_content(); ?></div>
) h' \1 a' D& {9 _          </div>1 i2 H. E" R! Z- E0 K- E: }6 \  ~
      <?php endwhile;
% H7 K1 L- A# ~, U' o* u& l$ n      wp_reset_postdata();
5 L. |, {2 v1 M   endif;
9 J+ f. U$ g/ s" R5 {   ```/ k1 r  d: N- `. E# I8 C
, g& Q: T& r: K3 H2 J+ _1 d
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-3 09:13 , Processed in 0.080637 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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