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

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

[复制链接]

338

主题

520

回帖

3456

积分

管理员

积分
3456
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:- L+ i1 ~& U4 ]9 {4 C) F/ z

1 q0 S5 z8 ^+ Z5 c4 I7 V0 S1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。5 f% h1 t& ^. [9 V$ U
* k1 ^$ B8 `1 t4 {
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。/ N5 s  t. h, A3 ^9 U
, i8 ]7 g: V9 G' U" R
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。7 `  P0 Q7 O; T2 d' o1 G8 H4 V

- Y5 R( X9 s+ W8 ?4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
5 O$ N( }. v6 Z- B3 y. _. Y! s* R3 Y+ N
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

338

主题

520

回帖

3456

积分

管理员

积分
3456
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
6 e" R' `! j3 Y2 o3 |+ R6 n' a" x, o9 O& T: [0 `
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
8 ~8 ^/ A1 U  K9 F4 a
4 O5 l2 E/ `/ z1 A1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:% g& N- l* _9 g4 n

) c2 V6 i& [7 U: u   ```; }* v  V3 ~4 ~; x4 _- V+ w9 ]
   add_menu_page(+ E  f% f3 c' M: V# Z& N* ?
       '全站公告',! \/ K3 V1 _" |9 w2 M8 u6 o1 l
       '全站公告',
4 n/ a7 _( c, L, g6 q3 `       'manage_options', //需要的用户权限% e- ~4 D- x8 l6 O5 }/ F; `9 w
       'site-wide-notice', //后台页面的 slug
% t( R5 T/ I$ H2 C* \       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
+ m5 q4 G/ d( P/ k3 v& K3 W& R' Q       'dashicons-megaphone', //用于显示在菜单中的图标6 H" V8 w* _. S( a3 d! b2 [
       30 //菜单项的位置
, m# q% ^4 g9 B% V   );6 ^' Z) [* J3 x+ S( f
   ```# j; {3 ?1 t3 s/ G1 @9 a% E4 m
% R  Z# p. r: {2 e( i7 J
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
! j: d' [3 l& b. s7 L8 n
$ Y2 V1 Z: g0 u" B% e2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:+ O9 l. o' f) K- u1 n1 e& ^
0 @9 A7 t9 q4 N- i$ ]6 c7 ?+ G# ?
   ```
  L! j6 C8 s8 n   function render_site_wide_notice_page() {0 O5 Q' q9 I! K0 k  F$ V6 B1 j( X' C1 a
      // 渲染后台页面内容- ?  f; Z6 }5 e+ p/ p: Y5 `8 |, e2 Q
      echo '<div class="wrap">" Z- u  Y9 a0 d' I1 x4 d
          <h2>全站公告</h2>2 I% Q0 J! \' B5 ?6 @
          <form method="post" action="">
) l8 P) J$ l! f$ A" a* k2 F* v              <label for="title">公告标题:</label>5 i8 A8 N6 O* F
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
0 ?+ m6 k2 b2 V9 k! a  v              <label for="content">公告内容:</label>* T. v" r- i% O
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
' z3 G7 w6 U" Z8 l              <input type="submit" name="submit" value="保存设置">
2 o6 W5 ]; T1 b% u. g! v4 w1 W          </form>
1 ^! x6 W$ y: n- c" w8 \5 {      </div>';
0 r0 E# A3 Y9 L' ?* L9 @/ J
2 z1 ~6 D4 l/ \0 U      // 处理表单数据
1 Q. i2 @& O& F8 B# y" A! p      if (isset($_POST['submit'])) {( A! E3 R0 B' l% Z: P4 O' ~
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
- s# [! N' m4 N9 j          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
0 |8 F# {) d" f, b) r$ G      }
( m# s4 r& t& a- E   }
1 R* c' ~$ t* X& ^- d" P   ```3 s+ J6 b+ m$ O6 Q
1 p9 Q# }6 }4 [+ o8 r1 h7 p3 h
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
8 v& w7 ^, j7 p! f- f6 Y+ s2 s  r8 h; a. [* U
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
; L% Q7 x: m% I* k5 r
9 @; x& S" N1 N& {1 M( z, l   ```
: }) B% T; D3 R( C, W   <?php
9 q* `/ i* L  H! b$ A! S   $site_wide_notice_title = get_option('site_wide_notice_title');/ o' v$ u3 U( I  J7 @6 U+ ]
   $site_wide_notice_content = get_option('site_wide_notice_content');/ f9 P% z; A6 A" Z7 I
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
6 W% A7 A' h2 j. h7 N' q       echo '<div class="site-wide-notice">';
: ^( f2 r1 R7 \0 G! c2 A7 {, V       if (!empty($site_wide_notice_title)) {; R: o( I8 C# f; L! n
           echo '<h3>'.$site_wide_notice_title.'</h3>';" `9 S' ^- V/ \; U
       }# P, E! \: l& e7 L: N  ?8 Z: d: _0 Q
       if (!empty($site_wide_notice_content)) {. K, B0 Y! O. j" @& f
           echo '<p>'.$site_wide_notice_content.'</p>';( L* J1 {! k  P/ v+ H1 _
       }3 U2 x" F/ Z% ~+ L; A7 O- ?
       echo '</div>';9 e+ \" E- A6 ~' o; k+ \
   }
* x# p8 A4 b! d   ?>- o3 z" J0 N( i7 I; x4 ?
   ```# i- o, k* @: O4 K% q$ K% y  n

' C, R4 [+ k  F  \' {   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。6 W6 e7 _* G" D5 k

! z2 \% c- a$ c2 L- `9 c( U/ o请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

338

主题

520

回帖

3456

积分

管理员

积分
3456
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
' E% I3 x4 v- O( ?( H5 S4 v, ?2 w1 V; Z0 ~/ d! |8 M3 C
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
9 m0 m$ g! o& w' N6 F1 K
8 [1 c% t0 O6 I* _1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
. x- {3 N1 v* t( n- g9 h
  G1 ?* x, s3 a7 v2 P5 {/ v```
' P# m4 [. {' c$ s+ Vfunction create_custom_post_type() {7 g' F" f! n5 b% W4 M
    $args = array(
+ @  g! C( ^! X; |        'labels' => array(
* a' x. \1 [% V            'name' => '公告',2 V! R; N5 T+ W* `
            'singular_name' => '公告'* h4 s3 d6 F6 L+ U
        ),
6 p; L* N" u+ M/ p( ^3 K* z        'public' => true,+ z  g7 [$ ]3 M# o
        'has_archive' => true,8 D( I( `+ q% X" ~, A& ]. J0 I' M% N
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
' J) d7 K* l5 Q. ]        'taxonomies' => array('category', 'post_tag'),: x2 ~" q* P# p  v) B: y
        'menu_icon' => 'dashicons-megaphone',
/ I4 N, M8 F  w( G' c, z- }        'menu_position' => 5,* |# D  [1 D8 j0 |  L- X7 E
        'rewrite' => array('slug' => 'site-wide-notices')
  ^* `5 c; G0 H2 Z8 [% G    );# H) r$ x; T! z; u* p7 |
    register_post_type('site-wide-notices', $args);
. v3 K0 j- n$ b2 w  F4 ~; Q}! V9 t3 Z* c# y* }8 W4 G
add_action('init', 'create_custom_post_type');$ R$ M1 o5 p- a/ \9 k5 c
```
9 ~* J/ q; \$ y1 ~' O, H
6 Y* P2 a- h- J- `  l9 n  i在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
* S0 \" w& ^2 X  h
, l  i! T! f# u8 Z  i2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
. R7 d* J) @3 A- Q4 a$ A0 G5 B0 _8 R) p/ L  Q
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:8 ?3 I" A: C4 V/ r
+ w/ J9 c1 A; l/ p& J7 R, n, X
```7 F' S& N3 A$ F
$args = array(' C( N, I$ h" G5 E$ Q
    'posts_per_page' => 3, // 显示的公告数量$ U2 o$ S. Z& B9 k5 c) T
    'post_type' => 'site-wide-notices', // 公告文章类型  G/ N8 E/ O/ b
    'post_status' => 'publish', // 公告状态
# I, ]0 B: V7 l    'order' => 'DESC' // 排序方式
0 a/ r. [8 E7 G! E);
7 I# K4 B: I7 \0 q! `
9 K/ Q9 h* a5 }  n% Y: @5 E+ h$notices = new WP_Query($args);& W* s) B' y$ _& ]) l
if ($notices->have_posts()) :
6 E: M" b; I8 s- i. O    while ($notices->have_posts()) : $notices->the_post(); ?>% @5 y' t; Y0 E2 w: ]
        <div class="notice"># m* L1 g  h6 f9 P$ n6 I5 Q1 j; v
            <h3><?php the_title(); ?></h3>3 n( t' f+ T) z  O+ x
            <div class="notice-content"><?php the_content(); ?></div># Z4 W# d6 A7 F  p% F" f
        </div>! D2 J& t9 g! s3 ]: r: Z
    <?php endwhile;( b+ x' v! L9 H* {& {
else :
+ V0 [+ g* G3 Z+ e. F! K' y3 a6 k    echo "暂无公告";
6 r2 F0 n- y( T. H6 r9 f8 A8 X9 Mendif;
3 I$ H2 Z) U& Q1 ~wp_reset_query();7 \: W% i1 w" J/ n6 `; I' T
```$ _$ ~' [* X! C0 y. Q
) E/ v: o7 `0 V$ G& y' N; a# `
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。6 [# u: \6 ^! m+ L5 C  n
" U5 |  x" E, B: s
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

338

主题

520

回帖

3456

积分

管理员

积分
3456
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?  k# r! ?6 C+ p3 C! e* H" @) _
' f3 Q; H8 g2 X8 P+ W! N% s
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。3 z0 x6 _7 E& _: O9 x9 P1 U1 F

0 B: G) @- q- i; A/ d7 L; s& p& ?2 r以下是创建自定义插件的步骤:
: l) k" A; m; Z' k8 b
7 p' L( {9 m# w5 ^3 o: d1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:% P4 U3 D1 f  D$ V9 `
+ G: K3 H  {/ b
   ```8 N' o" t- d% R# e1 B! a: H- C5 U
   <?php6 c, o3 e4 }: D/ M6 U/ [
   /*& O" }' k! m  G) f1 y$ B6 W3 w
   Plugin Name: Site Wide Notices Plugin. H  [* ?) }8 Q9 j! P3 O+ e% ^
   Description: Adds a new custom post type for site-wide notices.
1 B7 G& B' r/ M! V5 \   Version: 1.0
; X5 I% k. y# n6 E  p0 s   Author: Your Name
8 B0 O; M0 L6 R/ u1 g   Author URI: http://example.com
& \+ ]" R  f, \4 C   */6 Z( d! {8 {$ O+ \: U2 K- M

3 V! b, N% o, H% o5 z+ g5 K   // Add plugin code here...
7 N% ?/ Q" {+ Y, T   ```0 o( V1 _# t$ i
" _, p0 w' n$ ~1 }2 H9 v' V; a0 F
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。6 b( d# `  {) t
, O* l8 R; Z# J% e8 W. ^
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
! b+ N; Q/ G$ w
5 C& A' L: {7 g6 \   ```
  ~8 i# Y8 \- i) c3 S   add_action('init', 'create_custom_post_type');( E2 m) p' @. v# W
   function create_custom_post_type() {4 E! |5 |& i! w
      $labels = array(
- {/ X3 U( k2 e' a  c          'name' => 'Site Wide Notices',
" S/ B" U, i" `6 _3 I          'singular_name' => 'Site Wide Notice',
' y# m! \4 A& Y" m8 e          'add_new' => 'Add New',
' G: b2 }8 r4 k+ |          'add_new_item' => 'Add New Site Wide Notice',1 u5 h( r4 w/ I
          'edit_item' => 'Edit Site Wide Notice',
3 _; m1 w! X7 I* H6 u3 F9 ?          'new_item' => 'New Site Wide Notice',0 L/ e' |, Q4 s7 ^
          'view_item' => 'View Site Wide Notice',# Q  W3 Q5 [( X6 ?% x  l. Z
          'search_items' => 'Search Site Wide Notices',' a% R' c+ Z$ A; V
          'not_found' => 'No site-wide notices found',
; F. p' \1 R# B) V5 F+ M# L          'not_found_in_trash' => 'No site-wide notices found in trash'
6 ?  c7 U) j, W2 `  u' o      );
- j9 Y0 {$ M0 d, H: m8 M. d  t" ?/ N* B* O
      $args = array(
2 g' B! \, C7 D          'labels' => $labels,$ h. U5 y3 V7 p3 X; o
          'public' => true,; R: b1 j% w; g5 r1 V. K
          'has_archive' => true,1 h! j5 ~( Y( m0 m+ T: {
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
% z$ k# p) H, H8 @1 ?, W3 E8 F/ i          'taxonomies' => array('category', 'post_tag'),2 R6 X$ y; Y7 m  C: V
          'menu_icon' => 'dashicons-megaphone',
+ r0 e) J# ~5 Z6 y5 o" e: Y5 r          'menu_position' => 5,
5 n  ?  l1 i0 G2 G5 C          'rewrite' => array('slug' => 'site-wide-notices')8 Z* V2 y: E3 P/ f; R
      );
' V2 O& l9 m: f0 z: c4 |0 w7 a  f# K. R3 g* D+ e# p  K; A9 }
      register_post_type('site-wide-notices', $args);1 K: \5 G3 F: p3 l7 u
   }
9 o$ `/ P9 o1 v1 M   ```! u8 R! ]( J7 x/ ?9 S$ B' d0 L
) T+ Z5 r! y9 o0 V- p
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
0 K1 V4 W$ }! W  }4 S6 M% M
( G) l, X2 l7 ~( y3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
. v/ I& [8 M6 X# s0 l9 I$ L- B0 c
   ```
8 t! {4 H% z: D, q/ a  i   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');# k2 }6 {6 q, ?% c% [5 M
   function add_site_wide_notices_boxes() {
4 ?% m; Y: N7 P. j      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');1 U) f9 Q$ e1 M. q1 r! t% j" _
   }2 x+ e; `, P7 W1 e; ?
9 }& {! D0 a. q; H
   function notice_details_meta_box($post) {
0 P! C" r7 o' k$ g* m, z      wp_nonce_field(basename(__FILE__), 'notices_nonce');
" [  b! I" P$ J/ A( w1 i! n  Q8 [      $notice_title = get_post_meta($post->ID, 'notice_title', true);
3 J8 X$ R) p( {% @9 Q8 @4 a      $notice_content = get_post_meta($post->ID, 'notice_content', true);1 r. p5 Q* i8 y+ I/ T+ n2 [
      ?>
6 d; J) f  l$ S; ?" f6 ?      <p>  S: f+ I: v% R* K
          <label for="notice-title">Notice Title</label><br>
* v7 j/ S$ Z2 e6 x          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
- V' g7 ~" \5 ?- X' `      </p>% x( o* t( |- r
      <p>
. ~" R3 v- e4 C& \          <label for="notice-content">Notice Content</label><br>
, {8 x7 Z  V3 g          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>  ?  {6 b1 C! X5 m% U
      </p>1 N2 h* E) r2 y  W# f* Y3 g
      <?php
) W7 _, l( |& P: U; P4 m/ O  F   }  S. h7 {! S6 s& S8 }

) X9 V) ]( i- v. Q1 K8 h* I' A   add_action('save_post', 'save_site_wide_notice_meta_box');
- |3 e# a6 J  W6 h   function save_site_wide_notice_meta_box($post_id) {  p  a* \. l" W( t' |
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))1 T6 k0 o6 Y# o$ I( [! r+ G6 a
         return;
4 f3 z( h$ z6 o9 b7 `/ C8 k0 e0 a! M      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
, _/ f9 K1 [8 ], u         return;" d5 A2 Q* n4 c, b8 P
! ]. `2 Y" _& {" i
      if (isset($_POST['notice_title'])) {
$ h* B/ ~, n$ j3 H          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));- J, g# m9 c7 L# |
      }. g+ P% m0 r! M/ P: V. i
      if (isset($_POST['notice_content'])) {
# _' G3 U8 q+ ?5 C% d2 H4 l- N- h          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));4 E6 z& y/ @4 X7 z# `5 f2 e' D
      }
) b+ Z- n' a1 W: r& o& c; }   }$ U7 a! q7 R8 J% a0 `
   ```+ v! E2 C  ]5 u' J
0 ~1 C/ M# j4 w# ?' [
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。/ p6 G& i6 U, S! @! m: Z# e

& Y3 V6 t! U% P$ s) Q: |% U4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:$ k$ M$ d' _3 j$ W: [
3 g: J$ r8 L+ S5 H
   ```
& W( G* J3 A3 y   $args = array(3 o% ^% z: B( z8 Q$ K* d# M; `$ w* b
      'post_type' => 'site-wide-notices',, g: B  t8 A* [
      'posts_per_page' => 3,
: U) a/ \9 M1 z0 P      'order' => 'DESC',
+ P: g, M2 A- J8 N4 N* I2 @      'orderby' => 'date'
, z% B$ ]" a5 y, @' \- j) G   );8 Z* g% F/ w% P6 m. c; E
   $query = new WP_Query($args);# L2 [* i# K4 w
   if ($query->have_posts()) :' B2 y, A$ ^3 B0 M
      while ($query->have_posts()) : $query->the_post(); ?>4 Q/ y* R# r6 G6 C$ `" t
          <div class="notice">
0 F9 \( O1 k& e/ |, b9 c3 s6 d              <h3><?php the_title(); ?></h3>
$ d) r/ B5 O; {" W3 ?2 a7 i" \              <div class="notice-content"><?php the_content(); ?></div>
/ R5 b, \) V) Q* M9 C          </div>
; e% k0 H( M9 ?4 o4 \      <?php endwhile;- c6 g7 `7 f0 Q7 X6 `6 M
      wp_reset_postdata();
8 [( _; o. D7 |$ j$ _$ P( y, p   endif;
; s9 V$ z+ h% X2 g   ```& r2 L0 ^$ ~7 W$ Y3 l5 o- X

4 N( I( w0 U6 g5 x5 X9 b8 r" q   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-29 09:47 , Processed in 0.022444 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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