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

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

[复制链接]

334

主题

517

回帖

3394

积分

管理员

积分
3394
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:1 Z: R6 `" S7 s2 Y, U, ?
' i. I$ \$ W1 ~8 G% s" |4 L
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。" j& W* j) L' q$ \; l9 r
! L8 W7 a4 ?: `8 N5 @
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
1 s8 w; Z6 V' J: ^" [. w# ~: d
) k$ Y. Z3 D9 K: k6 O0 z/ v3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
( A/ g! |8 ]3 s
* P9 w& Q3 X' k1 {4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
  a6 _% p0 e+ u% z7 ?& g0 i8 X- k! X$ f5 {  u2 o  l3 a
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

334

主题

517

回帖

3394

积分

管理员

积分
3394
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
4 e( Q1 T: s) x% K- u# P$ ~/ Z) C# g4 ?: [2 v
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:7 Q" I, g9 a, o. _5 k3 j

3 D: g% o& f- `7 F  x1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:* @% M( J) t; G5 }7 f3 M, d) g$ [
! w0 ^) j  z& N
   ```
5 k* U! K, \. h. [- s  }   add_menu_page(( Q9 y1 B# x( U) j( @; |5 P( K
       '全站公告',1 J0 @8 M2 S4 g. ?5 c8 e+ M
       '全站公告',
: @3 Q/ w) I* W) E- K( N       'manage_options', //需要的用户权限
! S0 q7 N: a4 R3 G- {       'site-wide-notice', //后台页面的 slug# J6 J5 v5 U, ]5 U- N: q2 J6 U
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
3 G/ ^4 _) V! V" i, d       'dashicons-megaphone', //用于显示在菜单中的图标
3 m2 u: P) h/ _# |       30 //菜单项的位置. B4 |: M' h3 s' ~1 s
   );' ?( t2 X* v, R! S- ~8 a
   ```3 f9 H8 Z; @7 m* k
6 M5 e  l" S9 f9 w
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。" ]0 L4 b- r% Z: H6 N/ w) u" B+ [
" S  q7 R4 M+ |3 X9 q
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:: L1 U  q0 q& k; j0 Q/ Y5 M

1 M: t8 k& P% G, t( q; W& D% O( M$ `   ```4 O  x! n0 m! j' O, x$ M4 n1 J
   function render_site_wide_notice_page() {7 z0 \2 u  w  D3 Q, }' M
      // 渲染后台页面内容' i+ Y4 J! Q% g3 a' l( F
      echo '<div class="wrap">
6 n3 K4 u+ ]- K          <h2>全站公告</h2>
% r- j& T9 K8 [8 r3 n          <form method="post" action="">: e: }  s8 u6 ]. `
              <label for="title">公告标题:</label>
# F. X% |& ~0 c+ z              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
' h5 J( r3 r# T2 B3 z6 L9 C. j9 o2 ?4 a              <label for="content">公告内容:</label>' i* T8 h+ u' u8 E  f
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>2 K/ Y' G9 H6 ?* k1 l# `
              <input type="submit" name="submit" value="保存设置">% Z  Q4 w0 p5 M3 ?
          </form>4 h) M+ S2 @/ O; Q% Z, |* t
      </div>';9 p) X* N6 Y5 p7 I. o7 X$ L
2 M5 F& U7 ~6 _5 K: X- }( d2 F% S
      // 处理表单数据
$ o, R# ~, b* w" n      if (isset($_POST['submit'])) {
7 {9 F+ o2 |( k          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
! n- r) v, L) q+ e- E: M" y          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));) i4 a/ `9 D( m6 C6 _$ h/ s  ^  _
      }
