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

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

[复制链接]

342

主题

546

回帖

3598

积分

管理员

积分
3598
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:8 E6 l. o# C+ X$ O

% b! K* H! }9 o: T7 ^, v; U1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
: p8 m( a1 l  f: {5 J4 X7 _2 K- |& ~0 D4 S0 W% d1 |6 K4 `
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。& w% F% T/ r, B) u4 C9 H( H

; M0 V) z4 L+ `) ?4 ?3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。) ]9 |: e# @# E, l/ M  ^- q# |6 ]
# N6 H$ \( x- t3 ]6 y6 E
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
  P" v" P5 [( {( |1 T! x* `) G; b) E9 c6 @( \" B
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

342

主题

546

回帖

3598

积分

管理员

积分
3598
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
" d6 i( d) r0 q7 W* T1 [& T; F* Q4 B5 ]0 q" T, j' q
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:( a" o1 H/ `- o1 x4 A6 x( D' r' i

3 E0 j1 f% L+ B* A6 b" C. L1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
7 H" _' R8 y& G+ o
/ J/ c4 i/ @& J- i. a   ```
' k: N& O( H" l3 q: X   add_menu_page(
! v% y0 q5 ?6 g) j       '全站公告',
* ~" L. Y3 z9 j4 v5 X) H       '全站公告',
+ U% {4 H$ p4 T& s) ?7 {. j       'manage_options', //需要的用户权限3 I( B! b( [$ B) v0 X* ]
       'site-wide-notice', //后台页面的 slug
) r) s1 O3 {- W1 S7 ]( C1 B7 R. ]       'render_site_wide_notice_page', //用于渲染后台页面内容的函数* C5 R% M9 G! b7 H  G# f
       'dashicons-megaphone', //用于显示在菜单中的图标
- [, T7 R( M! O' b  `' q       30 //菜单项的位置
9 _' N/ p7 l/ @0 F6 t* m: w: a   );
7 K8 D( e* k) w6 }   ```) |& X) z6 m. _1 K9 j) X1 U

3 n1 O2 u8 d! r   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。) {! i; d4 `8 ~! G" Q2 g

& \6 I8 n, o, Z0 ]2 h) c1 A' `7 m2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
, N6 a3 _' z  \
0 r" _( h$ E1 t   ```
  x% d2 U! L: b$ J  [2 J( g# v' J   function render_site_wide_notice_page() {
2 {/ G+ ^1 k- V$ I2 L8 U9 h3 K! P      // 渲染后台页面内容# t; X1 ^7 D  j8 \7 c& B
      echo '<div class="wrap"># q" w' Q' x0 x! {' y
          <h2>全站公告</h2>4 ]# Y+ p/ g* E9 a& H$ Y- t7 n
          <form method="post" action="">
/ J4 B. n) v  y* `* ]7 E              <label for="title">公告标题:</label>' T! v% V$ I; C/ I( |% r) N. m1 A
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>0 N6 g& e# @/ R1 Q" e8 j
              <label for="content">公告内容:</label>6 v" {, k' m- H1 y2 d
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
! \+ I4 v2 w1 g/ p" B              <input type="submit" name="submit" value="保存设置">
, A& [" G% W- I4 k' t9 B8 R" l          </form>
3 o9 K9 P. m2 K( U" i9 U: S& o      </div>';# n& }' m5 V6 `# E  G6 H, h
" o) D8 `; j! r8 b7 s
      // 处理表单数据( Y7 w% K: f% q
      if (isset($_POST['submit'])) {
  {% k9 F1 Z8 S          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
3 ?3 b+ T1 |4 |0 x: f% q  s          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
; z) B/ o5 @& r* {      }
: E) ~/ [7 S, S  k) [   }
, C: b) W9 b# K, F6 O   ```
: ~* M% y- w5 m1 b* P
: O' n# L% Q% }   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
: L' W2 \7 W6 S0 H& D7 C5 w. X8 P1 C8 S% v; r* s- U' G* p' |: z1 R
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:2 O$ I, P( s, Q- O; h- V) A

/ T) t. u1 N' D( t8 u: g7 ]% P   ```
/ }; ^! \& C  l) n   <?php9 V2 B$ w/ A( ]
   $site_wide_notice_title = get_option('site_wide_notice_title');4 n% y" p; ^! D
   $site_wide_notice_content = get_option('site_wide_notice_content');
