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

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

[复制链接]

332

主题

513

回帖

3368

积分

管理员

积分
3368
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:1 _! A- M) D9 z5 F+ O! i
. u% b! ?' }! D8 [
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
' F* e1 e! {2 ~( A$ y4 B. v+ e: U/ h2 Y7 N5 a. v5 `
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。. e+ J/ K- k- e" x* N1 P, P8 y" R( I

. a& a6 j* F# a% w+ P2 {3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
* L3 V& B8 F+ q, N9 e' b* Q2 D1 P
1 n1 ]* V0 j' ?' Y. u4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
& s% {- [! x0 d! g
5 e9 ]  |) o" R0 A# ~* h9 u- J注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

332

主题

513

回帖

3368

积分

管理员

积分
3368
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
3 u0 z* ]1 c3 B% ?6 N
  a0 E: a! |* g4 a2 _如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:" K% n& P1 }3 ]( y

  q6 U' u6 _4 i/ K" D" ^1 c" S2 L1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
% j' \/ {* P- e* s- {' @. S6 [& `
* N& B3 k# C' \1 {  \4 H2 `4 s' s   ```; a9 t8 a. w) R9 W* ]0 y
   add_menu_page(
! u' r( F  `: f, s7 A' M+ l       '全站公告',
  c' D) Q0 y; E4 n; b       '全站公告',, F% ]$ [$ F: a. S  ?. Q% q% ~2 y
       'manage_options', //需要的用户权限  W- c& b9 W4 T, P& p! W" `. u9 D# d
       'site-wide-notice', //后台页面的 slug+ ?- A& W& w4 d' t
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数# x2 |: j+ I, ?; R$ D
       'dashicons-megaphone', //用于显示在菜单中的图标
: n" Y& A5 x0 J/ f  q0 w1 B+ H       30 //菜单项的位置
, W# W' F$ _) D( U" x0 L   );
( y% r# y9 d: M. b1 L, G   ```
( \: ~9 ^- F8 q6 e& q
6 a2 Z7 o* c3 J4 D& B   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
3 R: T$ `; ], c8 r
3 \2 s7 m* v( w: R2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
7 K6 e) j7 n. ?) O6 P* m. }, f  L* D# o! A( u
   ```* W) J, S2 T( `0 w% D
   function render_site_wide_notice_page() {
* Y, w& K8 d( J- ]      // 渲染后台页面内容
' A5 D3 M6 R3 Z. e6 _" l; O* _      echo '<div class="wrap">2 T! S) e3 t8 j* q4 T
          <h2>全站公告</h2>. N$ c/ U0 q% g$ _
          <form method="post" action="">4 |: ^/ t0 |# K! F: a' w9 E
              <label for="title">公告标题:</label>& u' A0 j+ o7 y, _  U# @3 [
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>' C7 B, g' Y, Q8 H  Q$ W
              <label for="content">公告内容:</label>
8 c% G/ B2 G) h6 j1 K              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
$ ]4 R% V% w# r4 t: S& l& l6 f              <input type="submit" name="submit" value="保存设置">9 D3 @; q% N1 T( c, ]8 U
          </form>
; |& |4 ^! a1 S' D      </div>';/ ~5 o6 }$ b7 s4 y+ m% S1 l

7 \- N1 w& N; P  l& j1 w$ W      // 处理表单数据
' c  o0 ?! B6 J$ D      if (isset($_POST['submit'])) {
) ]+ U- N" ]: \- p          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
4 B) T$ x2 g" ~9 l& Y          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
& ]5 E: t$ y9 t6 x) `8 G      }% @  c: {) P0 I+ S+ M
   }8 w6 ]/ H" L; G- \9 v/ Y
   ```
3 p3 y1 X- g* x4 v9 |# |, I+ E" o8 O: o& W6 M8 s
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。* ~4 N) G0 D7 V  t; x" ~; R
  {! [( ^+ X& |  L# v9 Q+ I
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:% Z$ R: z& P8 X! Z0 z5 h, L% ]# N
: o* s, t* R4 Q3 }
   ```) R. u! n0 H) B( J" G* x
   <?php% B- m, F# ~" r  Y; U* J5 `, S
   $site_wide_notice_title = get_option('site_wide_notice_title');( z  [. Q' I8 t
   $site_wide_notice_content = get_option('site_wide_notice_content');
8 P0 q+ c5 K3 ~6 p   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {1 o4 O3 u) ]+ O# V: \
       echo '<div class="site-wide-notice">';
! j) p+ i/ e' Y! P8 c& w       if (!empty($site_wide_notice_title)) {. F( I# k  X) i4 c* `- h
           echo '<h3>'.$site_wide_notice_title.'</h3>';. d7 ?" H) H, Q6 c$ R5 i; ^$ F
       }6 b" F6 @2 i( ]1 [) q2 U6 E% e
       if (!empty($site_wide_notice_content)) {# j( `* ~- g/ K- O* G: F
           echo '<p>'.$site_wide_notice_content.'</p>';
) X, A" _: v0 W3 H( V1 a       }3 [1 g2 m, `  D4 o, L9 u
       echo '</div>';
  s& f5 I: {+ @, ^4 a  V   }
