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

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

[复制链接]

341

主题

541

回帖

3575

积分

管理员

积分
3575
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
9 V6 H  f* D. h2 y
$ T) \7 z7 r; u7 x# H) U1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
1 H- |" S' q/ N; I% r4 N! t& u9 N' m: O+ l
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
5 ]% o0 j" M: P! _& ^. H  v
6 R  K# V/ B6 e1 F+ Q3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
+ o/ S+ Z& l* E9 s3 ~
$ j/ h6 W4 Q& r' u8 t: j* R4 z4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。, o! [- Q8 S! ^7 a6 a& c0 W

1 a7 ~. H: K: o  i9 v注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

341

主题

541

回帖

3575

积分

管理员

积分
3575
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
3 ^+ ]. |4 `- ^! E1 v2 T( O( U$ Y: f' M
! \0 ^7 F5 e2 Y& W. W如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:* u5 {5 i6 \$ @4 R1 w8 P. j. D
0 T/ G$ x7 @4 [4 ~" I
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:8 W- |. Q- c$ ]! R

* B8 I1 f* M" A  U- @" P( M   ```
) Y" p9 F: u& M2 ^   add_menu_page(
7 K6 {% a8 z2 A6 _  F, h" i       '全站公告',
" p: d! e9 @; Z8 z7 T; P; A5 a. R% ~) G       '全站公告',# p) d9 H' T( I
       'manage_options', //需要的用户权限
- U$ c% y3 v) m3 N       'site-wide-notice', //后台页面的 slug
9 F/ |  g9 F, b, Y       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
) e' I: l" d" T) a5 ^* z       'dashicons-megaphone', //用于显示在菜单中的图标1 U4 ^# [. Z2 B0 |
       30 //菜单项的位置1 T7 R2 d+ d; [
   );
3 l* W* Z3 {2 ^* E   ```
1 D& Q( E& @3 c4 h
* h% t% @, s0 H5 b$ V   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。$ ~# A) _& `1 x1 u
/ y' v1 O, n/ Z# m  h# `+ |
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
& k7 _9 l7 _" H, f; f/ ?/ ?6 [% z4 u8 K/ C& d
   ```
3 x6 [' J4 c9 ]: Q' Q: n   function render_site_wide_notice_page() {. _8 q, Y6 k4 i  N% i. W
      // 渲染后台页面内容1 J9 t$ m% J& C3 @  R8 V8 h2 f4 n/ `- J
      echo '<div class="wrap"># [* W) ~" U  A; R' Z1 Y' b
          <h2>全站公告</h2>' B/ P( v& n5 ?* |" f
          <form method="post" action="">* s. S: k5 D' h( k1 x! K) l1 E
              <label for="title">公告标题:</label>
/ R: H0 ^- w2 V) Z1 _              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>: E, B6 \0 u3 D
              <label for="content">公告内容:</label>
6 E8 r: g! o! s; Z8 m) A7 Q# \              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>$ k" K( s' q: ^+ ]2 M
              <input type="submit" name="submit" value="保存设置">
