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

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

[复制链接]

335

主题

520

回帖

3419

积分

管理员

积分
3419
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:% T# d: h0 y1 p$ x& O% y6 u
- `9 U4 |/ ~6 f5 ?
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
! z5 D# h- d4 E1 A4 Z, V
: n$ k( S/ F+ F2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。$ Y' @% P; s+ i* X# x' }+ Q
) W0 K" ?+ `* p& b
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
# {$ O: ]7 C0 Q) `2 r& N$ k+ f) @4 R$ i- v
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。4 A7 b# A  N" [+ v6 |7 e

' A1 ]) a0 E9 g  E( A- a9 j注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

335

主题

520

回帖

3419

积分

管理员

积分
3419
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
: i; D& N; T5 n9 O( n2 s3 N3 e1 w9 y- q1 Q
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:+ E' J5 b! F2 d  i+ ^

/ P, o8 e& X1 R' H, K5 q2 {5 O( n+ i1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
# V! r, x; y* v" ~
* |2 O1 ?5 j. q- N" E   ```) V0 T! A' \; K) I+ E" R
   add_menu_page(* y! ]5 I* M5 c4 P; M; E
       '全站公告',8 `/ U+ ?8 ^' J' t) d- |9 F
       '全站公告',
$ d5 D$ l' T( O, J$ z* v/ t       'manage_options', //需要的用户权限5 }2 _7 Z& a& a9 b7 ?1 K
       'site-wide-notice', //后台页面的 slug6 b0 q' ?& m: W) `0 G% {
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数7 X( Q- Q, `) b. N( x4 R8 H
       'dashicons-megaphone', //用于显示在菜单中的图标
/ r+ q. I5 b% _       30 //菜单项的位置5 s- C; r! o( l. ?; Q2 ]
   );( O4 g( r  a+ Q# g& k3 o
   ```7 i* s- `1 G9 M4 b' e* w

3 T4 t- J6 G0 {3 `7 a/ I- \   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。: S. z+ b3 b! _) M

5 V2 x4 ?# @( |/ \; G- j2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
4 @' g/ Q3 r0 t& s1 x1 K6 l* t5 L7 A3 |. ?$ q% c: [2 D
   ```2 k% M/ J& y# L9 P4 X3 H1 h+ g
   function render_site_wide_notice_page() {4 [. ]1 ?# l1 n5 ~
      // 渲染后台页面内容- o) D9 x2 d8 b; B  }9 F2 D% j
      echo '<div class="wrap">7 y5 J- y) R* u& `
          <h2>全站公告</h2>5 M0 e/ i9 V+ H' y3 E
          <form method="post" action="">0 }* z  O9 Z  K
              <label for="title">公告标题:</label>
+ A# B) ^9 c6 G  v1 X3 k  }# ?4 h              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
5 a% p: [* M+ x8 f! y              <label for="content">公告内容:</label>
  I" @6 }% O# A( }  M" p, C0 r# b              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
5 ?1 v" L; g: p& T/ @              <input type="submit" name="submit" value="保存设置">9 X5 W: U, T- H: v1 a- I- i/ {
          </form>5 B: N8 j& l, g1 R9 {0 s* O' t) \
      </div>';
$ c% j) G0 b; d( R+ K2 @+ @; c, i6 I# a5 W: l; l- |, _- _# F, D
      // 处理表单数据# u' S" x, A; d8 k& C
      if (isset($_POST['submit'])) {9 z' k7 V1 V1 G. a% u9 V* k
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));5 o/ s. ~# I; n7 P# j0 J
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
4 K4 L; C& G) a      }
# [4 n' d) @' `5 `0 B   }
3 x  P! L" P, s& p   ```
1 w. N% @2 X2 L% m0 x% I1 e
2 W' u+ E' ?" P# t# X" X5 a1 S/ ^2 u. D   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。1 o! ?6 r) w7 Q  A  C8 _3 ^, E) h' x

4 Q+ m3 u3 W: s4 _' d3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:6 J! k0 @+ ~& K& p& C
0 u; _. x4 n1 z
   ```
: K9 A# o& F" \9 b: b) b   <?php
7 z  J2 p3 v- @7 H6 x- N   $site_wide_notice_title = get_option('site_wide_notice_title');3 N, X  y6 i0 ?8 J; o$ B2 p- u3 }
   $site_wide_notice_content = get_option('site_wide_notice_content');
2 Y5 X6 x# m* O   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {$ [2 n2 l# V0 n. _9 p
       echo '<div class="site-wide-notice">';* s: D3 h$ j. T8 F+ I0 ]  K4 [
       if (!empty($site_wide_notice_title)) {& O9 \7 x2 U. j7 G4 Y, l
           echo '<h3>'.$site_wide_notice_title.'</h3>';
1 ~7 W8 P5 A/ ^       }1 U! b. V2 A$ A& Y- m
       if (!empty($site_wide_notice_content)) {
# _  O' ^2 T* m) A           echo '<p>'.$site_wide_notice_content.'</p>';
4 Y/ S+ c, [1 `2 a5 H7 t       }" o1 @  W  Y; d8 l0 E* [$ t
       echo '</div>';  [/ E" m5 R$ z
   }