; d" [7 d) W+ k9 r   ?>
; g6 {7 V! q# x$ k5 D) R! k; \   ```) x! A" D) H. v' R
( t' n2 x6 N0 l: B
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
2 V1 i+ `* e8 t& g$ H, q0 t
2 S( s1 {' N+ V8 I9 k; p请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

332

主题

513

回帖

3368

积分

管理员

积分
3368
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?! t2 n4 X0 g7 r
6 `' c! A! b; j& f( ]+ d, k. z/ T! S4 A
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
& g- f- Z$ L) ]8 S. Q( m/ m$ Z3 q  a% a0 b
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:  Z& P/ o, x- W% J7 p
# k, D6 Y& o' N$ w* X% j- J
```
  O# e9 ^  U3 T+ W! F5 Ffunction create_custom_post_type() {
) a9 X* u2 C: T/ j5 w6 [    $args = array(. H# E8 M( C9 t; u! L) v2 {
        'labels' => array(6 [5 K/ z% v" ^9 [, B5 o0 U
            'name' => '公告',8 I6 k+ a4 S+ n8 w
            'singular_name' => '公告'; X3 o8 ~( V3 A6 P& \
        ),
, f- O4 [7 O/ i, Z2 |/ I6 l4 U. L  G        'public' => true,7 ~, ~* P7 o3 w8 _
        'has_archive' => true,2 j; e- q; n' Y& t' a
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),! I+ k$ d7 O% P0 Q) A0 ]3 O
        'taxonomies' => array('category', 'post_tag'),
, i; P; g; ?) F        'menu_icon' => 'dashicons-megaphone',9 t. E7 g5 N# x! [8 i
        'menu_position' => 5,
0 `$ j3 c  G, V9 P3 K4 H4 @        'rewrite' => array('slug' => 'site-wide-notices')/ M  M: w& u* P8 Y
    );0 {$ A2 `1 ]6 n
    register_post_type('site-wide-notices', $args);/ S  U3 O; b0 a6 C4 M% l; r
}" j& b$ g/ a" `( G5 B! G
add_action('init', 'create_custom_post_type');: d6 v& t+ L% c% I3 W  x
```3 H4 g) [- T* z0 e- [  `; \

9 i7 d4 b& v& z5 p在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。! N& K/ i8 h5 e" k! n" L

7 @: l9 _1 i8 Q2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。# Y5 @$ Y$ b" s! ?9 ^% L) {

  n  Z/ x/ \; G# h0 s  M$ _3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:. B5 B% p- t1 `) \
* _1 i: `1 q! W, S$ V: Q6 B* i+ M
```1 t  {+ l  w& t+ F2 }
$args = array(
( P, x! [  e6 e$ Q# V! o    'posts_per_page' => 3, // 显示的公告数量! H: s6 m, O% ~: p* D% F5 V
    'post_type' => 'site-wide-notices', // 公告文章类型( x' @! r5 K5 x! q# i! @* Q
    'post_status' => 'publish', // 公告状态4 L' V! p: y: p% _4 V  z$ n
    'order' => 'DESC' // 排序方式
  Y4 p# G& N0 _# e! H);4 a6 n+ M/ p* Z4 X# U9 _

9 H% r9 f0 w6 C+ L3 B! Q$notices = new WP_Query($args);
) k$ @; V2 M/ Y" D3 `9 ^if ($notices->have_posts()) :. i% j4 K5 x4 {, i8 p1 Y& @
    while ($notices->have_posts()) : $notices->the_post(); ?>: A3 U% ?8 A. f. E8 n
        <div class="notice">) |7 l& O: E5 W, z/ @: M1 a0 [
            <h3><?php the_title(); ?></h3>
  C* K. ^  U* V5 D" k0 c+ j            <div class="notice-content"><?php the_content(); ?></div>" p1 y& Q( f% Q
        </div>
6 C* v% ~$ j% E2 m8 g    <?php endwhile;: D+ k3 w: |3 ^6 l) h
else :7 b: _* ~* |/ \; N4 C8 p
    echo "暂无公告";
9 n7 l# k3 u0 k; Z: E& k3 hendif;, z1 A, V* I9 t/ r* n8 i$ ]
wp_reset_query();& i" ]+ L6 ~2 p
```8 {: J2 U& ]) B+ a
- L# u8 \$ y7 \' \6 x" f
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
$ ]6 A/ N9 ?& m+ C2 x0 ]0 I/ D/ F4 j2 v/ T- ~% y
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

332

主题

513

回帖

3368

积分

管理员

积分
3368
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?- D" D- P% r& U  d6 A' Q2 }( w: D
5 X4 G8 a4 @9 q2 j# U; P5 `
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
. E5 X* q2 G2 F. t8 p% Y
) _% c7 A0 H* T) f6 ]+ J  s) u; S/ K以下是创建自定义插件的步骤:
; h4 ?5 p7 }/ D5 T+ b" E& B8 v
, ?+ _' o  N. I: Y# a1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
5 _7 |; F# A  l2 L* m% [0 d3 U$ ]- r4 `/ B" s% o
   ```
& Y7 ~6 i; m9 }( C: v( u   <?php7 X7 S9 g4 Z/ A
   /*. Y1 q. l, H! _! V
   Plugin Name: Site Wide Notices Plugin
' X( N$ r& L& J9 q2 A/ l& @   Description: Adds a new custom post type for site-wide notices.  Z& V/ n* p4 y
   Version: 1.0
# z* u) y. h  R; ]1 d   Author: Your Name3 q; n) e+ D0 \
   Author URI: http://example.com
5 \" M& E. c9 K5 \( Q1 ?   *// n- I1 F4 q( b. A
, j6 e2 i0 {+ W4 ]* p
   // Add plugin code here...
, W+ ]$ g& C5 Z   ```( g. N( }- ~+ ]  _
, F% K# v. g0 D
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。' l# {9 d* _1 n2 p$ t( e0 {
* l' }$ E4 L6 K7 L
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
7 F, L! e1 G( b* w, D9 i! d3 ~7 M' l: p. k' E# S
   ```
0 O5 B& e- O9 h( P   add_action('init', 'create_custom_post_type');
  _, {% L4 i, e+ q& [! K! i   function create_custom_post_type() {! o4 s% W- K( P$ f
      $labels = array(
4 s  ?8 R. Y* n& Z: Y' s# c* N          'name' => 'Site Wide Notices',
/ T7 ~6 b+ w  v" t9 t" j          'singular_name' => 'Site Wide Notice',
1 ]& c! o% Z2 u, ^          'add_new' => 'Add New',; P$ O& H/ j1 B; n! ?9 ^
          'add_new_item' => 'Add New Site Wide Notice',
6 V  N/ f" ?# F; ~6 _          'edit_item' => 'Edit Site Wide Notice',  Y, X9 ]4 l' j
          'new_item' => 'New Site Wide Notice',; F% e# w  u% ?6 b
          'view_item' => 'View Site Wide Notice',
. ^8 D, a6 z' P/ d2 }          'search_items' => 'Search Site Wide Notices',. d( ]6 z4 W9 g8 n/ Z7 `
          'not_found' => 'No site-wide notices found',
* ^% P1 k1 S  o: b3 P          'not_found_in_trash' => 'No site-wide notices found in trash'. ?/ M3 u& U/ x! Y6 }
      );
