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

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

[复制链接]

347

主题

564

回帖

3679

积分

管理员

积分
3679
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:1 @8 e' ?7 J" J2 D

, W. f# e% F; D3 l, y1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
3 d3 Z& N5 Y! X- }9 _7 A3 s: z
3 O/ |1 ]; O4 S- j) R2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
+ M# `* {. |: _0 I9 M2 ^0 Z" A) J. n0 c9 w" y: H; ?/ K  `  m
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。$ D% U0 {. {# ]# e/ c
8 o. `8 Y5 H: [. p0 r
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
: Z9 G- x' x2 D. }$ `1 [
% b0 Y% a  }( U) I# M2 M: d注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

564

回帖

3679

积分

管理员

积分
3679
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?! Q+ q/ n# M3 B* n! T9 _
, `! `. b- o, O' ]# {
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
5 V2 Q" S) G0 o; v! q: t3 l, Y1 D
' p8 d: d- J& E% ^1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
  g% O8 c! T8 z+ {5 h: R/ j4 o
( U+ C- j4 j: w) k1 o0 `4 b   ```
7 h1 r+ P" a# a% b7 P   add_menu_page(
% O& Y- t& `' |8 k6 H/ v) Z       '全站公告',% H) m1 x. g* @; U/ m/ D
       '全站公告',
9 i( c$ O; A. g* A       'manage_options', //需要的用户权限
5 \" i9 j& M& U       'site-wide-notice', //后台页面的 slug. m% Q: t, h4 K
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
, |# F) l/ Z0 a0 W       'dashicons-megaphone', //用于显示在菜单中的图标
6 g" G" Z8 E- ~% c       30 //菜单项的位置+ g; }* y- [* j  |
   );) X7 W& J' }, o9 U1 Y2 _
   ```
0 V/ e6 S" P  M% }1 ^8 J8 r2 i
5 I7 h: p/ W6 L* {6 T   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。% @' [2 S6 i$ Y9 w* z$ I

: b; R  t4 H6 o  h2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
+ s7 B6 p2 n) g5 c0 X" d; ^3 J4 c
   ```
/ ?0 P# R4 t) ?! Y9 R8 V; f& t   function render_site_wide_notice_page() {
! w) w. e! e7 J' g6 q      // 渲染后台页面内容. n1 A& t9 z8 x5 [% M2 r
      echo '<div class="wrap">! K; X# g! ~3 ^+ [1 i
          <h2>全站公告</h2>- T8 x! `, F4 {* r1 m
          <form method="post" action="">. X0 m% L" H# h  z2 t+ a0 ~2 f
              <label for="title">公告标题:</label>
7 m+ Z1 o8 U7 ?( m: K              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
  @' q; u! k7 `+ Y  k2 ]3 k' C1 m9 L              <label for="content">公告内容:</label>
9 f; \# R/ {: [. S% ?2 N( v              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
. e- ?2 O( ^, O. t+ Q( B* D              <input type="submit" name="submit" value="保存设置">
- S  X; M$ ~4 f4 n          </form>' t' R, Y9 h( P. s0 q
      </div>';/ v. `* \7 K) K. R/ l, t
# p: U9 S6 A0 q
      // 处理表单数据* I4 T- H1 w, o( V/ c
      if (isset($_POST['submit'])) {
, `% ~; _9 L/ y( M9 a: c          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
' v8 N/ Y" g' M+ b* b9 i- N          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));5 q( {6 }9 N- ?9 u) Z0 m% d( m
      }/ M" E1 T  l, ~8 c; S6 A) d
   }; k' t/ p" G# o% t9 T, A- s2 F9 G
   ```
& m# y/ ~; \# m4 U8 ^! T/ F, z* w+ p' G5 d# [7 ~4 n
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
" v4 E8 Y  l: a+ a
) [" g) d( |$ H2 R. P3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
  o$ N" o9 {4 n) j% d
8 E( u  h1 b1 F$ {2 `( d   ```9 u, n+ H6 v  b
   <?php. c! x5 u: l2 a
   $site_wide_notice_title = get_option('site_wide_notice_title');
4 N# C  m0 m1 G' w8 V   $site_wide_notice_content = get_option('site_wide_notice_content');" E! ?# Z5 h# D0 {
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
4 R$ ]: H! P1 `6 H       echo '<div class="site-wide-notice">';
- ~& F' |; O4 F. s       if (!empty($site_wide_notice_title)) {
9 _  m' M2 ^' ]           echo '<h3>'.$site_wide_notice_title.'</h3>';) k% G$ _# {; e8 S: {
       }
( z/ C( C7 a9 a$ N% \) q8 C8 e       if (!empty($site_wide_notice_content)) {
- l# r, q! o+ W           echo '<p>'.$site_wide_notice_content.'</p>';, l. Y) \: E  |! V) _
       }$ O1 A* }. ~8 k1 M. r! M, |
       echo '</div>';, j! b3 A' h( y  ~( R
   }
& s% H/ {% i/ F4 K0 {   ?>
! e3 O/ J$ |3 j8 u   ```
5 E8 ~1 t2 I1 i" M8 f5 P; V6 C# f2 m: t% V  A& m
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
6 k. [& E& j% I' w( q$ ?' J. X8 s7 f3 C5 p# K/ n! B
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

347

主题

564

回帖

3679

积分

管理员

积分
3679
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?% Z( ^& j" T' e4 P" M. L* S

! u( a0 ]! l8 h4 Q您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:& K+ V, M6 C5 J3 }7 E' U

# V$ x" X4 D9 ]# K7 G1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
) V& o4 f8 H: B0 q/ g. n3 ^- n2 x4 K0 V1 [  M
```
) l/ x: |# F. ], c. \function create_custom_post_type() {8 c1 ]  l; S) p4 D0 I
    $args = array(
) Z% F3 Q' m1 A* }        'labels' => array(
7 M3 E, z1 f$ Q- K' `6 j            'name' => '公告',1 {& M1 |* S! m$ I9 E0 h+ {
            'singular_name' => '公告'
1 ^3 ^7 Q+ n# x6 d8 |0 U  q( t        ),
: ]1 [0 ~* n! S* h* e) G9 c        'public' => true,. ^: b8 j4 A5 E: n3 O1 M9 U3 W+ e
        'has_archive' => true,
0 L  @8 k$ _) O* O2 O5 S; s6 ^- C        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
6 \) v* K+ R% ~5 s* ^7 {+ ^        'taxonomies' => array('category', 'post_tag'),' w: s5 ~& R- @+ N# }1 C( ~# G
        'menu_icon' => 'dashicons-megaphone',
$ v3 u! g' r- a' R        'menu_position' => 5,
) u; A: m  K$ r, G- R. p        'rewrite' => array('slug' => 'site-wide-notices')  w! J, d* k0 h0 |% [1 W4 t+ K! o' h
    );
* T% A. B8 b8 L9 ~9 H! L0 p, X7 c    register_post_type('site-wide-notices', $args);
' ?2 E& q3 {2 B1 U7 O}
# ~' ]6 i: Q4 badd_action('init', 'create_custom_post_type');! A8 v- Z' C2 z/ s9 s! w
```& {" ~5 ^! n2 }

! P( ?- y7 Q' B$ N0 ~在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。/ P* Q9 Q6 s5 c+ @
2 E5 S7 e. Y/ `7 n8 j/ I9 H' `
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。/ e) }$ X6 e1 V) Z

$ n0 n7 c) t) i, `$ K, c) n9 ?+ o3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
8 V( y3 F# |  o4 ~5 N; E
  O1 T" P0 q3 K4 o$ t% u```
$ @* ~: j) m: Y$ V9 w4 G$args = array(0 q1 I# X' j+ g# e, ~$ r3 h
    'posts_per_page' => 3, // 显示的公告数量, v6 u# m% R1 a& P1 f# c4 a" |! |' E
    'post_type' => 'site-wide-notices', // 公告文章类型0 J, k6 b2 J& X) A  U+ U
    'post_status' => 'publish', // 公告状态: q( Q. v* n7 D$ b
    'order' => 'DESC' // 排序方式
( D1 Q/ n* ]1 h);
. l8 f9 i. }  x% i! i$ O. o9 C
4 Y3 C2 a' @% w' G5 ?- h7 Q$notices = new WP_Query($args);
8 q" }6 ]! w- jif ($notices->have_posts()) :' n! X4 o: Q' ?  J* x6 K
    while ($notices->have_posts()) : $notices->the_post(); ?>3 ?" k# r: m" R% n7 }1 }/ {
        <div class="notice">" {6 ]' y+ b) n; a2 [' }2 n  ]* s- y
            <h3><?php the_title(); ?></h3>
! `/ H( `, O" s& c            <div class="notice-content"><?php the_content(); ?></div>+ K. B# r* y! }8 [; W5 u
        </div>9 ^5 }7 y+ Z! t$ l4 o4 L2 |
    <?php endwhile;$ v1 P6 G0 M, `0 p  m5 q0 L
else :$ r' y2 _" {7 m
    echo "暂无公告";( h0 \% K$ G- A* X. K$ L
endif;
" ^6 F( j  F1 [8 Qwp_reset_query();$ Q$ ^8 l6 u+ g) m1 T" s6 `  r3 H$ f
```/ P* W* U0 L' F

0 X# Z8 V4 x  L( j' G; o这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。3 w9 e9 |( O2 F4 s% O# H6 b1 f
, w2 K7 w* `+ ^2 w6 j6 R  S, n1 q
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

564

回帖

3679

积分

管理员

积分
3679
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?3 h0 g3 G" M+ T# \4 j6 U! q

6 X8 \; _" E+ O3 A* B/ @如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
3 I4 z' r  u1 m% ^" ~
# h$ f9 ?- `# |6 c4 V以下是创建自定义插件的步骤:1 a% n! h, W, \; v+ P

- @$ m8 Q0 k% }+ p2 P+ s1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:* r" r" n$ t9 T. \/ D6 P) b- G