/ l. P' j* L7 I2 q! v0 f: ~   }& n+ _. r/ v  D6 X" `' F/ [
   ```
2 S3 i$ p2 ]3 J( c5 ^- T, _; B" y+ Y# P, W9 ^2 V  y
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。) \/ w$ M+ A9 [$ B$ B. v8 [" u* }4 L
+ A: @& U, Q! U% B
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:" k/ `6 o2 s+ y- n$ y$ r
9 I6 |; V6 h0 s; n5 x0 F. O
   ```
1 _9 B% M2 g1 x8 U+ @: D; j+ f  }   <?php# B( B! B( B* e
   $site_wide_notice_title = get_option('site_wide_notice_title');
: A/ J& @* H3 L0 m" y, D   $site_wide_notice_content = get_option('site_wide_notice_content');
6 _4 a6 `) ]/ H& B( l- R2 a   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {' E4 T) _* ^( l2 d6 }6 O1 N5 V- {
       echo '<div class="site-wide-notice">';
! _1 U, J: h9 Y9 U. h8 @$ s0 r       if (!empty($site_wide_notice_title)) {( f' c9 d4 a. d) f& }
           echo '<h3>'.$site_wide_notice_title.'</h3>';
& u  X, Y; b  W" ^5 b2 E: h, }       }: [$ m$ |" _; I7 R6 A
       if (!empty($site_wide_notice_content)) {1 I: b' F3 x3 g& r3 l* S0 c( _' A* W/ i; X
           echo '<p>'.$site_wide_notice_content.'</p>';0 G4 U& w, D) [0 w1 b
       }
8 ^- a/ _) E+ _/ C       echo '</div>';
5 M) L: w8 M& ~2 l. b   }
2 s6 _% F7 G9 u3 p   ?>
, w3 z" d; g# E   ```
- x% M1 F! ~8 K0 C% M9 [( _+ X, `5 {
" v" U1 t& D' h, D: r   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。" @( a; F. y+ a4 \$ L5 ?
. T1 M9 a8 z. B% A+ k, j
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

334

主题

517

回帖

3394

积分

管理员

积分
3394
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
  s) X  y; |/ j( W! }- D. }# d, B) t, g0 }5 h, H/ r0 ~/ K
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:( r* z5 ^0 e( W5 R" l0 ?$ D

2 U# [8 D6 d5 C. R7 x" l% j1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
& n6 w( F3 ?3 M( f3 \# [% a2 ]# q$ [( g+ h# j3 Q
```
2 k* f$ i/ O, V+ wfunction create_custom_post_type() {9 w- n5 P. f/ g) e9 `! [
    $args = array(
7 ^5 N8 e. k/ W& [" e0 c$ L3 n        'labels' => array(' f2 t: n4 u( r9 L; h  t
            'name' => '公告',
' i+ E( Y: q9 ^5 R4 \1 j: R            'singular_name' => '公告'$ Y6 ~* C- V7 ^/ p: B$ p
        ),# o* C: E! k3 g- `. m. k
        'public' => true,
& M; U% @  X* V" l        'has_archive' => true,( q) u6 y+ y( W: D! |# m
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),0 q2 i% z$ I3 G. G  K
        'taxonomies' => array('category', 'post_tag'),
2 w& s7 Z/ x4 G. P$ t        'menu_icon' => 'dashicons-megaphone',# I( }- @9 T7 ?. A
        'menu_position' => 5,
- F! y. V6 y# e7 g# w        'rewrite' => array('slug' => 'site-wide-notices')
) b6 l  n+ _+ M& P% ^: v0 h6 L    );1 s$ i4 p% g1 J+ W! c$ R& ^0 q* h
    register_post_type('site-wide-notices', $args);
