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

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

[复制链接]

331

主题

511

回帖

3349

积分

管理员

积分
3349
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
' Q8 _3 S3 r+ g/ L) I  O
/ `/ v+ D& Q* T% U! g% f& e' X1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
% i( q4 Q: A+ O# n" p$ s% U( [) {5 `5 E$ c; b
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
8 p* E. y7 I# x6 p) ^# b6 }4 C& ]2 M% }( D" I) G* f8 I  X6 r
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。  Y! \( [7 l4 |8 D
- e0 P! R& K) t) f# C& Q- `" C
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
$ y7 _5 S' \' \5 Z
9 d4 B- {! Q  [7 u% W注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

331

主题

511

回帖

3349

积分

管理员

积分
3349
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?7 {3 B) B" N( u8 n: O  |( k6 D; b1 X

3 d- v1 U# W$ O! ?6 O5 @1 V: z如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
( e# \) r6 F1 q5 d/ N" R/ _# K: v( Z* {. w8 m5 {
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:0 u* }' ~2 t$ ?/ w. n" j

# p) x" w1 W' Z, A* _   ```& P, P" I: A9 H
   add_menu_page(
- o2 b0 h" i6 @+ z0 a: {3 R, V$ _$ k       '全站公告',. L* c! \3 ]' A7 h
       '全站公告',
( ~5 g: D( E. D2 ]4 ~1 ?8 z3 |  _       'manage_options', //需要的用户权限
. W* }/ |. I' Q0 Q7 u" @       'site-wide-notice', //后台页面的 slug7 n- |  A2 D; C" W( ~; I& U- b  H
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数# |# G( _, k( |! h. i* {# D1 K
       'dashicons-megaphone', //用于显示在菜单中的图标1 P7 w/ ]" d$ X9 q
       30 //菜单项的位置/ @9 M+ t# j: B
   );
8 A( h0 `/ H8 y3 a; J1 q, j2 Z   ```3 J' @; I( z: z) D  m. q, G

% \/ L9 C" d5 I3 F7 @3 Z( k  K   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。& q. ]& B. c1 h  P+ M* {

, d: z& q- A/ W) B7 d. X& z6 R2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
$ J. M1 J7 B$ q$ y* K2 A5 Y
' a# l/ ^; u4 G; h1 w   ```
2 v5 n: |# W2 R& \   function render_site_wide_notice_page() {- ~2 c5 L, s3 e# A+ R8 Y1 v# P! J
      // 渲染后台页面内容  e9 t+ u0 w( e4 z$ l* ]% ], M/ t2 j
      echo '<div class="wrap">5 ]- L# }) L# ]$ ]. @
          <h2>全站公告</h2>
5 X. M+ Z8 F9 l/ z) R- O          <form method="post" action="">8 ^: k$ _3 {! F" E0 }
              <label for="title">公告标题:</label>
; @4 S7 W# F2 `; R( `4 U              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
2 a% ?- [! _' G7 _8 T2 }              <label for="content">公告内容:</label>
, |) @# O* ?1 U( U# S9 \              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
  A* ~2 G1 P" _# d. M4 K              <input type="submit" name="submit" value="保存设置">
! E1 V$ L! |( n2 Z2 }2 j% U5 K          </form>7 @0 V8 U% s8 W: F
      </div>';
5 d2 N  Y9 E$ Y' U$ t' X
/ Q) ^3 g7 `: M' z9 C      // 处理表单数据3 I* @5 f& y9 p7 |- h/ Y
      if (isset($_POST['submit'])) {
5 e9 m' x0 a% ^& C! Q( z          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));, k# p8 G0 G6 r3 \3 ?1 ?  J8 |0 _
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));4 t/ p) D8 D# s8 R  D+ l
      }
) S: [3 {0 w/ V7 I2 V: y   }
8 c/ p3 A2 U& e  R/ q1 P   ```$ Y$ U' m! \& w6 y/ Y

3 t4 U4 E: g& \* b& ~/ C   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
5 u. B) l7 r. {; p2 H
& L* l" s$ W+ _( v3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
$ m) u/ F# J# i8 n; w4 @  X
4 K7 e0 j3 M& o, E2 F5 f   ```' O4 c  X3 n' F6 Z' ?' o
   <?php
2 K! d9 e7 p' @8 W% F: W7 a   $site_wide_notice_title = get_option('site_wide_notice_title');
) N) B: b4 U: r3 h2 g+ c   $site_wide_notice_content = get_option('site_wide_notice_content');7 X. J, u/ A6 b
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {0 ]) e6 k9 b" s+ Z" p" M
       echo '<div class="site-wide-notice">';
- S8 q9 X, k- J& {, W6 N& G0 F; p: ]       if (!empty($site_wide_notice_title)) {- d+ O) X$ S; H  h
           echo '<h3>'.$site_wide_notice_title.'</h3>';& [! t% i( M" {* |
       }* f& N3 Y# j9 h0 c
       if (!empty($site_wide_notice_content)) {9 q1 }9 B3 R8 M7 Q6 T7 r4 }2 ~
           echo '<p>'.$site_wide_notice_content.'</p>';4 z7 f# q6 t! v+ I0 I
       }3 i5 e) e5 R4 j
       echo '</div>';
) V+ @  t5 w) p/ N5 C   }4 X6 V, R6 O0 W# k& [. o3 H: U
   ?>
% Q# {9 X& h5 f8 @8 I3 |   ```8 U- {) u( \9 R( [* W, J
6 I2 e" p5 U, m0 Y) e* }
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
$ S# w! A' F* z. z
  M! y" h; m  s" d3 c请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

331

主题

511

回帖

3349

积分

管理员

积分
3349
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?# k  g; `$ I, Y& o2 M6 d/ b: ~
0 P) O; {- m" }& C& e! o
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
6 e2 V/ ?; Z0 @( @# L. |% Z) q7 o' G3 F
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:1 N0 s1 S% n; Y* ~

4 g# U' k0 z4 t. e" \0 x```/ o) |% U; w( ^" r7 w& W+ ]2 f
function create_custom_post_type() {
/ J, Q4 j" z2 P0 w# Z% y/ w* E5 ~    $args = array(
: M( o( n( `3 B        'labels' => array(
) @! s& s& g0 S# C2 Z            'name' => '公告',7 h4 [* [* i* r* J
            'singular_name' => '公告'
- P9 f3 w3 @2 {/ o6 Q% i4 _        ),! g: e' U. t/ e- d! P; w6 E
        'public' => true,
) L1 g# M8 [( w+ H) ^' z        'has_archive' => true,
; @4 r" L* B1 v7 m        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
3 k+ ^+ C$ i2 e, _+ s% K3 ]7 g        'taxonomies' => array('category', 'post_tag'),# A1 Q1 t# s+ i- \0 Y- E
        'menu_icon' => 'dashicons-megaphone',3 G3 `: Y7 X  ?5 N2 r- P
        'menu_position' => 5,2 G$ K. t3 p* P* x( \2 ~/ S( A
        'rewrite' => array('slug' => 'site-wide-notices')$ \% w# M9 h( X4 h2 O, Y
    );" H' w) W. [* k( l( s5 ]2 x
    register_post_type('site-wide-notices', $args);1 e- U# n6 s0 L! Q5 q
}
( S9 ]  m" [8 y9 K; eadd_action('init', 'create_custom_post_type');" l3 D0 b3 F, ^0 R' S; u' q
```
; J9 T6 W: ^$ B, j
" z' _! E6 t" U0 }  f2 c+ i( m: S在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
, u) w/ d- A& ~2 G" q- g  w
1 w' _3 C- R) I: X$ |2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
- C5 Y3 v: C0 H3 |' [9 j  r( J( c. p; C: n9 t
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:6 S- _) E: r2 ^% s
$ V* W6 \5 @" b5 U3 ]
```
9 e- `% E* F, ]1 m9 ?/ z$args = array(! a5 O* a- x& Y
    'posts_per_page' => 3, // 显示的公告数量' f4 y5 I& ~' ?$ f  o
    'post_type' => 'site-wide-notices', // 公告文章类型& u8 }: @1 ]+ f' {& d7 r1 T; j$ o
    'post_status' => 'publish', // 公告状态7 e( |4 S: a3 ]/ I
    'order' => 'DESC' // 排序方式9 X6 Q, }! W- B
);% l, g4 u2 c+ X- V6 u6 S. G
! e1 r9 s" v) e9 N8 p* ?
$notices = new WP_Query($args);' [" l# o4 g+ ^3 F5 D
if ($notices->have_posts()) :5 g. [8 P  Z6 m. \
    while ($notices->have_posts()) : $notices->the_post(); ?>
& o. H. o% ?. G( [8 N  ^        <div class="notice">/ \: g0 q+ X6 M2 l4 t# f: `
            <h3><?php the_title(); ?></h3>+ [* J* b9 ~& m* r' p: T
            <div class="notice-content"><?php the_content(); ?></div>
6 a6 J3 F. l) A* E& j        </div>
' h: ?5 C8 K& w; l& n' ?" ^( J    <?php endwhile;
# c  I5 o  J2 _) a8 Q4 w2 s( z: F9 Oelse :9 _' t& n8 ?# O/ |5 `$ e, ~6 a
    echo "暂无公告";% L9 M/ J8 H1 @7 Q( h+ p
endif;
. ]) L5 l( d% h) s1 {* H" l$ N* Gwp_reset_query();
( Z8 v  p8 Z% i6 ````: W# @, A- Z. N: q

6 @1 `! I, M6 k& S/ Z; l' C0 S这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
- q5 R' R  T2 v3 t" G9 _9 v' m) L5 `" _8 w0 ^0 B0 m6 i. O
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

331

主题

511

回帖

3349

积分

管理员

积分
3349
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
- q, ?. [; c) y0 M" |( ^* c+ U1 a2 ~$ N+ K5 S% o0 [" U. q
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。$ q. n. F9 \2 P( e+ j& G  [. N  W8 v
: {8 H% z# I4 i% ~7 {: ]
以下是创建自定义插件的步骤:+ \8 a: Q, J5 g: ^7 \' H
0 P4 n/ q2 s" x% Y
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
  e* k- }' n* E' h" z+ A+ H/ u4 t1 ]2 @5 ^
   ```( W" W) y7 c  p' E/ m
   <?php
' a: b* f7 n; L) B; p4 r   /*3 A, M: Q$ \$ u) N9 {6 M
   Plugin Name: Site Wide Notices Plugin- y4 O- ~& v2 h, ?& ~
   Description: Adds a new custom post type for site-wide notices.7 a! f5 y# [* K+ [
   Version: 1.0
' l( f# u0 _+ E3 Q* b# `% j3 q   Author: Your Name! I) l  V) J8 C
   Author URI: http://example.com0 O5 [! l: q& d" T
   */) O) r/ b$ _3 E; ^7 Q- Z* L: w
7 y9 Q% A& a0 h+ ?( ~2 R
   // Add plugin code here...
8 k/ _  H3 ?# @& l9 D* C# w4 c   ```- f9 ?( V6 A/ d3 s; ?+ k
' p2 J7 F7 O# T2 y5 h
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。- R9 o. T, y( H& o8 n
- |6 [3 H8 b$ L* _: r, s6 Z6 a8 X
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
& h4 o  K. V0 k
3 [+ H8 ~$ h9 n) A0 }2 @% k+ c+ L   ```/ g0 Z4 ~( K$ D" [9 [4 r/ h
   add_action('init', 'create_custom_post_type');1 Z: W$ p& D$ i; r- d4 j8 Z4 U3 o
   function create_custom_post_type() {
. ^7 |9 L) j1 f      $labels = array(9 o+ d  i, B4 _1 k& z+ ^- Z$ z
          'name' => 'Site Wide Notices',
3 a7 ]3 u9 i6 m: v          'singular_name' => 'Site Wide Notice',
4 I& ]) r2 y' D+ O/ r          'add_new' => 'Add New',
1 B% z. q# o6 b2 y' Y, T          'add_new_item' => 'Add New Site Wide Notice',
7 ^8 b! Y2 e8 c! {          'edit_item' => 'Edit Site Wide Notice',/ E1 ~$ _' T; r  g2 |$ Z6 T) @
          'new_item' => 'New Site Wide Notice',) P  q. |& R" `) H5 g
          'view_item' => 'View Site Wide Notice',
; r+ A4 I  S/ v) R! X5 c& y          'search_items' => 'Search Site Wide Notices',
) F  P& U6 M$ M; q0 x. U          'not_found' => 'No site-wide notices found',
, n# }9 a" b  f0 F6 s% q0 ]          'not_found_in_trash' => 'No site-wide notices found in trash'
# Y3 j! U8 E3 w      );
* H( z% a8 G' o7 h2 f2 _& Y! M! Z7 c, Q; G* N# i
      $args = array(
5 Z! i. ?. n8 [$ e% N* H          'labels' => $labels,) h8 {3 N& v/ F, J. G$ K: t
          'public' => true,' u( W( f' v- e$ N. ^3 L4 E( T' W% U
          'has_archive' => true,
+ n1 }7 s1 d! V% J2 G/ \5 D& D          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
$ Z8 r4 Q) }) K( z) w0 @          'taxonomies' => array('category', 'post_tag'),5 W6 {/ z- Z7 ]4 H9 j
          'menu_icon' => 'dashicons-megaphone',
- _' H9 C$ j- F4 w          'menu_position' => 5," g( {  t( o5 i# T
          'rewrite' => array('slug' => 'site-wide-notices')% d0 l4 N  w9 ?( n3 Z0 R& P8 D9 Y
      );
! w2 y( M7 o$ R- U  t3 k7 k4 A. c2 y( `( _0 w
      register_post_type('site-wide-notices', $args);$ S( H. u  D! G9 O4 T
   }
/ ]! x' N2 D7 F2 F! m8 e   ```
, M% K7 J$ y) I+ S4 y8 O( g" S8 O6 ~; O+ W
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。; d& k8 Z+ s/ m
6 C4 k7 u' |1 T" X4 |1 O4 A
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
5 O0 H6 |) Q# d4 d) A2 U3 X1 r1 [; B! b
   ```
: L. _( X/ T6 j# s& S0 g* ?   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
3 z# t- b/ B! X# d   function add_site_wide_notices_boxes() {/ q0 p: T& ]+ k, A, }  H
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
" M) C" D( v1 t/ z! r3 Z9 y   }
3 w& a! \% o- q2 E/ b& Z  y9 C( `2 d% {
   function notice_details_meta_box($post) {
7 }' X4 S# R5 t4 T' |      wp_nonce_field(basename(__FILE__), 'notices_nonce');4 @' P9 T1 T7 t: c  A( `+ G' x
      $notice_title = get_post_meta($post->ID, 'notice_title', true);" A1 ]5 G% q: ~1 q  y
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
* l/ V" j# D7 D, k, c5 A  w! Y      ?>3 P* P$ w  o* W5 T" q. E1 C
      <p>, U/ {* F; w( Z0 ^3 d! c+ D
          <label for="notice-title">Notice Title</label><br>
0 P/ u2 ]0 w* h7 h          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">( ~9 k1 Y+ x  p
      </p>  \, d0 O* ^: e; A! B
      <p>, A% ]( x* D8 a2 ~3 n
          <label for="notice-content">Notice Content</label><br>
: o# m( m+ r# @0 h  l; ?          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
8 S# w( x) r4 m" x# l6 m3 r      </p>
' r- `! p" [5 U( o      <?php7 f& w, E/ h1 Z) V: u6 e1 e
   }( d5 q+ C+ K9 H0 z! X% W
( p3 n4 ?& F. {
   add_action('save_post', 'save_site_wide_notice_meta_box');; }1 |* O0 L  V" R2 e  d6 ~4 G
   function save_site_wide_notice_meta_box($post_id) {
$ R9 G- B. B8 {! H      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
3 ]2 Z4 Z# O' g( h         return;
5 s; z: d( Q# M7 p      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
# c6 W7 P% `. f% y% _2 O         return;
4 w3 C, s7 l2 R$ B4 P
% i! i! `4 E2 T7 u! z      if (isset($_POST['notice_title'])) {
$ K. Y2 K, D# k5 E6 T          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
7 D2 z3 Z1 T/ c: U* E5 ^1 u  O      }
  b! W( ^2 g, |( e9 z      if (isset($_POST['notice_content'])) {
) _. }, ]* V) L7 Z. t! N          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));$ z( i" R. A+ ^' y* m4 B( ^
      }
& Q1 ]2 G7 l* s: _0 l7 {   }' `4 |  G2 a8 m
   ```
2 C& ?3 E7 |& f3 ~" `
+ v9 o3 ~2 D/ x0 i' p3 S" k7 i$ I, d   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。$ G9 o: {6 [+ u% f

3 r+ |6 v6 l' ]+ U- z4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
5 G. v6 B5 s4 t' E6 n
9 e- G. `1 n1 e. V- f+ E3 N   ```
+ Q6 [% y' W6 A: u1 ?  T0 L8 [# Y   $args = array(
7 B$ I( J2 ], [% t      'post_type' => 'site-wide-notices',+ X) t& Y. e6 Y9 r4 E0 h, o& l: M
      'posts_per_page' => 3,
0 J# w5 J' v  A' h! a! x, \      'order' => 'DESC',3 m7 m# v* T# p8 O
      'orderby' => 'date'* y. z; Q7 r* B9 g+ H
   );
8 D# ]! a5 g6 L  t" q  z: Q   $query = new WP_Query($args);
1 q0 A, _  a% B1 w$ r7 {   if ($query->have_posts()) :+ c3 Q3 H0 j" e4 P- M
      while ($query->have_posts()) : $query->the_post(); ?>5 }+ z* T+ {9 B8 y) s0 n/ d) q( J
          <div class="notice">
8 l- u6 v0 E/ `              <h3><?php the_title(); ?></h3>; Q/ ?0 x  i. a7 O8 V6 O
              <div class="notice-content"><?php the_content(); ?></div>% V' W, i, k0 G3 n8 Q
          </div>
$ a  @: T$ l+ p      <?php endwhile;
, L* C3 @" o: u' U$ M1 o" r2 _      wp_reset_postdata();
5 N/ W- S: Y# [   endif;
6 w: ]6 F8 i( q; _   ```, [: F% m3 A- L
$ L3 V( ]+ |1 Z2 Z/ u
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-17 23:43 , Processed in 0.072118 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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