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

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

[复制链接]

338

主题

520

回帖

3458

积分

管理员

积分
3458
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:1 S( e( q) z/ d6 r. a8 h. `

9 I4 e5 [* l4 l2 v6 B8 Z1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
9 ~/ E. V% ^- t+ v* V% B
" B% Z0 J1 ~  c3 `0 ]2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
* m0 ?$ e1 U) Q2 D1 H/ W1 x& q+ r& X7 _$ M& P! q, z+ H  _% V1 u
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
( P+ v: }  @: D" D+ F5 I5 }# I9 k5 D9 @# Z" ]( e4 |7 |
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。5 h0 `4 w# @2 k8 |: w) E

% p, w& {8 _6 t- B7 A! M) ^- _注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

338

主题

520

回帖

3458

积分

管理员

积分
3458
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
  {4 ^+ d& ]' J  T3 y' a5 H9 u1 ?0 V8 ~
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:7 z2 B: k3 p' b3 f
* p/ u) {8 h% Y+ }
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
6 t5 n; }8 O0 h+ W# u6 s% L# c) X' N+ q" [: _7 g. K9 E0 E
   ```" t9 c" ^3 |9 K2 R7 q0 b
   add_menu_page(
+ I7 A3 k0 c' ^. w! e3 _8 G2 t  t5 A       '全站公告',
: ~- V' n; y9 K9 |) O       '全站公告',! s5 z1 [8 r  m, T) n! y1 Y
       'manage_options', //需要的用户权限
5 x% H$ ^% O8 s, o3 N       'site-wide-notice', //后台页面的 slug) M4 I8 q8 e! X. K' Z  e5 s: B
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
5 a$ G- q+ L( t7 G$ S( k+ {       'dashicons-megaphone', //用于显示在菜单中的图标
2 u2 Y  ?& P) Z# |+ [       30 //菜单项的位置, n& t. M2 O: L& q
   );# Z  u+ V' z% e# x7 O4 I
   ```4 R5 }3 h# R3 m& B* ^9 f, D9 F

0 r/ H: y4 p$ n' e2 f0 n* C2 S   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
6 l$ X! N5 ^4 R0 z- Q7 i( b0 t& ]; P1 n0 {! I& {
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:* H5 ~# Q) E& o( b+ x: K) d

; U' M# V, w# ]1 |: c) i   ```  a, @1 p+ \7 y% z$ P5 E
   function render_site_wide_notice_page() {
: e" e* u; p& E' n$ h      // 渲染后台页面内容
  U- \4 X6 f' [) s      echo '<div class="wrap">
# ^3 P& j; W' K* y) y: T          <h2>全站公告</h2>. Z  }/ c5 d$ _6 K( |  {
          <form method="post" action="">9 y5 t6 N' d$ Y3 [5 Z9 ]
              <label for="title">公告标题:</label>6 i* [. D# M; L9 k! I" V) o
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>1 \. ^) k$ p: _3 `8 H' r
              <label for="content">公告内容:</label>
* w+ ^6 B: N# O1 i) r              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>; S; ?, C$ ?6 M7 o' |! O+ _/ P. O# V# J
              <input type="submit" name="submit" value="保存设置">$ }  i2 L- A1 W) X& G0 V
          </form>) N6 o* ^$ u8 y6 a' F
      </div>';+ u* \, I; ~4 D# p1 e  |
, W, e1 x- b& w" R5 U# G$ B# V
      // 处理表单数据' P/ w, N! a/ E  `
      if (isset($_POST['submit'])) {' T% X! X" G' ]+ l. H
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
0 O. A- G* w' ]5 k7 ^& c# w          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
5 f; t6 U. v0 T% y  v      }6 {, ?  e+ V% u0 t+ x
   }
  \7 v3 g' a1 \$ _9 C; v   ```: z- X. z4 E9 t

4 T1 X5 R& _1 k% A  R   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。; c7 H& C/ b0 X# M3 Z

8 j+ w# V  x) `' L+ d7 R# `3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:% a) U4 K+ Y4 _) X9 }" a0 o

$ h/ H6 v* R6 e4 J   ```
; x9 J! k8 Q# v4 f   <?php
7 ]- I, N3 q3 d6 P  d   $site_wide_notice_title = get_option('site_wide_notice_title');6 `" r; e! H, Y7 W8 X3 W1 O
   $site_wide_notice_content = get_option('site_wide_notice_content');9 X3 ~1 Q# a( j& N
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {8 |1 r- B. N8 x: Q9 ]% r$ V
       echo '<div class="site-wide-notice">';: [. @( J5 C; A1 U' E' d
       if (!empty($site_wide_notice_title)) {
" n. [2 U6 L- ]. t           echo '<h3>'.$site_wide_notice_title.'</h3>';- K, D7 M6 r! d, R* |
       }
! E  r' A3 o8 o. L5 d- s) o" I       if (!empty($site_wide_notice_content)) {
: M. u1 w6 |6 Y  W) K! i6 V. Q           echo '<p>'.$site_wide_notice_content.'</p>';
; a' B& f- @' k# P4 b- ~       }
% m- |+ M; \" m( L9 d6 w0 ~       echo '</div>';$ E$ t- f, \' ~% j# ?
   }" _7 d2 A0 q- x& A
   ?>9 F. A% ^+ c" ^" W/ G% w: W
   ```
; q7 Q8 e1 N6 `9 C7 K$ H  ?* M
( ~6 ^2 r$ P8 q+ o) C5 ]. G. D   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。+ D1 Y/ H4 |( Y+ t' [  \1 `: r5 X

+ E1 w  f& g3 a* m请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

338

主题

520

回帖

3458

积分

管理员

积分
3458
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?, B/ ?. j) h1 P! x  r

" }* `  o2 f: Y/ I$ r* l您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
) p3 o3 D, f8 T* \
* z( [& L; z& j2 A- k, c1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
! D9 Z0 _6 C9 N( v* |% \  `5 E+ y$ A) t3 Q  l2 t
```
- F3 w2 }+ M& rfunction create_custom_post_type() {
5 X! P" e6 p8 L; {    $args = array(
8 L7 e9 R4 D* V4 ?" K' g6 a! H        'labels' => array(. c! I+ r. `  u6 t8 I4 j7 f: B
            'name' => '公告',+ |6 E- Q. a; [  \0 u) q
            'singular_name' => '公告'
3 H3 b8 `( W7 Q( [        ),; x# J9 N. B5 t( `; L7 q& r( J
        'public' => true,
# y4 f9 M3 ~9 C+ P! K* u        'has_archive' => true,7 V/ @' K: k4 E, E4 _8 p
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),% h6 s6 f, b9 X0 [, k! q* Z- c
        'taxonomies' => array('category', 'post_tag')," o0 p) |; M/ `8 d0 w
        'menu_icon' => 'dashicons-megaphone',+ N; ?2 r) z& Y8 x4 L, P, W5 D" j
        'menu_position' => 5,
1 z* J6 @, C) G8 ?" R        'rewrite' => array('slug' => 'site-wide-notices')
! E1 A2 x- V6 O1 A- l    );
! R; `+ [# F% s5 N( D% f% b    register_post_type('site-wide-notices', $args);
  J; Q* y1 c2 f" N- \) ^) E}; a: F6 [" Y4 |) s7 q
add_action('init', 'create_custom_post_type');" y8 y2 T5 ~( S* F: Z! _
```
+ Z$ B- ~/ c# ?9 Y* @
4 m) j7 F4 l6 R5 @/ \# M1 K在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
& q" u/ `+ C# A% u' J! F) ^8 U8 s( `/ {/ ?6 P- O
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。$ L5 h" h& [5 c: S

# s, t7 `/ R; V; X. y0 e( G  f3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
8 Q7 N2 G" C; N6 R% H
7 K$ z- K9 l2 @```( ?2 l" M$ u4 e. p
$args = array(
" B. @, G. i4 i# z    'posts_per_page' => 3, // 显示的公告数量
/ ]& d" P8 ^, P0 _# V    'post_type' => 'site-wide-notices', // 公告文章类型* L# S5 ^4 `9 z5 n( v
    'post_status' => 'publish', // 公告状态
7 E# ?" y8 m* n- K8 a    'order' => 'DESC' // 排序方式
8 v- |0 s) I  o9 i0 N);
* M/ `1 C5 L$ G
- B$ y! t% X6 s- E: n1 w* e" [$notices = new WP_Query($args);
( g0 E5 ?7 l9 i4 L# L5 E4 [if ($notices->have_posts()) :
8 m; f. s% Y0 O) ~3 s" I& @    while ($notices->have_posts()) : $notices->the_post(); ?>& W2 q. V7 F$ `& p- B5 f, u, @
        <div class="notice">