9 E4 }: h" e' z1 c}: s$ A+ ]# k6 A, J7 M+ {
add_action('init', 'create_custom_post_type');. A8 Y( ]7 t7 X/ |* @  y
```
6 n5 U$ T6 ?% |# Q, Z
1 s8 [' M- n5 Y6 h2 B在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。) u0 W) R* {6 W: \

+ c: _5 q! g6 A  |' a: m  a8 z+ i9 \2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
( j9 n3 l( R7 e
% f  r1 b+ X7 _3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:, [0 V! k* \& k( g6 n
, c) W8 I5 i9 ?) `1 C9 y' J
```0 c: T  H6 W! c( H/ N8 s$ E) V
$args = array(, r& s  }+ ~3 F! m5 M
    'posts_per_page' => 3, // 显示的公告数量( m+ w7 S! I2 J3 O
    'post_type' => 'site-wide-notices', // 公告文章类型, ]' v" M, s* P2 O
    'post_status' => 'publish', // 公告状态
  s5 H+ r! t2 I    'order' => 'DESC' // 排序方式( N) F# i( {+ o- ]+ a
);* h7 p8 c/ ^' k/ @/ T; E+ E

% E* l- \: @' X# x8 Z- G; ?$notices = new WP_Query($args);
6 S) `5 z& I7 c0 l2 v5 W2 pif ($notices->have_posts()) :  R( a. F8 k3 q* v" S
    while ($notices->have_posts()) : $notices->the_post(); ?>
4 J& X9 P( ]( @! C- C8 x6 `        <div class="notice">" j; l' h; p4 A- S6 l8 T0 R9 `
            <h3><?php the_title(); ?></h3>
( T% v! ?4 l+ m: G            <div class="notice-content"><?php the_content(); ?></div>
' W1 l+ U. T, I: M* K; B        </div>
+ e; l+ c* O) [7 y5 V' P- ?0 I    <?php endwhile;1 \4 Q) S' k; I8 _0 l# m
else :# G2 j, c8 K1 B$ M
    echo "暂无公告";
( v+ r# m5 S6 N* Gendif;/ ~8 h- ^& D: q5 `$ Z6 m  T
wp_reset_query();
$ x% }6 Z% M; \6 `8 ]9 U- l```' A& p, _) n' |+ {) f
& H8 a; R- K$ N+ Y, s! s
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
" K" V; e" G4 z
- V8 g9 V/ Q+ H以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

334

主题

517

回帖

3394

积分

管理员

积分
3394
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
0 t$ p" J0 M( j4 G, C0 b, C
- d* e& Z4 }1 P) q% E9 a0 q如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。7 g: Q6 `& @" A1 J$ [( I' q
  J4 {- `1 x  I5 \
以下是创建自定义插件的步骤:8 s, {( |, u5 R1 ^. q  O* T
" J1 K5 @, g0 F7 d1 x
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
7 \# q  u; T; b+ r9 C
) m1 R8 W) S1 X  l0 z5 `6 {8 a   ```" Z9 J, e! D- U! i
   <?php
2 a: q4 ]2 o6 i- [+ L' v   /*
. r  i8 K+ J8 `* a0 P3 k; U   Plugin Name: Site Wide Notices Plugin- V" S$ W3 S$ P8 p- g2 [: h, F
   Description: Adds a new custom post type for site-wide notices.
9 z# D# f" l; t- Z# a/ K   Version: 1.0
* W/ A( t+ n  i- F4 H5 a; ?: b9 e   Author: Your Name
5 @7 j) X8 v8 S; Q. ?4 V  K) ]   Author URI: http://example.com
5 {6 n9 c, l$ o8 Q/ f* o   */5 m& j( ]1 j' A8 K% j  l$ V
4 o: p  @9 G7 o; q
   // Add plugin code here...0 t$ c1 l4 v3 I6 c4 e
   ```
6 }& M1 g- N% W) S8 c+ e- T( P0 z- r3 x& u/ U
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
% K7 W8 o$ _2 d2 b7 o' w; I
* p  x! I/ f; q) j$ G' `* C, S2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
) ?9 H% D" ~, c: D# i, z3 B  N) Q! Y8 Z  i/ x9 ?& r
   ```
9 K- @" v  [5 K5 i   add_action('init', 'create_custom_post_type');  I2 k3 J. q: H7 w6 x/ w; G- _$ j
   function create_custom_post_type() {
4 e4 D6 U+ Q& p- E      $labels = array(1 j) b' y5 H& F/ ^) M$ [
          'name' => 'Site Wide Notices',, j4 r! f! H* ?( A$ x
          'singular_name' => 'Site Wide Notice',
2 M5 x# a; b) ?! r# ?: Z          'add_new' => 'Add New',
5 \' r8 \1 U/ W" u+ _3 A) r          'add_new_item' => 'Add New Site Wide Notice',* N- I, w! X! w! g( \
          'edit_item' => 'Edit Site Wide Notice',/ b, V) i, F9 u& B5 h1 r# Z/ L0 w
          'new_item' => 'New Site Wide Notice',9 e- K+ a$ j$ n2 Y) R  ~6 q9 k! G
          'view_item' => 'View Site Wide Notice',4 [  Y9 n, V0 m5 d
          'search_items' => 'Search Site Wide Notices',
3 Z1 R0 ]. p( q: i- `          'not_found' => 'No site-wide notices found',0 s$ W7 ]+ v( J+ f) z4 w8 E
          'not_found_in_trash' => 'No site-wide notices found in trash'4 Q3 r# E* m$ F& g' E+ n! \: I
      );" b+ N& c  d1 C' a

