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

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

[复制链接]

341

主题

541

回帖

3571

积分

管理员

积分
3571
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:3 {7 S" D, D$ y8 @/ P; f" ~6 j
1 c0 q. n) c4 r; {$ S5 f
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
- @, ~4 q# A* s5 O4 `- }
4 e1 h. g2 y# b2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。5 ?4 ~. E4 c( ]7 X! G* R3 r2 z- I5 s
9 z, L% P2 W% `; z' E
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
, D2 d4 g; _5 t' I" Z8 d2 @: O1 p/ G. Z& ~- J. y
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
  V, r% R0 X7 _# T9 R
3 e1 G& C6 C. w  e: ^注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

341

主题

541

回帖

3571

积分

管理员

积分
3571
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?2 K2 `2 j% j9 s" E! `& _' u2 v& H
$ N4 H% k. ?( l( K( ^
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
& o; B0 L- N. `; f& ^6 g; k# Z# t: K& _2 n/ t8 ?  Z
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:* X! f9 ]" R- H" i9 a

( z' V0 u0 M2 G6 o: R   ```
( m2 B( i- L' ^1 X7 {$ \   add_menu_page(
( A" C' h, x+ I+ o3 `3 h       '全站公告'," \5 y5 u1 Y+ x& L9 }/ `
       '全站公告',7 U1 t3 ^% e2 A8 }9 @  `, S# \9 d/ I
       'manage_options', //需要的用户权限) d. z: K5 l; d! \$ F3 u3 |5 w
       'site-wide-notice', //后台页面的 slug% c. n0 w9 h( V/ R& Y! K$ d2 c6 n: q8 j
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
! ?  ?' c. v# _2 g) h+ [& t       'dashicons-megaphone', //用于显示在菜单中的图标
1 r2 j7 w3 E) J8 f       30 //菜单项的位置+ Z+ a+ }6 w0 w
   );; f, Q6 N$ t+ V8 W5 `3 B
   ```+ e6 M/ L/ }, l$ p" E3 W7 H# ?  R

* _1 r/ C* R6 h/ J1 u2 \, K   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
/ i5 ?2 I, p' e: y- X2 U* o
7 }1 g# ?8 r" V. d7 `2 b2 V2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:0 Y( Z0 P8 S: H3 m2 b

2 L. \/ H: }: |% m" \$ J/ Y   ```; J5 f  Z+ A) V5 N  y# j6 y
   function render_site_wide_notice_page() {
( P" t0 }3 K. f: X* ?/ D' r# F      // 渲染后台页面内容6 N' J$ g0 l5 Q/ |% u
      echo '<div class="wrap">
& D4 a- G2 r2 \          <h2>全站公告</h2>( }$ t' I& s) G8 i- B) L8 x8 T- {
          <form method="post" action="">( o% t. _8 X9 u* e. n+ k7 x( z& h
              <label for="title">公告标题:</label>( t& o0 @" x4 |/ ^
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
, L6 G( G5 J8 u; _) g9 y4 t              <label for="content">公告内容:</label>( }8 v# k4 D( q& D! T* R8 K
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>% I; V1 z2 T$ q- @( S4 C
              <input type="submit" name="submit" value="保存设置"># l  O' r+ o/ l; B( Y
          </form>4 L, O& D: {& y) }$ q6 _' |. `) ]
      </div>';
* n  T; v7 |$ n  R$ }* ^) ]; K' A4 e: w$ ?0 ?
      // 处理表单数据
' o6 D9 {8 \1 z% X. ?      if (isset($_POST['submit'])) {
( a0 q+ P) `, F3 i7 h5 v          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
4 U% ?/ W! T& W9 i/ |% G          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));# \0 D) |1 ]8 J, B1 z2 ?& X; R/ _
      }
5 `8 o9 w4 Y. V, C7 i   }
- l. n9 i9 _) h7 E! t! y* E3 D   ```. q7 R! S: D4 @+ i. `3 e

9 y% A/ @; T# i. G/ o1 e1 F3 @- X   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。! c( s" M1 @: i/ W' H6 @
' }9 Y6 ?: O3 U6 J. w: c" X7 D+ O9 V
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:: B5 I. V$ E' B7 \; q

" V: a+ b; H" j" k: Z+ O   ```, d/ T! ~: A4 v' m
   <?php
. P  U5 a$ H% v0 p+ w+ @: c   $site_wide_notice_title = get_option('site_wide_notice_title');# \" P2 ]0 Y: @. T+ C  Z
   $site_wide_notice_content = get_option('site_wide_notice_content');
/ ~& g* ~6 c6 D" [3 G+ o0 Q   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {4 l7 Z$ i% U$ R+ ~8 V
       echo '<div class="site-wide-notice">';
' x/ O8 y+ V# c' g$ k# D# W       if (!empty($site_wide_notice_title)) {3 J4 B  a; O* \
           echo '<h3>'.$site_wide_notice_title.'</h3>';
' a# m' i$ X* {3 z       }' k1 L' ^. S; {5 F/ w
       if (!empty($site_wide_notice_content)) {
( U' F  D/ d# E2 S% U% p           echo '<p>'.$site_wide_notice_content.'</p>';
, I4 b  U) C# s8 I       }
$ [' _8 d) q, e       echo '</div>';
) H5 B; z! w! }   }
( N. y2 a  N- E# o: k' Q0 \   ?>8 V4 d# d* X) T2 K2 D
   ```1 G  H7 K3 P3 W9 @4 [7 T8 n9 e6 O9 ]
5 _: N/ K/ y$ v% F
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
% Z# h: K3 Q; `) C" R5 `6 A
" V! X7 @+ Y- H6 Y# j6 T请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

341

主题

541

回帖

3571

积分

管理员

积分
3571
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
$ u$ Y+ s: v0 A# x& ^2 v$ L
0 w0 \7 F5 l* F+ I) m您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
8 W/ R- r9 J+ _; m+ y5 p1 q: z0 v
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
4 a" ^  C: V: f
2 J$ e4 M& j. Q. P' g  y7 U```
4 p6 _2 {$ v, Z. \2 c4 bfunction create_custom_post_type() {" j( G; d* W8 I) W5 a  E; h
    $args = array(
3 C7 N) Q$ V. Z5 E        'labels' => array(* o8 y' z) u) D
            'name' => '公告',/ |7 e3 a# R. B* k" _4 G; C  m% @
            'singular_name' => '公告'" N! n4 ~( m  L
        ),
$ b& R+ D2 T! s        'public' => true,
$ N/ A" `& D9 A        'has_archive' => true,
# }) A/ G* V) P! L" `& m6 p' \- ~        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
' D. E5 T5 W% e" }        'taxonomies' => array('category', 'post_tag'),3 M0 b) @! A) t* a9 k/ e6 v4 E
        'menu_icon' => 'dashicons-megaphone',3 M, D% B+ L) O- l4 T4 I
        'menu_position' => 5,7 ]* P* z5 }. f, z* g' \
        'rewrite' => array('slug' => 'site-wide-notices')7 O$ X8 y- ~4 A6 e$ a. ^
    );