9 C; Y7 B6 o/ r& ^  d# N  q" c  f   ?>8 E- c2 W5 g, U
   ```. o, I' u) g8 e

: h1 }6 G* L: s8 S/ d   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。1 n9 m4 ?5 e5 k7 n! A$ A

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

使用道具 举报

335

主题

520

回帖

3419

积分

管理员

积分
3419
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
2 e& L# G' `3 s# R4 h- Z8 n- X' W3 i/ k. F2 f" y2 V
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:5 e# L- @5 G; x4 D( S
8 c9 ]3 l3 I0 ]7 W
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
, \" B* O. d0 X8 h
' ?0 |( V* J. h```
# c4 h& U' Y' E3 Y4 Jfunction create_custom_post_type() {
, [5 T3 z* q, u7 u0 d    $args = array(* C) K6 V# E/ s8 z
        'labels' => array(5 w, \8 L- Y) E% k) _0 h
            'name' => '公告'," t- p# C. D( o6 y/ d  E
            'singular_name' => '公告'5 L" ?$ V1 o/ S" f" J1 d4 x3 C
        ),8 b( b& E+ G! w% c+ H
        'public' => true,
# s, c6 M: h- y: y6 R4 K        'has_archive' => true,
: |, U$ ~! t' y7 u4 @        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
1 u. e$ {$ \* l; l% ]3 s4 s. n        'taxonomies' => array('category', 'post_tag'),
8 x4 ]! z/ I7 c6 ~( v; l        'menu_icon' => 'dashicons-megaphone',
  t5 e4 y+ ~) X4 l        'menu_position' => 5,
& m2 g4 Q3 r0 a/ a6 b1 A        'rewrite' => array('slug' => 'site-wide-notices'); q& ]5 j9 X& w0 b
    );
3 R. y: T; L, S* I* K: u, _8 I    register_post_type('site-wide-notices', $args);
) ~9 B6 y' i# Y2 v$ R$ w# c}
2 l0 h) t2 r4 e$ h% A' @4 o# Fadd_action('init', 'create_custom_post_type');
) P+ D+ D! t& G: d2 D```+ [5 n& m( Y' F

$ m. X! {, N: M2 U' e在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。. o% H9 Z4 Y/ v; j

1 G; e( `# i+ r% K2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。4 {; F% D1 G9 j8 b: q8 A
5 ~  I& x. N2 t9 R
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
0 z8 t  m2 ~9 O" n7 S2 W& X- q3 Q+ v# a5 [1 A
```' c" E2 ^( Y, O2 C0 C$ y. x
$args = array(  `. c: @! b7 b; ^, j8 k, d
    'posts_per_page' => 3, // 显示的公告数量0 L; w1 x2 L: z: l/ h+ z* O
    'post_type' => 'site-wide-notices', // 公告文章类型
! u; i" p# ?: W3 l% B- C    'post_status' => 'publish', // 公告状态1 X3 D# J2 q3 |! B
    'order' => 'DESC' // 排序方式
% J3 m! h0 Q& m' q. Y);
/ M/ @9 r" o8 F4 M" X1 g* u  e  K* V7 x# Z! H, j
$notices = new WP_Query($args);' y+ N% s2 j* w% K9 r2 x2 s
if ($notices->have_posts()) :) a0 ~1 n/ e) v1 x5 c0 D
    while ($notices->have_posts()) : $notices->the_post(); ?>( }3 o. R5 A! I# W' [! D
        <div class="notice">3 P& t9 Z3 q- P" m% S, T
            <h3><?php the_title(); ?></h3>1 K" C0 j8 _6 `( r: O
            <div class="notice-content"><?php the_content(); ?></div>- F, c& S0 o) M' e
        </div>1 h  l& v! p0 f/ {- R; U. K
    <?php endwhile;, ]7 v& c5 g  c1 N
else :+ D7 D0 M- |* k; U6 V1 e+ r0 f& k
    echo "暂无公告";' l' A+ R9 ~: L% j) a* K2 b8 z