% B9 L- X4 X+ i9 |      $args = array(
2 B* O* R( G+ i4 l" |          'labels' => $labels,6 P5 K; |" R9 S  d) F# L6 u9 p
          'public' => true,0 K; ~% H! l7 w/ d
          'has_archive' => true,* T8 P. L  h9 ]; l1 u
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),) ~8 Z( W5 M/ K7 `2 K) r0 k
          'taxonomies' => array('category', 'post_tag'),% o" t1 R0 p: n1 _9 D$ Y, ~
          'menu_icon' => 'dashicons-megaphone',1 V; ?3 S* v$ z+ \8 }
          'menu_position' => 5,
" A& b9 Y- R& T# P0 p          'rewrite' => array('slug' => 'site-wide-notices')1 {3 p* o7 G' h1 k2 U3 C
      );
$ W' Q6 C6 C% ]/ }, g1 i3 Q) v% p9 k! C" \: o
      register_post_type('site-wide-notices', $args);5 l# ^3 d* ~( @4 Y. Y
   }# l8 d( k% l* {- T8 B+ w: u
   ```
2 U  Q" ^) P0 L9 s4 e& g. a6 \; R) U. p3 C5 w7 ~  E/ B
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
3 _& A) }5 k8 b; U
: U, o/ P2 I0 L3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
2 B7 s; A, }( F7 t+ ?
. m8 C5 n( h* b! w- F   ```- N* T1 U  X) Q5 S* U9 X- f' l
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');3 i1 D( d( m: L7 X9 T
   function add_site_wide_notices_boxes() {, ?' W( q& p- o% W2 Z9 c1 T
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
1 l1 h2 j2 A! Q7 |6 b2 ^   }
3 n, P3 H* ~) I' u- C# ~
, ]  k: e5 y6 K7 s   function notice_details_meta_box($post) {6 c* }4 c* o8 d2 C
      wp_nonce_field(basename(__FILE__), 'notices_nonce');
! A& r- u# O- {; V; \. |( Z' Z2 K      $notice_title = get_post_meta($post->ID, 'notice_title', true);3 @. X( c* C) ~0 g" q7 Z
      $notice_content = get_post_meta($post->ID, 'notice_content', true);" |3 i, w' H+ J( Z& Q
      ?>
6 i4 ?) `' e& Y4 l5 B, c2 O, R: m      <p># |" L  Z+ ]% B' A# S) T
          <label for="notice-title">Notice Title</label><br>
9 [  J$ H. S! f+ I9 D; O          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">2 I+ s+ H5 X9 ~: o4 }: ^- {) z
      </p>
7 `" l8 e( X, U$ b7 A' B. M      <p>& x0 R" }: b  w$ Q3 z1 X! q
          <label for="notice-content">Notice Content</label><br>9 H( s0 y( ?1 w5 \9 O8 M
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
7 z6 _( A% _! K. |      </p>
1 g& l1 x; Q3 _, Y- P4 Z      <?php
1 P! N$ M8 }9 A" v( {. {/ p   }
( Q1 d8 n- D( M% A1 j9 E; Q- N% F7 {  V3 {
   add_action('save_post', 'save_site_wide_notice_meta_box');  G4 r) J2 R- i/ b
   function save_site_wide_notice_meta_box($post_id) {
2 D% X; e: L8 H# M      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))( D+ ?! ~9 V- C* n: z  [7 [$ _
         return;
( y: d+ [) N" |' B      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
! |' J; i) `4 E9 u- P. v         return;4 s9 B  y5 m6 u% A

+ {) S# s' M' Q) r+ m$ x      if (isset($_POST['notice_title'])) {
  S3 T% }. T8 T1 S& R          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
/ U1 Z+ v/ }; l9 g% J      }) U. q' x- e* L" l
      if (isset($_POST['notice_content'])) {
- b! T5 l) B/ X          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
7 R  u; E2 N  G( w4 F7 {- R) k" @      }# \) E; M( Z, X8 o6 A
   }
9 f7 z+ h9 d9 e: a  Y, v   ```' i; `7 u/ }  g: \5 s

( M+ q1 m+ W" Y, g, O   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
% Z' d" w. g$ U5 ]# b" I+ R1 ]6 A6 m4 q# Q1 G
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:- \: H  f' B4 I7 B' ~

( A) ~' L- I- r6 v+ U) _! e   ```
, a( F( `# C& h9 F: ^4 H2 ]   $args = array(8 u" T+ x: n* N9 `' d7 j- o/ H
      'post_type' => 'site-wide-notices',
" t4 L7 i! a" x) [( C! t0 q% z      'posts_per_page' => 3,
$ Q0 }3 t7 [- Z. G. ^; W4 `      'order' => 'DESC',5 ?/ d* v8 r9 d$ ?0 a. m
      'orderby' => 'date'
5 o7 B" j' y0 Z+ |8 n   );
' W4 ^  j4 I- U   $query = new WP_Query($args);( m. v1 y9 [# L
   if ($query->have_posts()) :
( p2 u' U4 Y& {1 g" U      while ($query->have_posts()) : $query->the_post(); ?># F! _' g. n, k1 f# y2 C, E
          <div class="notice">6 W, y) |) Y) L* s6 O7 n. g
              <h3><?php the_title(); ?></h3>% z8 t& \) _2 v% J" Z! \
              <div class="notice-content"><?php the_content(); ?></div>3 r% ^% N; S& n
          </div>) D4 p4 J# Y5 Y2 F
      <?php endwhile;
' I9 ]+ P) t2 `* i, o      wp_reset_postdata();
% v4 I, j" ^, Y% n   endif;: T) e4 K8 A4 s/ j( @
   ```
: U2 A& E' g5 N3 w( s9 O) A& X# e" G1 ?% q
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-30 20:20 , Processed in 0.078060 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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