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

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

[复制链接]

341

主题

540

回帖

3565

积分

管理员

积分
3565
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:% Q/ Q9 Z* L0 _  Q
/ X5 p+ y6 a/ |7 O6 x
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。$ ~1 H1 ^! @- e1 R9 k8 z3 K
: j7 p1 t% k9 s2 s
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。2 U1 s$ N" l6 U0 K

% u2 T% [0 V. J2 u3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
1 l9 `$ D4 b7 S- h4 d% T$ N! ~
: u% W" R' d$ A! U4 ?2 u4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
; @) Y( A/ {- i0 |, L# j, r2 p/ K( E* M
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

341

主题

540

回帖

3565

积分

管理员

积分
3565
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
" u$ F9 z" w# C5 s% o  v9 \: X9 {3 t* G6 ?" D# q
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
8 b) ^5 v# a$ M7 \3 ?3 X' ~$ a0 [) I$ }1 c- T- [2 _
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
2 u2 {* a7 m7 M+ i  V) c5 `6 o* {$ k0 U( a% ?" L) W2 f; F% o* w* ~
   ```" y5 Z* g0 [& O
   add_menu_page(# `6 s, k9 x5 q( L
       '全站公告',# n* j3 j6 |; f$ t/ @+ J& x$ k/ i
       '全站公告',2 [2 {9 j* D! V, y
       'manage_options', //需要的用户权限/ |9 j9 K" I0 m0 ?8 ?
       'site-wide-notice', //后台页面的 slug
! V* L6 E% _3 |% y# N' g: ^0 g0 `$ t6 _       'render_site_wide_notice_page', //用于渲染后台页面内容的函数' d- @9 x+ q; \( `5 l
       'dashicons-megaphone', //用于显示在菜单中的图标
& F6 z# B& W5 X. m- F       30 //菜单项的位置
' a+ g6 o' A- P8 f. @   );7 d/ z8 r& m% p! O
   ```5 [2 R7 F8 A% }! |' T9 G
+ D5 w/ e6 M1 C# M- J) Z; l: W+ }) T
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
% q2 t$ D: k( H
7 ]+ ~6 {( d; l; e2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
1 e. H: K7 ?# `! n- \, D0 u7 P( H* U7 ?2 {7 C  O0 I
   ```# ?- Z# `' W5 R+ o1 ~% Y
   function render_site_wide_notice_page() {( D1 i/ S( f5 i# r
      // 渲染后台页面内容8 r- ~6 c  W0 I/ H7 K8 j
      echo '<div class="wrap">
; D2 f/ x1 r2 i5 X          <h2>全站公告</h2>( B/ r  }+ N' o" ?
          <form method="post" action="">  h, @: @( z: ]3 v4 [$ h
              <label for="title">公告标题:</label>! P( H# z  G5 G- }# X2 o9 u
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
6 g1 o/ {' |3 f$ ]# t              <label for="content">公告内容:</label>$ H4 T% V  D3 V) ~1 \) \2 |3 _
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>" H# U$ `0 p. s# L( m9 a) N- p; Q% u
              <input type="submit" name="submit" value="保存设置">
: K' O9 l6 s7 u" K          </form>
: }) r8 I- P# b9 B/ @- H0 n/ k      </div>';* u2 @1 e5 o: m3 ]" c* B( W

- q0 u; X! K: f$ u% o      // 处理表单数据# b# i* a% n+ F/ N
      if (isset($_POST['submit'])) {4 V6 `3 H& O/ n3 B
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
) P+ T! Y% r) b# n* }5 d          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
0 K; P8 R! V" j& t& i* B7 R! b7 d& G7 O      }0 M- Q! }- o5 w+ k6 o) M
   }( ~$ r( o, _: Z4 d% t) U/ D
   ```
1 h9 B; A* K# h. n4 P+ ]6 s( z* A, C, p; n
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
8 L8 ^7 U; M. G5 X1 |- S1 |: u6 }9 S: t
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
) h+ }- H+ G2 z& I
2 n/ v, E3 r6 T8 ~   ```
# X  @& ]! d8 w- S5 Q+ @   <?php: v9 k' E: m& N0 x  H4 n! {% E
   $site_wide_notice_title = get_option('site_wide_notice_title');
( _. _  m- [  ]! u/ B# A1 c% m5 j   $site_wide_notice_content = get_option('site_wide_notice_content');
( b4 q4 T( [7 w. B% A   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {5 i9 G6 e- d/ S) u. @9 C6 j
       echo '<div class="site-wide-notice">';8 _/ M9 y& X. `/ ~% y7 L; n
       if (!empty($site_wide_notice_title)) {9 Q/ y- x8 t& k5 @% ]. p
           echo '<h3>'.$site_wide_notice_title.'</h3>';; R# t! Y7 j# J3 x0 B
       }6 z1 A9 D, h7 n* T
       if (!empty($site_wide_notice_content)) {
5 b" g6 J" b' ?6 A7 A3 Z" G           echo '<p>'.$site_wide_notice_content.'</p>';
. S5 m- p4 K: N, u: E       }$ [- h0 ~- t( x" b* H6 w
       echo '</div>';
. K5 y: j8 n3 ^+ n   }
" q" E2 V/ w5 l3 |: [5 O   ?>; s9 a  D. y: i) V2 S0 ?. n/ h. W
   ```9 Y6 T7 `/ X# g3 s
* R/ ~/ y2 S: C
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
* t$ p1 y- |5 _  G/ ?; Z* V7 G# Y& o
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

341

主题

540

回帖

3565

积分

管理员

积分
3565
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?& k0 {- P- B  H; ~3 c- b
) j1 ?& K. X2 t7 E+ E
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
( z& P9 p, J9 B
0 u! ?; G$ |" Y) Q, ^1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
0 D3 i" S6 i! T% ?* I* c0 C. M
4 _( c* c! R$ ^```
  ?; s! p9 N. {7 t/ ifunction create_custom_post_type() {
, W+ q" ~# ], ?" I- @0 s    $args = array(
  H+ o. }. |4 l* y2 h        'labels' => array(6 r$ H2 |3 Y/ h/ ?  z* c+ @
            'name' => '公告',
5 [& V2 [! P1 J* f5 k: b% _            'singular_name' => '公告'' _% u! a9 Q8 _5 E) _6 C
        ),
# [  ^9 B5 c/ M: ~& c- N9 Z( F        'public' => true,7 q$ Z" ^. C& S: ^$ k
        'has_archive' => true,- j# Q6 I1 z% Y9 J
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
1 n0 Q) ]2 T1 G3 K        'taxonomies' => array('category', 'post_tag'),
0 z: p. {8 O5 _' _4 |! \) a        'menu_icon' => 'dashicons-megaphone',
0 e1 B$ b, H& i' z  P8 r4 f1 @        'menu_position' => 5,
# \* l& [0 t- a: d        'rewrite' => array('slug' => 'site-wide-notices')
/ C" P( j8 _2 y% l    );7 `1 O- @3 k! m% s
    register_post_type('site-wide-notices', $args);/ G5 L2 u! v+ k; b6 u- G: k# J
}
$ ^8 P4 X% Z* ]: ]) Cadd_action('init', 'create_custom_post_type');2 ^2 K, `1 I7 ?: m
```
  s3 H9 {! B% h1 T+ j6 X1 c: k/ b3 k! Z$ o
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
( |, D4 i' x; m( }4 \
1 A( x8 H; n3 |: u2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
/ g9 y0 o1 W6 D' `5 b( m; Q4 t( M! ]5 z1 U% y# N
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:8 E9 k3 B+ I9 n5 c% c
) K2 b1 R( Q9 |: @. A7 |
```4 r; P0 V! T! j
$args = array(
) x  j& U$ H& u# K5 \( l% _    'posts_per_page' => 3, // 显示的公告数量$ e2 c* Z4 _/ Q8 t; K( b4 u2 E
    'post_type' => 'site-wide-notices', // 公告文章类型. V. p. x* b/ L2 z5 w2 t) l. i, Y
    'post_status' => 'publish', // 公告状态' _3 c4 U, s* Q( @1 _7 C7 D9 l
    'order' => 'DESC' // 排序方式
+ m' ]( c& W$ g; ~);
; c7 J9 [( }; l, B9 o0 {2 X8 c* e) X2 P, t, f) R( m# p
$notices = new WP_Query($args);
+ E9 j, N3 n$ C0 O$ Qif ($notices->have_posts()) :9 ?1 \! }7 Z9 s$ u
    while ($notices->have_posts()) : $notices->the_post(); ?>
; S) w3 y  F% S9 _9 X# n        <div class="notice">
# X2 e0 ]6 b, U1 I            <h3><?php the_title(); ?></h3>
/ D$ |, l3 t/ e            <div class="notice-content"><?php the_content(); ?></div>2 s) r( H4 U$ ?$ {
        </div>7 K  ~( Y- G' C4 q
    <?php endwhile;
# c( t) P# ]- B# t) |+ |else :
5 j) g, p9 K+ z% @' C    echo "暂无公告";+ L  \/ o) W1 S
endif;. ~& C  u- S! Z. z  f& }
wp_reset_query();
6 ~0 a/ j# P6 Q4 b```/ m# J9 }1 ]2 @3 j% y1 [

# _, I- ~2 e/ d+ B& W$ c# @这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
1 W5 o* P" O2 k4 I3 y( U$ J# _( f. h0 c  T+ t0 Y
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

341

主题

540

回帖

3565

积分

管理员

积分
3565
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?" P( _, b: G, W3 C

" {. a  E0 W8 D; [' N, }如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
) ~+ w$ B8 [$ Q0 |! J1 N7 a4 \  R$ ?" i; h2 o9 T' I: O' W
以下是创建自定义插件的步骤:
, d( n# F! K% z/ f& T
! U8 e. D$ {$ \" V3 F1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:* w. a( _1 F" n9 j/ r7 n+ m2 b
# u0 _! h' e% r* M. |8 @
   ```
1 V; ]3 N# F+ q0 y8 w: v% a   <?php
0 p0 d6 E" d# E   /*
' q& }3 C) o: J! Z   Plugin Name: Site Wide Notices Plugin
3 w$ I! z- x+ r" x   Description: Adds a new custom post type for site-wide notices.& p! l, d3 X( E! r& W( Q
   Version: 1.0
! ~* s* W4 J" x$ T1 R+ G   Author: Your Name
9 b' a1 F- C7 Q5 }* T5 S& m, o' W# n   Author URI: http://example.com
' g+ C" j+ o2 l- i( U! e   */
' f7 _. p/ ?% Q8 k; W! `! n- C; l7 e
. d. |+ g( j* H% }# |   // Add plugin code here...
& e$ u! f9 o8 V7 D2 E   ```, v. I5 i* V2 o) s" a& F# |
# @, s8 O- ], o2 f2 B+ d
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
0 \2 [5 P+ C3 N( R8 W
" v" c1 R# z; K5 F1 N5 z2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
# Y3 i- Z# D) ]; b. z9 ~6 q7 k. J8 j
   ```
" _+ d3 P' ^1 ]5 D* c   add_action('init', 'create_custom_post_type');% T# _; O3 ]. `1 v7 S: z
   function create_custom_post_type() {
* a% j7 X2 b0 E7 H! T8 M      $labels = array(7 m% B: ~) ?+ k2 C. j3 j
          'name' => 'Site Wide Notices',9 y, H7 k; M% w  Q; ?
          'singular_name' => 'Site Wide Notice',: [+ K7 @' U. ?2 w2 O5 |/ b
          'add_new' => 'Add New',
# z1 d! c. W% D5 i( @          'add_new_item' => 'Add New Site Wide Notice',7 Y: k* ^; k4 ?' L2 C2 Y
          'edit_item' => 'Edit Site Wide Notice',& E* @1 \# n& q& T5 S
          'new_item' => 'New Site Wide Notice',
7 k7 s& w! ?0 h* k* F% x          'view_item' => 'View Site Wide Notice',
+ n# R0 ^. {- u4 N% F, c, r9 `' O          'search_items' => 'Search Site Wide Notices',: A3 {8 ]' i# L+ Z, G
          'not_found' => 'No site-wide notices found',
# C+ u' W# m/ [3 \          'not_found_in_trash' => 'No site-wide notices found in trash'' u8 v- X% y& \2 H0 L1 l" w
      );+ d# b9 @* y; V) [" P

2 l5 t: h) b. M      $args = array($ D4 h8 E: R3 ]  B
          'labels' => $labels,
# q5 _0 k, Y! g          'public' => true,- f" f$ r1 i! e0 k
          'has_archive' => true,
) {8 v2 g; C) s1 g/ P          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),6 j2 i9 C; R4 m9 I' Q: O) x- S, Z- @
          'taxonomies' => array('category', 'post_tag'),% a: N$ L, j. N* ]! G+ s# i" @
          'menu_icon' => 'dashicons-megaphone',
  E: z7 @  n  y0 O% e! O          'menu_position' => 5,
8 W" H( Y( u/ |- p! L/ G4 N          'rewrite' => array('slug' => 'site-wide-notices')
7 d/ ?8 }6 ]6 ?* v1 z- D5 A      );
* x7 B; X" e# G' D- [1 @3 r" p7 P' r& t1 A2 W
      register_post_type('site-wide-notices', $args);
0 \2 o# M1 U" u" ^; L   }+ f3 L4 w( a4 A1 c
   ```) }+ [) p7 ?- G

( w* }: t' I" u9 E0 z4 L) O2 L   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。) z8 W9 ^+ g$ U* h9 ?9 z3 j
: T" z( z2 s6 b2 ]9 \
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:  h1 g! b- v5 K+ Z

8 p6 P6 G# l6 ]+ \, l1 ^, N- B+ ]   ```
" l- p% ?  X; H8 r. \! E/ v9 {* r   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');. i& X. l6 K/ v( r% O- H) Q$ e5 v
   function add_site_wide_notices_boxes() {4 X& t- ~) ]# i  s) Z. h& t8 \
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
, a0 r3 J; L% y; I   }
! W0 ?2 n7 L6 a( {- Q- c4 w( R3 D( C; x, C+ N
   function notice_details_meta_box($post) {+ m  g' ?2 @, x+ Z3 I
      wp_nonce_field(basename(__FILE__), 'notices_nonce');# E" [" @8 f& {2 K6 t& U
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
  |* @  ?0 }6 z. |5 w& D      $notice_content = get_post_meta($post->ID, 'notice_content', true);3 ~7 r2 o- ?5 I# {+ X% M+ m, ]
      ?>& m. A) J* K1 K
      <p>/ W) e1 x2 U* H% R. n( A
          <label for="notice-title">Notice Title</label><br>
1 p6 q' V, x& r          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
8 q! B; }; y, N& X3 m! C, ]% b      </p>3 C' W! T/ b# X( I+ @6 V. L! p" c! X
      <p>+ v# `2 e  K: p' Z& Q1 Z; B
          <label for="notice-content">Notice Content</label><br>. U0 ^1 `2 R1 G3 g8 }
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
  l5 i# Z4 \+ `7 p7 x+ d- ]# r1 T      </p>
" j4 C) \. m3 a4 l7 b; }      <?php
; q% E7 k: O; t) s0 d+ M$ h   }
+ ]) C8 E# J* u+ f( y
$ F  ]( G" P1 f* \. P5 \$ Y   add_action('save_post', 'save_site_wide_notice_meta_box');
& ]7 p( d' J1 l7 M6 Q/ @$ R, X   function save_site_wide_notice_meta_box($post_id) {7 w  a. O8 S/ M+ d
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))6 w% [8 V, [9 X9 r; `
         return;
- b6 O/ F% J. j" x8 `. }      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)1 S% z: B# z- r4 w
         return;& f4 l) S- o0 d0 C0 ?& k2 u3 [! d' c/ @

" p. a  \! n( X- c# ?" Y$ a/ o      if (isset($_POST['notice_title'])) {
" T& M" o8 [$ c4 o# y          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));) c, J6 Z2 \/ Q9 i8 o
      }1 V, z2 b, ~8 W1 e
      if (isset($_POST['notice_content'])) {
7 r% y: y4 G- E& w) P6 \          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));* p3 {9 T2 O: q, u: o# O! i5 |4 D
      }