0 Z0 U+ S4 e* C" t9 y6 Q* N3 w    register_post_type('site-wide-notices', $args);
: S7 ]  C) W4 p' J: t: B# z}* a9 s# K6 ~( @1 `+ Y5 D) k
add_action('init', 'create_custom_post_type');- {' c  l. E- f  P
```
$ H- p' [3 f- G  R; l3 S2 f4 V9 f: ^* A  x0 ^
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
/ _/ Q$ ^; i* n3 d8 T3 }" z- H5 @. \! X1 h
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。2 N. b9 D( z9 y  w

. `5 Z# L& X3 ~3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
- |3 X! Y) @8 x6 f0 S) w
: _) y+ Z2 F3 N3 c```
, C4 D5 [0 @& X+ t/ C. Z* f$args = array(3 e6 ~8 o$ U0 F9 B7 T1 L
    'posts_per_page' => 3, // 显示的公告数量
9 @" r( k6 B5 }7 a) c  y    'post_type' => 'site-wide-notices', // 公告文章类型
9 G# t4 m) b- I  x2 S    'post_status' => 'publish', // 公告状态' }' C  t- e) P6 |9 z  ?) `. i
    'order' => 'DESC' // 排序方式
5 Q8 _% E9 L; b: W( i0 g* V3 r);! ]- _- m- p: y