. E) h$ M6 x0 J- D& o$ C   ```
# A- p7 K2 {5 K) y6 F) R& g   <?php
; t% D, F5 \6 ]$ d# V$ @   /*
) ~- P) c6 q9 ]8 J4 t   Plugin Name: Site Wide Notices Plugin
. n& L% q, r# D8 p3 j# j+ r, P: `' S   Description: Adds a new custom post type for site-wide notices.
) L  P8 ?" A& [9 A   Version: 1.0
( B* Q: Z2 y8 `' f1 v   Author: Your Name. F0 O; L6 Q1 `$ t; m3 W
   Author URI: http://example.com- `% t. j2 B3 Y; \$ @; o
   */
% p1 Y5 n4 I) j1 Z# L- T5 _$ {- v4 W2 Q3 ?' T0 A8 y; N
   // Add plugin code here.../ A( R3 N  c. w
   ```. M. p5 B! B! i: Z/ ]8 r: d# \2 e

3 M" k$ K$ p/ g# b  z8 I+ h. Y   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。  v/ z, h3 H* S9 t) z, ^

3 T0 L5 a8 e  @: V8 ]! V2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:+ ^; R8 I9 T+ K) P

* x; L4 u7 Q6 {+ J$ ~   ```
' D; ?" j/ Y- g& Q% y* g1 u  E" {; V   add_action('init', 'create_custom_post_type');
' R6 U  C* J6 q, k   function create_custom_post_type() {1 d& Z* }0 }+ O1 i$ f9 z; v2 Z& y
      $labels = array(
  o; E- o, ~0 q          'name' => 'Site Wide Notices',
& @9 d: Z' h; B3 O0 m( [( T          'singular_name' => 'Site Wide Notice',
9 R9 K: [5 \$ Z9 ~3 `) E- i          'add_new' => 'Add New',( }4 n& M/ e) ^2 }0 w+ W
          'add_new_item' => 'Add New Site Wide Notice',' U  [& d6 U) U& L
          'edit_item' => 'Edit Site Wide Notice',
4 ^" P( {9 ~; y6 x- J1 }          'new_item' => 'New Site Wide Notice',% p' m6 ~& k0 r( s
          'view_item' => 'View Site Wide Notice',+ @5 w: e1 f6 n7 f
          'search_items' => 'Search Site Wide Notices',% y: v; d$ @% h9 f5 O
          'not_found' => 'No site-wide notices found',
* G" n* I- ?) X& S% g# w          'not_found_in_trash' => 'No site-wide notices found in trash'
/ J- ~3 R+ U" w1 x3 C. q      );" v" V9 l: @, g) j% A( i" V
6 n: M, r6 z  ^# m! H
      $args = array(- D0 M- P) u6 N3 t
          'labels' => $labels,
4 ~/ D6 o8 \% I          'public' => true,6 _+ p1 ?. w9 W/ o; |6 w: [
          'has_archive' => true,
+ [3 F6 K8 Y8 g; o/ W# m3 e          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
& m, v: n, W3 a. h9 y2 u9 }( s: V          'taxonomies' => array('category', 'post_tag'),. R$ F" ?# K/ E/ T
          'menu_icon' => 'dashicons-megaphone',4 t4 L) F- J3 ]' k) X2 j6 d2 o% q5 m! D
          'menu_position' => 5,
; f! K; ^- \9 Q! @) }          'rewrite' => array('slug' => 'site-wide-notices')2 [- Y* a: F, c% z& a4 c* o
      );4 ~0 |3 U& |# B6 H$ a
# n# i, q. D7 p! R3 h
      register_post_type('site-wide-notices', $args);
) B" b7 X4 c3 j. |8 N; E4 K   }
2 Q  m( a7 K3 x0 Z( b0 R   ```; a" e1 x, R' Z" s
7 Q9 \! }7 @9 v4 ?
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。8 f: m( d  f0 d) f" W; M

/ u7 V& U" b1 q9 e; f. I$ A4 b5 R2 d3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
/ L7 p# O- c4 ~. N  z
/ `) C" K- ~0 C+ o   ```' z; Q. H( `+ D
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
  B( E( o2 X8 Z2 ?   function add_site_wide_notices_boxes() {+ T/ _3 A) W* i! Z+ V3 ~
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
; h  M1 [6 q6 F# u   }
( X! U8 ^4 v; N9 \5 T# C' ]$ T
% s! X8 U6 ]  v! y0 t) v   function notice_details_meta_box($post) {
9 [' R- b0 Z7 h6 x, I2 N      wp_nonce_field(basename(__FILE__), 'notices_nonce');3 w# M& L7 U0 U/ @9 v& q2 W. v
      $notice_title = get_post_meta($post->ID, 'notice_title', true);# ]6 b1 A: k3 [" T3 U2 u
      $notice_content = get_post_meta($post->ID, 'notice_content', true);7 m/ W0 [9 R3 a: c
      ?>2 P; {  \6 ~2 h  m4 l3 O- J# K
      <p>
! _1 D0 b% n- o- I          <label for="notice-title">Notice Title</label><br>
+ g% Z) G1 w) C4 p          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">) V9 V. s9 A! F5 k
      </p>1 U& G7 n' _5 I, k" H/ @
      <p>2 i5 r! B3 U1 [5 x+ G! i/ ~
          <label for="notice-content">Notice Content</label><br>! `5 `) A! [6 s* S
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>5 `8 k! L: [5 ]# V
      </p>
! l0 [0 H/ o5 _8 n- ~+ _  E' g; W      <?php
# `. _, S: \7 j1 F( Z8 p# |   }) ?" _# r2 @# m

+ q% @# w) c/ @( T3 x$ E   add_action('save_post', 'save_site_wide_notice_meta_box');  s, x5 F2 e% l4 y1 d
   function save_site_wide_notice_meta_box($post_id) {( \1 D: S1 u9 P' P
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__))); I7 K! G' b3 j& d" s( K' d
         return;/ \( k' b( E8 M% x( g+ V: f3 s
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
- T3 [7 _* M6 q/ y% X* r' D! [, \         return;1 P0 F* ?0 o( ]9 \0 a
* b( `# ^; k6 [
      if (isset($_POST['notice_title'])) {  T% i' q) T8 m
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));" q. {0 q6 V* Y% B& |$ z0 H, C
      }4 ^" H7 U7 T" O
      if (isset($_POST['notice_content'])) {3 f* W5 l- B7 X: N* p
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
- f' B- s1 G: p! L+ ]% k5 k, L      }2 {" i0 T+ p$ F" Q
   }
5 b- X9 U4 D, J! v) d& H& c   ```1 u2 f! ^- O1 @8 D! [/ V7 t8 P
- W+ e% D3 @5 D2 G8 r' w
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
; I0 j+ ?$ d# h: _
  o$ k+ S0 Y) ]0 W* @0 }1 Z8 }4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
* K; I2 o3 W2 ]; Y4 p
% v7 ?/ n; d- c& I* h, @   ```
  P7 @6 f5 I# y   $args = array(( S& h4 d+ e- E& ~0 A. i, ]
      'post_type' => 'site-wide-notices',2 |3 D/ t; w; Z- ]- ]
      'posts_per_page' => 3,
4 \6 @/ S- r8 t( n0 Z/ p      'order' => 'DESC',
* \# u/ X6 O( e; B# B4 ^* h9 w      'orderby' => 'date') P( @( ], U" C' m6 e& R7 \' Y
   );9 C0 V, ^; v1 @  }
   $query = new WP_Query($args);
- e$ Y5 m$ R! I   if ($query->have_posts()) :* o+ I0 d+ f' A. p" O
      while ($query->have_posts()) : $query->the_post(); ?>$ N6 i) `7 p0 t/ J
          <div class="notice">
2 W1 D+ Z0 u  x: a              <h3><?php the_title(); ?></h3>
0 [$ {+ T6 ]: ~5 A) Z              <div class="notice-content"><?php the_content(); ?></div>
9 Y& _0 T, y' t# T7 V! q          </div>
- x0 K: c* T7 |* Y8 s3 A6 M      <?php endwhile;
8 C9 R6 q$ F9 t1 \: T' x      wp_reset_postdata();
9 q8 H# Z% {( y! f   endif;3 x4 h1 k, s! d* Y6 I/ O: S2 G
   ```. u8 S4 U, q! k4 @
$ r" V# P. p; w+ a. g
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-8 19:42 , Processed in 0.014597 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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