: c+ [2 v: f% `* A* }          </form>
, C2 V& r/ P! c* B2 }; u+ R7 Z      </div>';
3 S) l) ~  c7 [. a2 G! |! U1 w1 C
/ I2 b! X' S7 t* k% t9 D7 x! F      // 处理表单数据
# Z$ J  o+ \  E/ u9 |7 u/ M9 f- L+ q      if (isset($_POST['submit'])) {
% e" c6 Z* f0 B% D          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));1 p/ g: \+ k8 n1 w) M
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
% ]% V; a7 Y1 [( u9 a% |      }' M; ~: [" l, c( X
   }
8 p. Y, w3 a, E5 g7 ^' S   ```8 ~& \; w9 {* B3 ~$ D4 g# P. c
- a6 r% X2 ^4 N" t
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。- Q% z- N/ k8 Z6 _  [
  {$ W* T& e- B7 S: y5 T/ U
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:- G6 L1 Y' u1 G: G# w

0 R9 R: M& j, W  p! z* A   ```
, L; X8 k: r  t2 [4 |   <?php6 ]$ n: ]( z1 B+ {% ?  Y1 n
   $site_wide_notice_title = get_option('site_wide_notice_title');: T0 h# _, i5 L+ w/ Z* h
   $site_wide_notice_content = get_option('site_wide_notice_content');& z' ]( o5 [0 p8 X6 s
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
* e# y5 F( O1 A3 M/ F9 c& T" ~+ V       echo '<div class="site-wide-notice">';
' `% _7 Y5 j4 F       if (!empty($site_wide_notice_title)) {
, s/ K3 c  ?$ U% l, G. B9 D. ^' o           echo '<h3>'.$site_wide_notice_title.'</h3>';
4 E5 c  B8 L. P' |# O       }
( q; K: X: Z% \* I       if (!empty($site_wide_notice_content)) {
3 A' R1 [. A( x5 O. |% l           echo '<p>'.$site_wide_notice_content.'</p>';* W. E2 z5 @7 _$ T, y/ h
       }. M$ J7 I& z7 T; D8 h2 G
       echo '</div>';$ E4 P$ J: N- V( }, c
   }. X3 o* J& B, ?! z5 w1 p& l
   ?>6 Z6 t& |5 M" B/ v. Z8 `3 o
   ```
  a, _* ~+ R& I) o# R8 o; L: m) y1 F8 H. s4 {6 V" {
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
2 s$ G' N8 [* ]# i; o" _! N9 r7 @6 S. ~& C/ `2 z
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

341

主题

541

回帖

3575

积分

管理员

积分
3575
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
3 A7 a$ u5 |* v. ~0 r" O* {) v5 @. ?% j3 b& G0 T: B/ r
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:5 m! @/ G7 ^6 G7 }

0 F7 }% s0 D- b: c. Q. M1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
( R' H+ \0 r, N/ r) O$ Q: C6 n
. z. z3 R+ ?  Z) ````
% q8 v4 v* y) |$ K- \1 sfunction create_custom_post_type() {
" h7 V7 a" ?1 N/ z- ~) U    $args = array(/ C% P6 @; ?3 H1 ?
        'labels' => array(# s+ N3 k; N' V$ ?& f2 l3 g6 i0 E2 o
            'name' => '公告',; {" Y: K# \0 N, p, F
            'singular_name' => '公告'
( e/ a5 d- N; D- N% h& ~* V8 L        ),
# h2 y% w8 j' [: G% w        'public' => true,, w: g, O& G5 G% `. e6 K6 _
        'has_archive' => true,& J! M+ V% e0 G3 W) F8 b4 Y# i, l
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),- F! O5 g2 A5 V% N
        'taxonomies' => array('category', 'post_tag'),
5 A5 b# a9 s% V( A2 o. r        'menu_icon' => 'dashicons-megaphone',! S  O! s* r8 f' S9 R  a
        'menu_position' => 5,
6 H. `% A! u0 M% Z3 [- e        'rewrite' => array('slug' => 'site-wide-notices')' Y9 Q; y! p& s( y
    );. J9 W- t% j# U4 x. ?
    register_post_type('site-wide-notices', $args);
6 I0 T4 }& Z. c! F4 ~& g}
  j2 E1 x% G0 _; t  madd_action('init', 'create_custom_post_type');, u( b* t, F% ~! e3 K* u
```
, J1 A- f6 z& T. @; t* }# t; [6 u! ^8 L* P( u
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
+ ?& z' H7 q5 y' N3 b9 T
: Q3 ~7 d. `( E& M; G6 U! B, d' V* b9 D6 ?' z2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。! S9 z+ {+ S' R2 Z* n; W
5 N' F& d+ x$ `1 b& a0 t- S
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
2 ~8 `/ Z8 u" m- ^- n/ S7 T5 `- r" ]* J+ `3 k; v" T
```
# d6 y! F6 }% m: n! s. b. [$args = array(  r6 S& Y7 d0 C. ~6 n" E$ L
    'posts_per_page' => 3, // 显示的公告数量$ k) Q. J- g, \* u0 v9 H
    'post_type' => 'site-wide-notices', // 公告文章类型
1 m( g3 {! C/ R+ H4 I2 ~7 T8 N3 {) Y. Q    'post_status' => 'publish', // 公告状态2 _+ v% x$ W0 P4 _( N
    'order' => 'DESC' // 排序方式
+ c- b. e# e1 f5 |/ j);
" s9 \1 n, H1 W9 [% v4 [$ J! j$ A# w; h
$notices = new WP_Query($args);, r1 s) M& o' X* o! R' D* y! _3 ]
if ($notices->have_posts()) :, p; K3 N: p' H
    while ($notices->have_posts()) : $notices->the_post(); ?>6 O2 B5 y. G# O2 {8 E" c9 R
        <div class="notice">. H6 Y$ z7 J+ n: k/ ]) c5 J
            <h3><?php the_title(); ?></h3>
1 f" Q) a# h! r2 ?# a            <div class="notice-content"><?php the_content(); ?></div>
' H' z/ Y4 a9 T" X; @# s: s        </div>
' W6 g3 A; p, S4 R9 `    <?php endwhile;
  ^2 B" s) u8 s; z, f( O7 Melse :- ^0 L8 m6 D. L' u# e
    echo "暂无公告";
* @$ Z/ P8 A# Y, pendif;3 W2 y% t. y% C8 Z8 m2 y6 o1 _8 V
wp_reset_query();) c6 H2 v% x# x0 M( h* J
```1 B  s' i! O; d: v* ]- ?

+ g' n+ [+ Z) B, s& o* y' D  \' v这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。. e# f7 m" C+ k, m1 A! G! x
6 K) ]" w8 v  x/ a6 v8 X$ r
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

341

主题

541

回帖

3575

积分

管理员

积分
3575
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
9 }! }+ d& K' O: m4 T. Q* P1 a- d8 D1 f: h. E1 m& R
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。$ d6 {8 w; o' J, z& f

( M( L$ {) Z0 A  T1 a6 L+ k4 Y以下是创建自定义插件的步骤:
4 ]6 k0 _9 P5 }8 k2 O# J
' l- H5 g/ K! N, f1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
7 w0 W6 n1 ~! m. |$ Q) ]7 J1 F5 m0 t9 s7 M$ n9 |* y# x
   ```7 v  C& G8 s) C, A; W0 Y5 C
   <?php