endif;3 t3 [$ u) m" O; ^8 I# N' N
wp_reset_query();9 {9 G% Z- c: Z2 h- N+ ?5 }
```% e! \- Y" U- N
; s5 W1 a5 o3 `% g
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。# F, x* X. |; F0 M/ n
& Y! w) f$ ^; g: ?& @' ]
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

335

主题

520

回帖

3419

积分

管理员

积分
3419
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
7 t& @+ ?" y' d- K2 M# l, O
3 V+ v- E4 F* D- c8 Q" D( b% E- N: t; L如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。9 |8 c  _5 B" ^& Q& D: h

; q( L/ b1 ~& C) i以下是创建自定义插件的步骤:1 B+ E# n$ C1 a: `( x
% x, l: c' Q$ w! f5 k
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:; l) F: ?) z$ o1 y6 y
( s+ s+ R3 Z. _0 f" o: U# ?9 {
   ```8 M0 S* f/ H; _$ H4 T6 @  r$ t
   <?php. |/ v( M9 P. I& U( M& r: b0 A9 L: }
   /** S# p$ R2 P$ y, F% W. S3 o
   Plugin Name: Site Wide Notices Plugin" k4 |0 X* [' M* }& V) g1 e' j
   Description: Adds a new custom post type for site-wide notices.
" Z5 M  p) i8 A6 _5 j& O   Version: 1.0
8 a( J( t$ w& D/ Z. s0 h   Author: Your Name9 M& U8 k6 s6 w* T" S
   Author URI: http://example.com
2 Y, t# U  ?+ |" h6 B2 t   */
$ m0 I5 b6 x5 [4 p/ ~/ k& R) M
   // Add plugin code here...
6 O6 w, y" B4 \$ q3 ^+ P   ```
, {/ _& H1 }( y9 S1 p) W  H
" }0 L- u% U3 j+ N" G% r   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
  h/ z" L  `! m5 U  G! w; O7 X/ S' Y3 `: Q* w
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
9 f7 `) F6 c+ Q  A
- i$ i( z1 z! T) P   ```
0 ~! M: n/ {, Z$ ?! t" o   add_action('init', 'create_custom_post_type');- _- a5 w+ v$ |6 Q
   function create_custom_post_type() {
% z' v. }. |- R7 M! Y: d      $labels = array(/ d* t" f9 q* r- n
          'name' => 'Site Wide Notices',& j0 n: g5 n8 m; Z% i5 m4 Y0 B* M
          'singular_name' => 'Site Wide Notice',
) ~( a9 ^1 g- \9 W: g3 W( P          'add_new' => 'Add New',
* v* r0 [% q1 Z8 P" H, a( U* p- f          'add_new_item' => 'Add New Site Wide Notice',2 z( L/ V) T. e
          'edit_item' => 'Edit Site Wide Notice',; M( Y! c( X, y) m
          'new_item' => 'New Site Wide Notice',& p& t9 Z) I( P1 O2 q
          'view_item' => 'View Site Wide Notice',: p; F( N! s& B( L; o6 [
          'search_items' => 'Search Site Wide Notices',/ F$ P) h2 w9 u
          'not_found' => 'No site-wide notices found',, E" _, S  B2 Y- e" a3 C
          'not_found_in_trash' => 'No site-wide notices found in trash'  P! @$ N4 Z3 N% b+ N0 x
      );3 E6 `4 U6 [( U% E; I0 T

" j) i( l( j! ^0 ?2 |5 _      $args = array(
- k1 f! x/ V- n. ?          'labels' => $labels,- g" T' s5 R" y6 \) E
          'public' => true,2 q! c7 [5 O0 ~2 e% a7 U
          'has_archive' => true,! f' q. P2 r. m
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
- U7 t% l/ Y% M! b+ ]# ^: w- |3 s/ I/ ^          'taxonomies' => array('category', 'post_tag'),2 m  N7 e* F) u- q: \$ h" W3 u
          'menu_icon' => 'dashicons-megaphone',$ Z* d3 S' T% H6 {4 M
          'menu_position' => 5,
, ?% \0 ~' x* Q$ ~- {! s$ t          'rewrite' => array('slug' => 'site-wide-notices')4 s5 u4 X; I& `3 w* k9 C
      );
  c$ ~3 O) C3 L9 w0 Z8 M0 n+ \+ q8 G8 R' |" u
      register_post_type('site-wide-notices', $args);6 l" z! S  S" H. _( n
   }
7 L% A: u( P0 B; c% F, G9 u   ```
" Y+ ~- S$ I% e0 X2 o& W* E% T9 t( J! d6 |$ ?
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。  y( W0 J( c% |( D: |; Q6 ^
4 Z6 E6 H; \7 O6 E2 E, }, E
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:! W$ \3 V4 Q1 @) o/ [

) c- g4 o! G$ S  k6 r4 C1 [! w" o& v   ```
) A* j/ s( E* b( \' K9 P   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');( f, k8 Y2 P* X7 U' N
   function add_site_wide_notices_boxes() {  P! P$ l. x- C5 P5 }' W
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');) Z6 H. m. d  Z7 W
   }4 t8 m7 {) V' s
6 d' b4 ^% K  e6 f" Y
   function notice_details_meta_box($post) {( H7 @0 _; J8 [0 [) p& Y: _  ?$ f, R
      wp_nonce_field(basename(__FILE__), 'notices_nonce');# j4 o. U; y! B$ ]7 L5 I5 m+ b
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
1 J4 O, v2 g4 f/ O3 i; r( [' |# x) c      $notice_content = get_post_meta($post->ID, 'notice_content', true);# j9 M0 p  L- A$ J
      ?>
1 L; h2 }% w. g9 H' [' e% b( f      <p>/ U% ^+ }8 Y9 \' u& ~/ D( _
          <label for="notice-title">Notice Title</label><br>4 _+ D4 }8 K: w$ u
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">; x) V) [  {; a5 k& o
      </p>
; W$ ^$ e, p% w; N% i* o" c      <p>% I' [! R% f2 S" ]) L8 H3 Q
          <label for="notice-content">Notice Content</label><br>: K& d' O) z9 J  w! p! S7 u
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>& T# c- i9 P. }; }: B( M
      </p>, W7 u" e2 O$ ~* @4 C- k
      <?php" l* R* j. X& {, F- o
   }
$ a6 z6 J, K1 \% K# L# i
" m& _9 T/ }' _; t8 |   add_action('save_post', 'save_site_wide_notice_meta_box');
2 [, s7 A) B! B5 K- Y9 |5 f! B   function save_site_wide_notice_meta_box($post_id) {
# @# ~- H0 b" C; ~( G* o: g+ [      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__))), ~: [. N7 w. l1 M" `
         return;
$ o8 Y# A. O& n2 W# c" z$ y      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)7 o8 ?4 E! n9 Z; }# s% W/ q
         return;+ H* _) Y+ ~2 ~' o7 o- G# `0 b

0 R2 Z; R. C- c# [      if (isset($_POST['notice_title'])) {; ~% ~) Q: z, I  ?
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
+ U, v* }7 F4 t$ }* H3 P! I      }
) X5 ]' v4 x% n) e  U! p& f& n) B      if (isset($_POST['notice_content'])) {
+ x# U" z/ W5 r3 N% i          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
7 z6 N$ x2 L7 O" n" Q      }
+ N* P" h5 w4 o6 Q% T; z; u4 \   }# ]0 _# ?. W$ N: }  ~; \
   ```0 H. l' s7 V5 x& Q. q) H2 P6 }3 n