4 w( Y$ n: a6 O5 d" n8 ~6 P( C   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
0 h4 X! j/ F3 A* _) \0 g       echo '<div class="site-wide-notice">';
8 M8 `) D; ~  O" X6 {" b       if (!empty($site_wide_notice_title)) {
5 c& h4 g- ~# o, {# ~+ ^           echo '<h3>'.$site_wide_notice_title.'</h3>';
% j& k2 Z- [4 }0 Z! Z. R, i       }; C$ N( I! x- z. X
       if (!empty($site_wide_notice_content)) {2 O# }6 n3 i) \) F6 y
           echo '<p>'.$site_wide_notice_content.'</p>';
4 p+ ~8 I. n; p" B3 l       }
3 i' J1 i0 R  i  t       echo '</div>';
% a4 r7 C8 g$ {1 y- O+ T- |   }9 Q9 B# V' k( Z* X  Y
   ?>2 z" F" v- _, P* q1 A& O! `" j
   ```! \8 K7 O( U! c) c1 {- j. @
6 l# \% ~) z" d. t( M" n2 |6 d
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。0 W# ^; _+ c( c3 [% v

3 z  I" S8 }% i请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

342

主题

546

回帖

3598

积分

管理员

积分
3598
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?0 |& x5 W4 S, ]$ P# x7 A. F) F

1 B/ s4 c" L* w( o% }3 H  }9 b7 S您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:% R2 C" c( X$ }4 g

7 l# f% T3 w- b; }! r1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
  m# }! V1 i: |1 @9 C# _) X- q
- a8 ]* i% ~1 j4 ?. |1 t```# H4 G5 x, {2 f9 X6 O* w6 ]1 ~
function create_custom_post_type() {* F( c+ |8 j  N1 L) H% ^: m5 t
    $args = array(( N2 ?/ ?& d6 ?
        'labels' => array(* b% r6 f3 z5 @. Y
            'name' => '公告',
4 s: C3 S! ~. \- s# n) _* z            'singular_name' => '公告': x  \7 ?. V# j+ C7 g0 B
        ),8 E3 V; G5 N- d; H
        'public' => true,
7 D+ j# {3 p) `3 D: p& s5 i        'has_archive' => true,
: [* y6 l9 t9 g% {0 O        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),, W3 j/ _6 m/ b$ R" J
        'taxonomies' => array('category', 'post_tag'),$ E. G' N' k2 E
        'menu_icon' => 'dashicons-megaphone',, R5 M! n' w7 X
        'menu_position' => 5,
1 G4 ]0 w2 r2 k$ X8 v5 g7 S/ T- s        'rewrite' => array('slug' => 'site-wide-notices')1 o  }( o4 Y/ g1 F$ H
    );& O4 F  ?/ V6 l5 S; e. Q" b
    register_post_type('site-wide-notices', $args);8 F. A( I, W/ g4 Y8 Y
}/ D4 q8 y* A, D0 S; N1 o8 r
add_action('init', 'create_custom_post_type');3 }* r5 X1 Z% t& s2 O$ O: G
```
+ e! D  S; a7 E& X
. M, x3 p, i# l0 @; `在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。& c1 Y3 K; w, G& b- Q3 N3 @* W
" E$ l% u' W4 ]' j* [- W5 F
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。$ ?& w- m( \' B2 Y" u0 a

% }' g. l4 P$ `# W. A7 N+ E3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:8 v, b" i* A& G% E) n

; n9 D+ b1 {4 D& J" F2 g/ R, v```+ {7 r, q4 u) ~# M2 I% c' X5 I
$args = array(
/ V3 h. Z" M# u& a% f" L8 x    'posts_per_page' => 3, // 显示的公告数量( |. S* y' O$ j9 E4 i$ P
    'post_type' => 'site-wide-notices', // 公告文章类型
/ Y4 I. O  l" ?" x    'post_status' => 'publish', // 公告状态
# Q, c% r- T! \' [( W! ?    'order' => 'DESC' // 排序方式; b& k4 k# k# d' e5 ~% A- u
);( y# }! I6 X/ D' i8 R- b8 N, j4 R
' z; c5 d8 ?$ N  q
$notices = new WP_Query($args);
. C+ w$ }- k0 E% \& cif ($notices->have_posts()) :+ f9 @; h  U% A2 p# M
    while ($notices->have_posts()) : $notices->the_post(); ?>
6 Y7 `$ Q; S! m        <div class="notice">2 q4 \* N$ s6 G# |5 c
            <h3><?php the_title(); ?></h3>. X' v4 W5 V! M. A' L' t
            <div class="notice-content"><?php the_content(); ?></div>
3 h0 j8 A' f1 g# r        </div>4 A. V4 W8 W$ T" n, J0 z" [3 ]9 o
    <?php endwhile;
, w/ o* Q: E' s, welse :
& H& g1 a8 {6 F4 Z, ?# U6 U6 [: z    echo "暂无公告";6 W/ W/ F" J: f/ r! ^* H) B
endif;
7 C6 y, ^1 E. F* F7 t( Lwp_reset_query();$ [: u# F7 b, k: t$ z( E% r2 ?5 n
```$ c9 r% z. n5 g7 N+ ?8 ^! ^
& u% |  z3 o* O# H3 Z; H" t
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
1 i0 ]/ e! H& l! m7 ^
+ H7 R6 X6 a, `' P6 R1 E以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

342

主题

546

回帖

3598

积分

管理员

积分
3598
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?$ W2 G: y3 u: \% K) L/ E
9 p& }4 ]9 p, e+ r- T% a- t  J( a+ q; q
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。+ z. [# I" Q' z

! R( P! B. K" B% B  L以下是创建自定义插件的步骤:
, e7 |  T, x4 h  }3 }) `9 C) p6 x# W2 n* d( Z& R
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:- c3 |" L2 r# {+ v- @1 u- D1 q
2 r. E/ r7 j; u2 x
   ```
' s$ H  B1 p+ T, X, U9 |   <?php
$ q/ Z# u! C/ X8 Q) V6 B: o   /*
% D4 S3 O9 g- Y& }. d   Plugin Name: Site Wide Notices Plugin1 R0 _4 O4 r( z9 n9 k8 ]1 x# k
   Description: Adds a new custom post type for site-wide notices.
) ]5 T, D  e6 @   Version: 1.0
) u- @$ @5 K8 `/ D1 Y1 W   Author: Your Name2 p( O: }, A( g3 |7 ]. y
   Author URI: http://example.com2 l& D3 Y6 j: G/ p' O# ?
   */+ P: e* E9 f: H/ J) ?6 }  o! K