* }2 f* [8 o* S! X/ p5 |   /*
8 r+ Z8 @4 G9 }2 l- z, O   Plugin Name: Site Wide Notices Plugin
& J, t  w9 q# t1 K   Description: Adds a new custom post type for site-wide notices.
% y, @4 z3 r( l  z; e' F$ J" z   Version: 1.0
9 ]; \) C2 G. I& u   Author: Your Name
  s+ {* x- ^2 i, }   Author URI: http://example.com
- d  x- c1 G+ D; |   */
) d% U9 o" o5 F- y2 v3 Y2 W
, w* Q: ?8 Y) ^* k1 h+ A, J   // Add plugin code here...7 E, |. V% @/ c! K/ w1 u
   ```
0 R; ^; _4 {! h9 k2 }
) \* n4 O$ \) e7 @! J" D   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。' _9 h3 o2 a$ q+ d7 x; V  ?
& W5 x8 e# E6 ^' r: A
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:5 `1 E1 ~. [# j4 z+ q

' h3 W" [6 ?- N5 n  V3 J   ```
. [* P2 c$ v1 l: o5 h   add_action('init', 'create_custom_post_type');
' z2 Z' k; ]6 \2 V/ U! {" S0 J* ^   function create_custom_post_type() {
* b( u! v8 m5 }8 f      $labels = array(
& ]4 B+ B9 J  u          'name' => 'Site Wide Notices',
* o9 A% v" P% B# H9 F6 @0 q          'singular_name' => 'Site Wide Notice',9 F- E. R" i3 j: m1 ?% J
          'add_new' => 'Add New',7 t- J  C8 F9 y! p3 i% ~2 @6 x
          'add_new_item' => 'Add New Site Wide Notice',7 K) L) ?* e3 G3 A& c
          'edit_item' => 'Edit Site Wide Notice',: i9 q1 t0 x6 v/ n0 [$ o# m( G
          'new_item' => 'New Site Wide Notice',
. j6 g; f. m! t0 D) Z0 d          'view_item' => 'View Site Wide Notice',
$ G: u4 j; }6 t: k; U          'search_items' => 'Search Site Wide Notices',3 s( H0 Y4 P- ]8 l/ T
          'not_found' => 'No site-wide notices found',* I8 B0 q: x( y8 j  `( F, ?' O
          'not_found_in_trash' => 'No site-wide notices found in trash'2 z9 A( b5 e/ J$ z) E6 O
      );- Q) S! \) n/ Q

9 k# A! z: y6 l9 A0 i      $args = array(
4 b, f2 N+ L1 a5 \/ N          'labels' => $labels,5 _5 [# z2 d* b1 z7 N
          'public' => true,
7 r& n! w" A+ S          'has_archive' => true,5 q# G; k  c8 g
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
4 Y3 }9 `0 S; J5 f# r9 k: ?          'taxonomies' => array('category', 'post_tag'),- J9 r0 C" ?2 M8 c, Y8 \  @0 i
          'menu_icon' => 'dashicons-megaphone',
# \( L+ k3 L4 v# I2 Z          'menu_position' => 5,
; }* U. T0 b$ ?+ ?7 K          'rewrite' => array('slug' => 'site-wide-notices')
! ?. {% {8 E3 v- @5 C3 |) i      );! I+ a/ O. j  I: u: i! P4 m% c
/ M/ g: a& k! @; |+ D+ g
      register_post_type('site-wide-notices', $args);