! Y- z8 q& H: ]. H6 n& R            <h3><?php the_title(); ?></h3>5 }3 q! K0 W- P+ X4 z
            <div class="notice-content"><?php the_content(); ?></div>2 l6 s: O2 }3 R+ A$ l: n
        </div>
1 S% [! u8 b- Q    <?php endwhile;
4 Y7 o( \6 I: Q4 [, e& q$ i  G# Helse :+ O3 W7 `/ w+ u2 Z
    echo "暂无公告";
( G' R, T; @' Uendif;4 k4 [4 a* l# B; m) t/ P
wp_reset_query();1 V. w# [* G8 ]& I) M
```, v1 H$ M5 O8 a
2 m5 i, {2 j- A) d  B  c7 m- T
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
* L8 o0 a& \( b. h0 a; \
* B9 O5 y0 F' Z0 g& o; y以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

338

主题

520

回帖

3458

积分

管理员

积分
3458
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?. b4 R# n0 W, W% F' Y

; l( x; s% I$ Q+ w1 k4 z0 B如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。0 B% `/ ^: L  S6 `, S
" y" c; P; K9 a* N5 B; i" ^
以下是创建自定义插件的步骤:
+ z7 B* C$ i) d. j0 ^3 {( a+ K2 r: b/ h; f0 P# o" `
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
, i$ p" U. G- k- Z. S" M
& w# @+ q- T( \, ~   ```5 E5 ^5 m' }' J
   <?php
( c% V  g, e8 U. o3 c1 s5 n   /*) c3 f- ^  l' ~( t# T
   Plugin Name: Site Wide Notices Plugin
9 j! ]8 m  K2 S2 O% B   Description: Adds a new custom post type for site-wide notices.
6 A0 L$ `$ B  h0 I   Version: 1.0
! ]) V+ O% Z7 f0 {9 K1 ~5 q& ]- z0 R" t   Author: Your Name2 \0 q: X. Q: j* g+ M  h
   Author URI: http://example.com; E/ E( S, `# G+ K6 e9 m8 X
   */" z" i% b# e0 O/ g" W! t  A$ v
! t4 e. D9 v4 J, }! c7 m
   // Add plugin code here...
8 ^* |1 N& [: V: W+ f   ```/ v9 k0 o- z3 r- k, k
7 L$ I3 e- L8 \) c" `0 z, d
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。. Y4 f  T2 a& N6 ?, K9 x/ P8 f% Z

. ~7 w7 L6 Z6 o  ~2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:2 y* I- A' [- H& ?* s

. H" j: Z: z9 S1 N   ```
. C; ^1 G# @7 V6 I   add_action('init', 'create_custom_post_type');
( d* K7 D9 g  r2 V# S$ D# ^& C5 N! j4 C   function create_custom_post_type() {. p% `) H) V" @- _! g3 W1 J
      $labels = array(
* t4 Z; e1 r8 v) `( \' ^3 z6 }+ O) @          'name' => 'Site Wide Notices',
: |$ h7 S4 t& [1 N- M          'singular_name' => 'Site Wide Notice',
" Q) U! E3 F* W% q5 t4 |          'add_new' => 'Add New',% S( {% `- k% Z/ r9 A9 A
          'add_new_item' => 'Add New Site Wide Notice',1 T4 x. K( x- q
          'edit_item' => 'Edit Site Wide Notice',
% C' o; S, K4 r1 S. y          'new_item' => 'New Site Wide Notice',& Y  d5 U: K1 S
          'view_item' => 'View Site Wide Notice',
- Q. H+ w: [/ V* S          'search_items' => 'Search Site Wide Notices',, y0 \& X4 j6 v1 ?3 J% Q
          'not_found' => 'No site-wide notices found',
7 ~0 s, a- X. [+ P  i; e          'not_found_in_trash' => 'No site-wide notices found in trash'
' F: O6 u+ n# r4 l$ R) T7 ?" j% W      );
1 j7 ~- O9 s  y2 H" Y4 b; p6 C4 }3 [, v& Y, {5 W; D2 @/ Z/ p) C9 W
      $args = array(
% K# T2 ]; @/ A. e4 A1 l1 r          'labels' => $labels,! J. r. C5 B4 @9 o: l) v
          'public' => true,
8 U( J( I# b& `( F9 }          'has_archive' => true,' |$ J+ Q7 g! J1 F+ r& x
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),1 G% g6 U) D5 B- [1 B
          'taxonomies' => array('category', 'post_tag'),
3 ~$ @2 D0 ^4 P          'menu_icon' => 'dashicons-megaphone',
  F' V9 C$ ^: C! P2 S* O+ d9 A/ [          'menu_position' => 5,
8 _) Y; O' t0 M) }; O. b          'rewrite' => array('slug' => 'site-wide-notices')4 `; }7 o, _' j$ b7 H1 s$ e$ r/ r/ w
      );
# V- F1 J; T) b: r
/ r. N) t2 I; z& i      register_post_type('site-wide-notices', $args);# l7 c! z% x4 d
   }2 c+ S0 Z7 [- Q: ~! ?7 U* h. @
   ```7 X* y- V& m3 O5 S& Z

: s* I# I3 F6 T   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。* T- F- M8 x0 S( ~& z# c
/ b+ N3 m6 G  R# {9 q
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:7 u- w: c& f; ]

! V$ @  a' B2 n2 O   ```' R  D: {$ k& {( Z7 I
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
5 a5 ]) @# R/ U. O) d0 k5 Q   function add_site_wide_notices_boxes() {' W8 O& I' E( @( L& A
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
. k9 \. H& Z# G8 `) z! O, R5 X   }
8 H+ C2 k) W/ v- T" o9 V7 s' y: R% [/ J$ g, F
   function notice_details_meta_box($post) {2 j7 J- x7 L0 o! q6 z
      wp_nonce_field(basename(__FILE__), 'notices_nonce');
! I1 R8 f2 q/ A0 J% M      $notice_title = get_post_meta($post->ID, 'notice_title', true);
% C2 |$ r+ o4 s* g      $notice_content = get_post_meta($post->ID, 'notice_content', true);
0 I! ~2 p0 s# R3 M; {      ?>
* U1 }( C5 L$ M( \- ?, d; i      <p>3 f& ~8 x8 _# T) {2 j/ ]. {
          <label for="notice-title">Notice Title</label><br>6 r# ]2 e& m. T' P, M8 r  j" W
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">0 ~( [! v) L2 B, Z5 u1 f( c
      </p>
) @3 w/ b. n: u5 Q! S      <p>8 P% u  A; p1 q# w- [0 M  U
          <label for="notice-content">Notice Content</label><br>
" z$ `; S/ p1 M: g% k          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
3 k% C5 \, r( ~% ^$ |3 U; h" H      </p>
) e5 a, _3 }/ X, _' G+ q; S      <?php
& v+ {% {4 G7 M# K* ~   }
* Y7 S: k" C1 x4 S; I4 L+ r$ T% Z; j
   add_action('save_post', 'save_site_wide_notice_meta_box');" p$ l3 X, k: M, j* Z, }3 Z
   function save_site_wide_notice_meta_box($post_id) {2 |) `9 t- v7 _: Y# O5 f0 a
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
& r# a0 n5 H% i) Z2 \9 G         return;# b6 k: s+ \; Q
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)8 D2 x' t; M& X, ?' J9 ~$ f4 L+ {
         return;  K) C  ?  b& S# V
3 j- x5 r; k4 M; A% D% J4 p
      if (isset($_POST['notice_title'])) {
% W2 ~  _! ]3 Y* M( R          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));" Q' w8 Y/ H- @2 n# R0 r: V6 O- ^* m
      }, K4 U. [9 V( r) a
      if (isset($_POST['notice_content'])) {
$ A1 `% \" O) v; o; n( \1 Y% L          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));1 {. L( V& c: i$ C! U
      }( E- z* g- ?$ f1 y3 T
   }/ v1 J% y% O; ]+ s/ [8 D7 i
   ```
6 @" j4 H) A. |0 {- d
, f2 q. U) X5 Z% p( D7 r, `   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。1 G/ _. U8 N4 D, j8 F( }

* M8 Y  Q+ q9 _7 r3 R4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
8 j7 Y$ h9 n; S# Y" Q: z: {) B3 s- K9 X) }# S4 b. A" L
   ```; C. G7 C9 h  R5 r: p" {
   $args = array(
4 R/ o' S( Z7 G- V" C# i# O; R      'post_type' => 'site-wide-notices',/ g* i. A7 J/ L) S
      'posts_per_page' => 3,
% o; W: \* X4 X+ W0 y' U      'order' => 'DESC',* o+ f: F4 n. t- v* V, Y: Z3 i
      'orderby' => 'date'
% V' o; i3 }& h" J" s   );8 E4 G( `+ M6 [8 ~
   $query = new WP_Query($args);
0 y7 {6 U& e; H3 y   if ($query->have_posts()) :7 `& G3 j+ c$ u. P& b- w
      while ($query->have_posts()) : $query->the_post(); ?>, n# v% \) n! E
          <div class="notice">
+ U, c+ D) [/ F. S9 V              <h3><?php the_title(); ?></h3>5 A9 K$ f, Y7 V' F
              <div class="notice-content"><?php the_content(); ?></div>
- O$ e& t) {- p" z# b% m/ c          </div>1 m! i9 O$ k8 W: T7 o7 g3 g
      <?php endwhile;
/ ~: [! K4 F# S2 j$ u      wp_reset_postdata();* ?- Z/ ]# s4 b2 f( U( V4 m# N
   endif;
& W  J7 n; E% a   ```/ F+ e5 f3 X7 k- y5 E; R

- x$ K! R: n# C& d: n0 U   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-31 22:13 , Processed in 0.018171 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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