0 n# Y7 H2 E. }; `% S0 H, l5 w   // Add plugin code here...$ r+ }7 @# t  ]; B& [. K
   ```
& S8 l0 ^" o) v$ H' Q" V- x' Q3 L
0 D% v/ o. {) \4 B   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
4 @; [; C' N' i1 j, u, q1 x8 }# O1 i" h
# |) a/ Y. ]; |: A, \, g2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:! I+ `) o2 B% B$ V( d: r

4 Y" s) \$ n- e1 `* _   ```
* H% ]5 `1 K0 f+ s+ q; a; K   add_action('init', 'create_custom_post_type');; Q- p7 K( Z8 y) I  b
   function create_custom_post_type() {$ C* e. W$ j5 Y+ Q
      $labels = array(( f  q3 A  C/ m4 U
          'name' => 'Site Wide Notices',
6 T2 P- F) f1 ]# W3 s# j. u1 e' B          'singular_name' => 'Site Wide Notice',1 Q2 G% Z" _0 @% U& x1 X4 t
          'add_new' => 'Add New',
9 j  q7 C2 `8 n" z" Y( {6 ]          'add_new_item' => 'Add New Site Wide Notice',+ A: ~4 ?/ Q2 [/ M0 _! u- L& S
          'edit_item' => 'Edit Site Wide Notice',
2 k; @8 x9 |2 x  \6 R9 g# A          'new_item' => 'New Site Wide Notice',/ m  z) a* A' K: n, _- _
          'view_item' => 'View Site Wide Notice',& u3 _5 F1 `" Y
          'search_items' => 'Search Site Wide Notices',
' U8 P) C% H* |" i2 [& S. O6 E          'not_found' => 'No site-wide notices found',
6 [9 ^- y* d- c& N& Q/ F1 R          'not_found_in_trash' => 'No site-wide notices found in trash'
9 j9 A1 @/ E8 U" c- M0 r      );
5 F( N; ?3 C- W9 b0 k1 ?
, E, d# x" U  c: }8 e      $args = array(6 w7 ~) Y1 @, T1 k$ R! _
          'labels' => $labels,: d, j* @4 S! \" Z- ?# O2 V
          'public' => true,5 g4 L' b+ H& D5 c1 r1 U8 R! K1 i
          'has_archive' => true,
& a+ T( |! Y' Z5 a+ d5 C          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),5 }$ [/ q0 F3 C5 y/ H0 l. T( N
          'taxonomies' => array('category', 'post_tag'),( s5 _- L! `, F) Q
          'menu_icon' => 'dashicons-megaphone',1 \' r3 ~9 g0 ^) J1 o' D- g
          'menu_position' => 5,
1 S: g% z( F2 r. }          'rewrite' => array('slug' => 'site-wide-notices')
6 H) q; T3 z' v/ {      );
2 a, }( L  x* L6 a9 V
- x3 ~, m( m8 V$ V2 g% [1 D      register_post_type('site-wide-notices', $args);
) \' i* z; U/ \& L( e   }% |$ b. z$ S, L0 e5 l
   ```. n' F* k$ j+ @$ _9 b
6 N( F0 [7 J/ b& p; s
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
8 X8 }/ t, |% ?" }8 T# r! }) J4 C" p& ?8 z5 y3 q( \
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:  Q9 k7 @0 ~% v- }0 r* e

: F4 d  T% m: u8 i   ```
4 X' \/ b. e+ L( h   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');+ V% W8 U; O4 Y' C9 Z
   function add_site_wide_notices_boxes() {# @4 ]9 a; a) K- j
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');0 G  d& N* y# @2 L
   }/ f" T. ^/ Q; B

4 B8 x4 c; X( X  b   function notice_details_meta_box($post) {
" H8 n% K( Z0 j3 b      wp_nonce_field(basename(__FILE__), 'notices_nonce');
3 L! N( W4 ~3 l( o9 i      $notice_title = get_post_meta($post->ID, 'notice_title', true);; }& g' U2 s& B! V
      $notice_content = get_post_meta($post->ID, 'notice_content', true);" L, b+ _2 K3 Y7 ]
      ?>+ a5 B4 \5 W$ C8 c
      <p>
  b- o( d7 N6 m          <label for="notice-title">Notice Title</label><br>) u2 k8 L5 j" p/ q" r
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
! u( b" @. i) y  ~0 y# M      </p>
6 k! n0 C2 [! r8 R" H& a; a      <p>7 D8 x+ q5 Q. a: R
          <label for="notice-content">Notice Content</label><br>6 \; l1 o) z& o3 t" x
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
7 S- t- M4 Q0 ^      </p>$ r( q6 @3 p8 l
      <?php5 \. \6 a8 G1 S. `6 s
   }
9 b9 D8 ^* O; l7 a+ h  }- j; R8 _
   add_action('save_post', 'save_site_wide_notice_meta_box');
4 x6 v( \% |/ ^* J3 y   function save_site_wide_notice_meta_box($post_id) {
3 J( U/ [- ^% v2 ^: t$ t2 C      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__))): f( G2 [* X) e: Y8 |1 D+ ?" T6 e% m
         return;
" x- h+ M; P5 l% C3 A      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE), ~" U, D: o! X; x  m
         return;
$ |8 c7 U7 d0 o  d" F9 G9 T, E
# m, f) r7 B5 k' X      if (isset($_POST['notice_title'])) {
) b3 k8 g/ O) m4 r9 d" \          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
. g" u0 l1 ^) P+ J0 h" i$ \3 Q. s3 d      }9 N" X: [& y& @3 N5 F' p
      if (isset($_POST['notice_content'])) {
2 M# s9 p) t! C* a4 s/ D: D& u( ?          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
) @; v# R6 |9 r) B. K) v/ ]      }  l" e! w  Q! E# f+ m* ^
   }
" b& Q3 E* z4 s  c+ o4 r9 f, M& X   ```
3 |2 o- H6 w/ s4 M' u1 p! q; K
9 }' U/ u3 a1 s2 F8 @- e/ l6 E   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。* B7 ~$ z8 b; Y- Q6 ^
4 R+ G& ~  H# }% T5 E
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
/ ?: l2 x5 C% C2 s! a! h9 P, R1 f$ p/ H- J0 B# n( J* M9 I  |& ~7 M
   ```
  ~: R8 n! r2 i4 W$ [2 [3 @( c   $args = array(
6 H! b0 m0 g$ Y. a      'post_type' => 'site-wide-notices',
9 E2 N) w( }% l      'posts_per_page' => 3,
5 d3 @/ f" A7 e# @2 x+ ]      'order' => 'DESC',, b( g& C; I4 A# k, d: R( h
      'orderby' => 'date'& w; I/ |  _  }- p
   );
" b1 M" |6 Y) `& G! r' \" M& }( u   $query = new WP_Query($args);5 f. s! p- w* M$ v: b8 J
   if ($query->have_posts()) :1 C: d- ~8 W9 G3 g  N0 n
      while ($query->have_posts()) : $query->the_post(); ?>
# o6 x& f7 u6 _( n4 ^! @. b6 @5 k          <div class="notice">' s% |7 K) Z0 [2 s' f; B! d. X
              <h3><?php the_title(); ?></h3>
4 ^3 c% H" ?( R1 |$ D3 K              <div class="notice-content"><?php the_content(); ?></div>
- E/ j1 v$ Y1 i  d& N; j          </div>
! E, Q9 v4 f1 ^- |1 H  ^! }      <?php endwhile;
- I3 N: B( t. U# ~0 v) W) S, f      wp_reset_postdata();
5 r5 ?8 y# j9 F1 T$ H   endif;
( B  `2 E( q  n0 z/ g   ```
7 E' K: Y7 T: r" W( o$ L- {0 v, S5 ]) S6 t- Y1 j. n
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-29 12:23 , Processed in 0.013651 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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