! o4 e* q6 {9 N/ E1 }; t( Z* J( M   }6 q0 \; C7 }% E' y  }
   ```
2 F+ @4 q' ~: ~. b4 T2 A
$ {9 D4 ?/ ]; ]4 M5 P' v   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。3 j5 O* U# c- Z% N

3 ?9 ^' o+ k: v# T3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:& P9 \; _! U5 M; U3 l* H4 a
6 A5 V; P! f& t) ^% M0 l5 c2 D
   ```
! p5 o4 ?, U" B1 F; Z! i   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');: E% H  l1 K  R# p3 k
   function add_site_wide_notices_boxes() {: B& }4 w; w3 |- v: s9 I0 G
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');0 V! Y3 I6 d( i( s& P& c4 ]. Y- l+ X
   }
7 F5 y* w  P" X) }% H/ V) T8 p" [
   function notice_details_meta_box($post) {6 g% l3 x- U5 L" k' a3 s
      wp_nonce_field(basename(__FILE__), 'notices_nonce');7 i/ ?% b3 \7 x, A( `5 R
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
* l+ [6 ]9 N/ A  U6 [      $notice_content = get_post_meta($post->ID, 'notice_content', true);
8 z& w( f3 r/ n) B      ?>
) U& w/ B3 X( m# k3 t' ~8 n      <p># F1 i  y% v1 X9 w
          <label for="notice-title">Notice Title</label><br>
9 L" [& ^9 S# @- x9 `          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">9 Z2 w8 n9 B  Q9 B8 w- c4 }
      </p>
; M) E0 I8 Y8 Z; k! M- S      <p>
3 B$ m/ ]4 c+ ^3 E          <label for="notice-content">Notice Content</label><br>8 ~" D0 N1 ^7 n* y) q6 m
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
/ Q" _$ a4 r2 y/ D      </p>5 W1 C1 V4 L! P1 Y
      <?php; T: O+ [3 Q4 D
   }
3 @8 I. l+ e0 Y0 \# u$ G/ K7 Q
! X* E7 V7 m4 z! w5 R; L   add_action('save_post', 'save_site_wide_notice_meta_box');
* P& C  x- Y9 ^+ l$ d! ]   function save_site_wide_notice_meta_box($post_id) {
8 _$ V3 H9 j! W- M7 h, u      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
" s  v" ^" U' u1 {         return;, O8 J& e$ F, p
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)) M8 V( D! x5 M" v% {. [9 C+ v( `8 }
         return;% ~2 y% K2 n* z, i; h, S1 J- W" s, }
" K- r  v- ^4 ~2 k% e
      if (isset($_POST['notice_title'])) {
& C+ @6 j: T: K5 J+ A          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));9 d& r7 D! J1 C2 g& ^( |
      }8 [! u' v2 W! o5 N0 _5 s
      if (isset($_POST['notice_content'])) {
- T4 ]: `+ |7 H& |2 o          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
. I% Q& v. ?( R# p6 k$ w      }
4 s0 ?1 F2 ?' n* e   }
7 M4 c/ W) ?7 L: @  I   ```
- K. V- M- ?; R7 @8 ]: E
. @. g; l" [" \   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
1 b/ u% l' h5 J5 I. e+ O  Z  p& J
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
2 t) B( R0 Y, i4 P
0 S# }1 g: n4 T8 V& f6 w   ```
1 u# n# O, h3 t" c- w   $args = array(
6 c; Y" t: |  L  u% @8 b8 \      'post_type' => 'site-wide-notices',
8 J- \6 V8 C. j) A+ s      'posts_per_page' => 3,
9 ?" f, W: a- U+ g7 F# u      'order' => 'DESC',/ {0 m, ^  w1 a( O3 U
      'orderby' => 'date'- ?7 s. z/ p, N( H' j6 w& Z
   );
/ x. w, \" m4 J! H0 F$ k( ^   $query = new WP_Query($args);
/ N' a' G( C, A   if ($query->have_posts()) :
: X" W* v8 _' h2 [: _4 b6 R3 _      while ($query->have_posts()) : $query->the_post(); ?>1 |' v6 u  l: a% Z
          <div class="notice"># B- S# r5 u* Q
              <h3><?php the_title(); ?></h3>
1 O+ |. F7 u/ C; B: S6 _              <div class="notice-content"><?php the_content(); ?></div>
9 d  y9 M/ v* D: Y7 ~1 T$ t1 s          </div>
3 y( W7 `  E% u2 H; S      <?php endwhile;
; V6 i/ ~) x* ?' v' m! u      wp_reset_postdata();1 I/ g1 D( [: D6 Y6 c& H* D
   endif;
: a8 G% k! ~7 C4 h. Y4 q- p   ```
5 H9 ~) l" R/ E2 D1 D8 a  A+ T, H7 }4 O
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-25 20:41 , Processed in 0.017544 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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