5 q- Q0 m& H6 }5 V% \
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。5 Z& _0 d, L* ]5 p
5 `9 E0 p/ r) [& `- t
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
4 w5 |$ t8 q0 Y+ _8 H6 P
" ?( X( k' h4 k1 g- X   ```
5 E/ W# b9 R  u* z& @   $args = array(
4 X1 s2 [; y3 W1 M      'post_type' => 'site-wide-notices',2 S+ Y+ o5 O; J- x$ h
      'posts_per_page' => 3,! l* C: w( K. M6 x- f
      'order' => 'DESC',
8 O5 s7 ], a. Q' o/ i      'orderby' => 'date'
9 P% Z# ~; v* _8 H5 G( b9 u   );
5 \: Z1 h$ Y1 G% ^# R3 q   $query = new WP_Query($args);! s( H3 ^9 X, u  K
   if ($query->have_posts()) :
. d1 }5 i/ a" d  S2 O8 Q- p      while ($query->have_posts()) : $query->the_post(); ?>
, k% q1 b0 m; Q/ B          <div class="notice">
4 s; _7 C: h' S" q              <h3><?php the_title(); ?></h3>
3 a7 ~+ r9 i: I+ u" c3 n              <div class="notice-content"><?php the_content(); ?></div>1 Q. P: O1 N# w4 b9 Q
          </div>8 D7 _6 ?7 p# ^, _& ]" T
      <?php endwhile;
4 u+ L4 l; B$ s' t# N; y! v1 S7 i+ N      wp_reset_postdata();. S+ g% S! E5 J. D9 r" T
   endif;
% J& R9 N) H+ ~7 X/ c) c# P   ```
6 ?7 p2 t7 K3 v/ P
2 E; u$ `1 D( j# `, R# z2 u% V) r% h   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-12 00:53 , Processed in 0.099948 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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