7 k9 a. g: ?: ^- i6 E' D# w9 b5 o# K, p# p' ^; W
      $args = array(
" u; v& C* Z* G8 K# l( j          'labels' => $labels,
+ L( G3 g# F+ E6 U7 b          'public' => true,
- H8 `3 a1 }, E+ T  r8 A# R8 M          'has_archive' => true,; e+ H, U* C5 s2 m) ?+ F! t
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
0 t1 b* N2 M. B8 F          'taxonomies' => array('category', 'post_tag'),; g! ^) i1 r; `% O- ]8 P5 a
          'menu_icon' => 'dashicons-megaphone',
5 Z3 I! t$ Y: V5 Z0 V. S          'menu_position' => 5,
: y( i4 m. B; S$ @+ {0 |) A          'rewrite' => array('slug' => 'site-wide-notices')5 |# {  T7 C9 X+ n& A; [
      );( H$ c' ?& m) W4 ^1 F" C- Z; W
. Z/ ]8 C, Z6 X: x7 y
      register_post_type('site-wide-notices', $args);
# a8 S: W9 K& _4 I   }
" m! N: a( W* a0 S+ \' u# B   ```
1 q$ _" Q5 Z& w& \: j; B# J! s- r9 ?1 s8 p  z
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。" ]7 r7 N4 k9 ]- v
1 H8 a& P8 ^8 x0 Y6 s  q8 t* \, E
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
- q9 l  N. a! Y( Z) I2 M8 \4 V/ v
4 O+ i9 i! ]0 r6 z# {1 m3 \   ```2 J0 w+ R% h4 q6 d4 z( X
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
5 k! D% @" n- J1 V( }' g   function add_site_wide_notices_boxes() {
& h# w: t( k: z2 o- O" A  b      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
9 I& W+ f, C+ m- V; J   }
" w: D7 N, I  h) n1 R4 y' _: ~* H' w5 r- n, z
   function notice_details_meta_box($post) {
) |, N; j  G+ H. y' @& ^, ]3 E& K      wp_nonce_field(basename(__FILE__), 'notices_nonce');
4 k1 o5 a- T8 S4 w1 p  I3 g* Y      $notice_title = get_post_meta($post->ID, 'notice_title', true);
! d# n' a) [# N* h. L7 P, S      $notice_content = get_post_meta($post->ID, 'notice_content', true);$ k8 [/ d0 a: G  d% F$ E5 W
      ?>