4 U) z! Z8 l  R2 H! Y   }0 o; s0 t8 L9 m' H7 ]& x/ Z
   ```
9 b4 h6 e1 ?& L+ O
9 x3 N  l. b/ ^1 ]4 `3 x. j3 G   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
( a/ o. O5 Q6 I+ z3 u( O$ `- x& E3 g1 M3 K+ h
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:# l7 V! _* O0 {( o# y2 x

- L7 b* i: x3 L# t  h6 e' G% T   ```
) {: c) {( w/ O1 u8 ], d   $args = array(; m9 c% ^( z1 l5 W7 o' z0 u/ h
      'post_type' => 'site-wide-notices',7 e/ N! k( b7 ]8 |- {! s3 A( B0 U
      'posts_per_page' => 3,5 n+ d+ s4 t8 N% `/ r
      'order' => 'DESC',
  R/ Q" \' U5 m5 N# {      'orderby' => 'date'% B4 m# X3 P" `: v  m- h
   );
9 `3 f& L3 P  ?3 Y   $query = new WP_Query($args);
; w, `" e+ e$ [) t+ W   if ($query->have_posts()) :0 |. K, v) _) `5 R
      while ($query->have_posts()) : $query->the_post(); ?>
5 y  C  t4 k2 P0 E          <div class="notice">5 u# ~: S; g  b! R- m+ v. Q
              <h3><?php the_title(); ?></h3>' y5 V+ W2 d0 P- b
              <div class="notice-content"><?php the_content(); ?></div>
- }! {5 S$ Q! K3 \& d          </div>
& {, _" w% y8 g! @( G- f8 C      <?php endwhile;+ x+ h5 C- Y( k- y* I  b
      wp_reset_postdata();
: K4 L  Z) E/ ^, z! \. ]9 L: B   endif;  W0 b( ]+ a) _, H
   ```
1 j) h/ S, o7 V( T8 l+ L4 L8 u' O: \2 W2 |5 }2 X4 {' p2 H
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-24 06:05 , Processed in 0.027145 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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