. ]1 h% k2 w1 A4 k  H$ N; X$notices = new WP_Query($args);
2 ^/ s( D  p0 s, D2 mif ($notices->have_posts()) :" A0 l0 U2 X" S4 `* s
    while ($notices->have_posts()) : $notices->the_post(); ?>
2 p7 G2 L% |! M: V1 y- [0 ]/ O        <div class="notice">
: L2 h' }1 L; H* c$ Q            <h3><?php the_title(); ?></h3>
# ~1 a+ P& M1 Y9 k* _; E" k            <div class="notice-content"><?php the_content(); ?></div>$ a$ a, m: g5 }% L8 s( u( `
        </div>
/ r/ v1 k: H2 v    <?php endwhile;8 L; k% H3 p! x8 t! G9 J! V3 ~
else :, Y- Y% n+ m' a0 n
    echo "暂无公告";
8 D% \6 F/ D) ^/ Z" I7 ]; fendif;2 v$ w% a. r2 D6 w1 S0 Y
wp_reset_query();
9 h  F* I% j+ V  ]4 Q& y```$ \7 j2 ~3 u6 Q' ]: Z

4 o3 ^& H# j* b# |( ?2 F& z$ f& i这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
% z8 [; b, m9 Q2 Q2 `! l& G: R; j% K! R! X( C  {. s
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

341

主题

541

回帖

3571

积分

管理员

积分
3571
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?! r( o1 K5 p  }2 G, L  S" Y3 D: D, f

7 i6 G7 m& A$ I2 z+ \( a8 H如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。" Q; r8 a# G3 A6 U! e; D
! H" q$ ?. Z/ O# D& X
以下是创建自定义插件的步骤:
% q8 j( A- C: d% ]0 T+ T3 i1 u& @% |( s& d
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
* f% |3 U2 j& u& @0 _* v1 B9 N' U" H8 Z* s# G, B- C& r
   ```
1 s. l) Z' D( Y( m* ~* m8 B   <?php
4 J. ^! S6 _7 o0 D& r) s3 u$ D   /*9 y: U: x8 V  V# j$ @& E
   Plugin Name: Site Wide Notices Plugin" N8 c  H$ @8 a) ?) K: ?# f
   Description: Adds a new custom post type for site-wide notices.
; Q- a0 [* v7 @' Z   Version: 1.0
$ M" o' ]7 w1 t; L   Author: Your Name
. ]. c6 m$ a* [! u/ t4 [) X* ?   Author URI: http://example.com
' F: V( M% ]9 E& e1 v+ P   */, P% Y& @! C' ?, u, X# J

/ C, T2 i) ^1 F$ q1 H9 J( A* z0 q1 D   // Add plugin code here...+ }. _0 ?2 R3 j; A0 ]
   ```
0 M% @2 V9 f. K/ z& t' `/ f
; o3 l. M6 E: d2 i   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
% {0 b0 h# e9 \% j  i5 c
' D# U, Y5 s& w+ \, @( h' B1 C2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
, z* x% K/ S$ h5 y, Q( L. d7 d8 c+ m3 k2 g8 ]0 E. r7 r
   ```
& |, u) j5 t- q. C$ u7 v+ C   add_action('init', 'create_custom_post_type');" W, H7 u& t4 w7 k  S  ?5 j9 y
   function create_custom_post_type() {1 p  I( w0 g3 t: M. Y; ?
      $labels = array(
/ {" G. z2 B# f  K          'name' => 'Site Wide Notices',
1 n  |4 V) G6 }% U# ~. k/ S  v          'singular_name' => 'Site Wide Notice',5 |9 q; Z0 k; F2 U9 d  D
          'add_new' => 'Add New',
+ ~% g" o1 |2 @5 @+ I0 i1 o          'add_new_item' => 'Add New Site Wide Notice',
" W  m: q: T+ X          'edit_item' => 'Edit Site Wide Notice',
3 N' {3 Y8 }- y& F8 ~! J0 I9 d          'new_item' => 'New Site Wide Notice',
1 @# ~( N9 W2 s( R( ^. C) H          'view_item' => 'View Site Wide Notice',0 s6 M5 |& l- ?6 U
          'search_items' => 'Search Site Wide Notices',
: O) m/ M* _" y* n# c: t! V          'not_found' => 'No site-wide notices found',- h& ?7 }0 n6 T+ F
          'not_found_in_trash' => 'No site-wide notices found in trash'
: Q  F8 K* R2 B. I0 w      );  W( z1 b5 h. h7 N- `( E. S
- \" E: z4 z( q2 d: w
      $args = array(
; |+ k. ^3 K9 H          'labels' => $labels,4 |3 h# P& v$ Y; ^& i4 D2 d* e
          'public' => true,
3 C. Q2 J3 c1 }. H( q( a1 R          'has_archive' => true,/ r5 B$ N! @9 i- A  j
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
4 f" K& c4 B/ {# O0 K! M+ f          'taxonomies' => array('category', 'post_tag'),
5 v. S- q+ m9 }9 F$ R4 _          'menu_icon' => 'dashicons-megaphone',  \: G7 W, Y0 ^: t6 d
          'menu_position' => 5,5 [+ S6 U8 V3 A. V: s$ N
          'rewrite' => array('slug' => 'site-wide-notices'). x( t/ n6 a5 ^" \; M8 T( H
      );) H4 C) G7 [; {9 D

4 n1 c+ b% _- e! c+ _# T      register_post_type('site-wide-notices', $args);" H5 V" a7 |5 z; l
   }
7 K& z( \" o; C- F4 \3 j6 a- [   ```# S  h0 p: L2 D& p

6 q; a" b0 r$ k4 E   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。! z- b0 E  n5 P
; P" N" n% d  f+ M! n) s, b
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:# N1 y" U% X2 f5 G
$ p% Z" x, [; Z0 x" J, ?
   ```% w: O  T( p/ F/ s9 _" }4 @
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');5 z; h) C- {( ?9 \6 {
   function add_site_wide_notices_boxes() {
( P. k& w: B5 _3 \* C      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
) D. r& h$ w2 z- k9 K   }6 i* H: D4 L' \; \

% W+ Q1 ^* N# y; T# T; b   function notice_details_meta_box($post) {& z+ A& H- z& v2 Q8 C: h
      wp_nonce_field(basename(__FILE__), 'notices_nonce');
7 Y/ \) B  _% v# D+ W! f      $notice_title = get_post_meta($post->ID, 'notice_title', true);/ S  ~" k: V  G& d0 C* J
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
% X/ h1 Q' g3 g- |, D8 C! A  ~      ?>: {% z8 v$ I7 D6 V
      <p>
* q( U7 [% t7 `2 s) y          <label for="notice-title">Notice Title</label><br>
4 L8 @3 [( ]0 f; d4 M$ U          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">: ]/ m5 ?% {0 a' T  P! k# m& N0 X
      </p>
# T* f9 Y. J2 t1 e0 [      <p>1 C6 ]" ?4 v0 C
          <label for="notice-content">Notice Content</label><br>
* G/ O8 v! n' y0 B          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>$ c! c1 l  R- I7 O
      </p>8 Q$ d; j! u! `- @
      <?php+ N1 i; p. J! c! e" k
   }
  l7 v4 d2 T! Y6 G3 o9 T# j- Q( K. T5 j# Z. U6 d
   add_action('save_post', 'save_site_wide_notice_meta_box');
8 N3 z. w# B: g( z/ {/ M7 U   function save_site_wide_notice_meta_box($post_id) {7 V6 l- L5 i) x2 n7 s$ p7 x! A
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
7 f9 n5 H, A; T" \2 L         return;
; {2 Z& ?' G3 T* y+ Q      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)/ ]! C2 K( b" g$ m* [$ b
         return;
  Q* D7 G+ q. d( V, `
7 g' L9 U( `4 d# s9 i      if (isset($_POST['notice_title'])) {6 D& f( K2 ]' _/ Y
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));) p6 J+ O3 ]" K  A' f! y' i
      }% t. s! \3 `% k/ h% n
      if (isset($_POST['notice_content'])) {
- n# k2 ?4 R- J) m% m. j( m          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
% o1 ?; D7 C1 k      }0 v5 j) u* Z7 {
   }
: \" {( ?" S( W& m8 K, u   ```- a" k3 l8 [- p2 ^4 O6 ]
2 K! O/ q: ^% V1 K2 y
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。! d, o, x' X+ ^% b: i

- p; T. T  `$ N4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:: a7 w! V! P; f4 M3 b+ ^, M  N
! R; [' s/ X" B" V/ M
   ```
( g7 q0 x3 i! O; c# w   $args = array(
2 [3 a2 f- l6 d( P+ S; _- B" n  {      'post_type' => 'site-wide-notices',
2 v6 P0 c0 N7 n' ^4 c* D  W      'posts_per_page' => 3,. j: m: G; z) k/ p1 ?! I; N+ R
      'order' => 'DESC',& \, Z. j* I* ~8 J8 ]
      'orderby' => 'date'
$ ?3 e; K3 x, u% O2 u; a+ ]   );! V6 v4 X- p9 P. P4 g! X( w2 j- i( ], G
   $query = new WP_Query($args);
! Q/ [( w1 }: A2 ~* z   if ($query->have_posts()) :9 ^1 m& o; O$ Z  u- x( Z  ?% A
      while ($query->have_posts()) : $query->the_post(); ?>
6 x6 x; Z7 ]2 [; N3 B          <div class="notice">5 b) E4 l, R# y! D7 X
              <h3><?php the_title(); ?></h3>2 I1 \2 W( N/ z3 Q
              <div class="notice-content"><?php the_content(); ?></div>
2 p/ i" `" g3 ?+ R8 E. Z          </div>  Z# ^" ?" N1 a
      <?php endwhile;& |$ [/ g0 d  P; Y6 T
      wp_reset_postdata();9 O. B7 ?. j) L1 s1 G( J
   endif;
2 t* e$ b* Q# X   ```
( r+ i! m' Z# L9 k, F3 a7 v2 p3 \/ J/ R5 j* E9 q6 L; w0 O
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-25 07:51 , Processed in 0.016811 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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