. b& l6 h- L8 t, e      <p>1 L' Z) q3 V! p5 h
          <label for="notice-title">Notice Title</label><br>* p$ L, V8 X( s" _
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
" X; Y. _9 M6 ^      </p>' H- ^: a' Z0 {
      <p>8 v. A" `  R# o9 n- c8 @
          <label for="notice-content">Notice Content</label><br>
4 {8 C1 }+ x) G! a+ [) Y# D          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>' d) {3 y  M( H( G: c6 Q
      </p>+ O' h% `* c8 J* q) l( {3 L
      <?php
1 `" k' e( g8 N8 X' M" W   }5 p+ R# {: C8 f
( I" K/ y' A/ m4 I# Q8 z; Y
   add_action('save_post', 'save_site_wide_notice_meta_box');
  M, _( F2 o! z# N8 L+ H   function save_site_wide_notice_meta_box($post_id) {
: X6 s7 _2 ^  D  X: u+ \8 c      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__))): \1 [6 W( n% H: P' G
         return;5 v: t5 S% e2 J- [; J! E2 j
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
6 c6 @. \# S! ~' s3 j' M% ^% P0 r; v         return;7 k% X, O* {; p$ P4 S2 t$ }5 k: j
4 B1 o. s7 [8 M$ ^  O" q2 N, P+ C
      if (isset($_POST['notice_title'])) {( M3 n) B& Q, E' B: P% ^
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));& f6 y) a* k- w) H8 @  k7 R
      }
2 w; k+ _0 k8 N3 z/ K1 g      if (isset($_POST['notice_content'])) {
0 E* _4 ^7 Z  i9 q9 S  n: _" I          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));( m. s4 I- @! `7 G2 A
      }( r5 t" t! ~+ \) j. G" g
   }; }9 I2 \2 J# U( Y+ E5 b5 A# \% Y5 [
   ```
% }  z% u- z9 v) Q
* ^; e, z7 `9 P6 J7 U   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。, Z. N0 d% p% s% c' z) U# l

+ M$ i& i$ s. o3 R" X4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
% C5 w. q, J- ], N4 e/ a7 F, t0 z9 L1 G' y( |0 W  d2 h
   ```2 S& X6 |3 B; L
   $args = array(
  a- K* H- ]! o6 B- j      'post_type' => 'site-wide-notices',
0 h0 r, W# r; u$ O      'posts_per_page' => 3,# G. ^7 K) r3 P: q0 @9 w) c
      'order' => 'DESC',& \" q7 A, Z; C8 P, p  {: M- z
      'orderby' => 'date'
. ?9 D4 [; _4 E: X   );
/ N& C' ~% N$ }7 ?1 S5 A   $query = new WP_Query($args);4 d7 e# G$ {/ ^. y, K0 e& j" d1 k
   if ($query->have_posts()) :
1 J5 Q" N/ r6 O. O0 ?8 F/ h      while ($query->have_posts()) : $query->the_post(); ?>
6 D# \% E5 }3 F1 l- y          <div class="notice">  C) O1 r, N" U5 l
              <h3><?php the_title(); ?></h3>9 l- Y* ?  W, l- f
              <div class="notice-content"><?php the_content(); ?></div>
" b, R" u. Q; V9 n, T) s' O& [          </div>5 d* v4 O5 r- f1 o, ~
      <?php endwhile;
2 `+ U4 H6 V( R* C! L7 S      wp_reset_postdata();
& J8 S( {1 n% F; T& T* E/ e) o   endif;
0 X0 c& x, h/ y8 x3 L   ```
; J* t9 b% {' A( l" [" |. w
# j/ i8 O( V- V! J* O. W! d   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|通达产控投资 ( 粤ICP备2023021749号-1|粤公网安备 44030402006137号 )

GMT+8, 2025-11-23 07:33 , Processed in 0.077202 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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