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

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

[复制链接]

343

主题

550

回帖

3613

积分

管理员

积分
3613
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
& _# E* G) u0 ?, g0 `
. b' c: e0 l# \& c) T1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
9 I: Y& p' t* Y' I/ v
0 ?* p  Q( x8 f; n# v2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。& M8 V2 [6 [( L; ?

9 q7 Y+ z# N* W  Z$ Z: T2 X3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。+ S$ n7 z, m* l7 \- T' d

2 H0 H6 f2 v- Z: X4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。1 Q6 e$ `8 l5 F4 ~' k
7 X* a# F  I5 Y) f/ j
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

343

主题

550

回帖

3613

积分

管理员

积分
3613
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?3 V& b8 R; H3 ~  F+ W2 W
# C& l& H6 u3 W5 @
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
  d; X. s% ], J, H4 A
, w1 b. T; R( y& E1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
) _9 X8 s. L9 X, h2 o' l
4 ^7 l  h+ s) g# _, r: H4 n7 ]0 C   ```
0 I( P+ @' M. v1 h   add_menu_page(
. b+ i* n3 v% b; X8 S       '全站公告',# ~4 L" S- R# V; X
       '全站公告',4 K2 ^3 e/ ~. c! ^  ~0 I8 J5 Y1 [7 k1 b3 w
       'manage_options', //需要的用户权限
: @4 O6 E. J: g1 q9 ~3 j       'site-wide-notice', //后台页面的 slug! t8 a5 q3 L9 C, q+ }5 D( ]0 U
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
. U- K% ~! s' H; Y" S' R" S9 k  I* L       'dashicons-megaphone', //用于显示在菜单中的图标6 \# c$ E1 g- K% K& l
       30 //菜单项的位置2 M2 ]& N, i/ z9 `  `5 f" D: R
   );
* [7 e3 t: Q2 E2 c$ [   ```) a1 u+ u: n  ^

9 `' k8 s7 U9 W# P   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
3 Q4 m$ C+ [( r9 W$ D% `, m# {- L4 I9 \* N
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:: z( x2 c9 ]* h- o; ]
" R+ }: u9 M  `* j: e
   ```
$ F6 O0 v' a# B3 }   function render_site_wide_notice_page() {6 \. j$ s$ o8 v6 F/ f- {" r3 _, g
      // 渲染后台页面内容$ r  m0 @( V) d
      echo '<div class="wrap">
1 x" _# T- w4 m1 y% S: L          <h2>全站公告</h2>
8 \$ P0 j. N; s, n* W( N) }6 B          <form method="post" action="">( i6 m! t8 Q  s2 J3 A. C: V( B& N+ W" W
              <label for="title">公告标题:</label>
% ]+ R; x1 `2 h+ X$ Y              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
/ L. j) H, _" x. \' m5 Z              <label for="content">公告内容:</label>
1 }3 L- s+ o; {0 q) @7 U+ p* ~              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>7 j8 l) U; x5 N  c- W8 ?
              <input type="submit" name="submit" value="保存设置">, p/ c6 B2 z4 o- M# Y8 r
          </form>
3 Q$ T( k2 M5 e5 Y% \+ ?' L      </div>';
2 W" d1 w8 L# z
  X* @2 r4 j8 \! d9 t, l      // 处理表单数据, o! c9 S, W8 G, o
      if (isset($_POST['submit'])) {
* `' z  P5 p( J# x          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));) s) w% a* F% S5 Z" r
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
+ G9 t0 [$ G7 W1 a/ U/ p      }9 n$ [4 K3 Y5 _/ o0 w
   }8 k- p5 L$ S. R- b
   ```( _8 z' F" d+ p8 x+ i

# C9 Q  ^: h& i# R6 F& ]   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。# G" v+ Y( N' w& m/ f- c- N
/ G0 x* t$ c- ]+ _7 X2 m3 n
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
, H5 ^: v# x: Z6 h) G/ C7 J
& |+ O4 h) A) a3 G' K   ```2 U8 W/ h8 G8 N9 K/ A4 U& W: U
   <?php
2 |5 ]- f% J# B& U6 L+ B   $site_wide_notice_title = get_option('site_wide_notice_title');1 M! |$ D4 e+ R" g2 _5 T
   $site_wide_notice_content = get_option('site_wide_notice_content');
% y5 R$ B* e/ p   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
* ?! k) b- P2 p, ^- G! j       echo '<div class="site-wide-notice">';
# o' Q5 ~2 a' I6 ^' D# ?3 k       if (!empty($site_wide_notice_title)) {/ m  B- p) _6 S" h# _
           echo '<h3>'.$site_wide_notice_title.'</h3>';% V2 h' k. d) F; R- B" k
       }
- @' {/ G. d6 J- {5 O5 Q       if (!empty($site_wide_notice_content)) {3 ]' i+ x2 n- h8 {4 b6 i$ X, _/ F
           echo '<p>'.$site_wide_notice_content.'</p>';
1 A# z9 n* v. |, D2 Q       }
8 \5 H  ~, E1 R( r       echo '</div>';7 W5 h' k  K7 ?" d/ V. g
   }0 M7 a- F3 m$ E! [/ m( p
   ?>8 _* H( M: X3 T7 e& {: ?' {  B
   ```
) O5 i5 W" M6 @  q( P( D: r# o& r8 y) N$ ~& J
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
" ^1 c6 K2 m5 t8 ^  y6 ?' Z# Q5 Z! Q* h
7 o+ x9 V& y6 [1 V; C% a请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

343

主题

550

回帖

3613

积分

管理员

积分
3613
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
( p# L' ]8 i9 V8 s
, D9 k4 E6 r% f" Q您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
. [* C7 j; J' D1 V, W( g% r+ B1 t, O# i4 Z' w# `
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:( M1 n2 l2 O5 ?1 [6 E% `: a4 |1 B
8 c" i9 t& @/ G/ ~+ p
```# T- o5 }, x& e) R7 L: t" q' U
function create_custom_post_type() {; T* S9 Z4 u/ [$ D4 K  b7 K% t5 v
    $args = array(; F# }# m4 F" A9 a$ C$ u
        'labels' => array(- x  `! @& ~5 `7 ]0 _
            'name' => '公告',
- D. j5 o9 ]$ d; B            'singular_name' => '公告'( m& V# [0 t' Z
        ),8 X# Q7 [/ R3 R; j
        'public' => true,( @2 Z. i5 q- y2 B
        'has_archive' => true,* m- n& c4 J  z* P; T2 q
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions')," Q, P/ n* r; W  X( _0 q
        'taxonomies' => array('category', 'post_tag'),8 }9 S8 `% n( {  e
        'menu_icon' => 'dashicons-megaphone',- e! |# f, g1 t; X1 k
        'menu_position' => 5,5 ], Z! W. H& Y- j8 D) n/ W
        'rewrite' => array('slug' => 'site-wide-notices')2 f" X8 O. G5 n4 r, T
    );
- |- D) |5 b; ~- y; A2 N& E    register_post_type('site-wide-notices', $args);
1 t8 v  L5 e8 l/ L" d. B) ]' ?5 o}
- k. p  g& n5 E$ Aadd_action('init', 'create_custom_post_type');
, C4 F% j9 W( y0 y8 ?3 o```& l: {" _% h) l: W$ Q7 e8 Q$ k5 N% }1 Y

3 N2 G3 X" L5 ~( B在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
; v/ ^; E8 c/ }) f3 K% o7 T: Q+ ?
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。- L, H1 n1 s: L8 \! Z3 t

' U4 s% ~, P* b1 P) ?- C3 ?3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:1 E1 o1 p0 m5 V. l# [

7 u& w; V3 y0 ]- m6 ~```: V% f1 f8 I# b  C0 d+ }. V
$args = array(
  E! D; p& Z! ^    'posts_per_page' => 3, // 显示的公告数量
9 Q$ J1 N% J0 Z. U1 [    'post_type' => 'site-wide-notices', // 公告文章类型- S4 Q5 o8 O* k  d& U
    'post_status' => 'publish', // 公告状态7 U/ D; e* y+ W2 ^4 D# T4 S
    'order' => 'DESC' // 排序方式
/ K  R3 p6 x* {7 f' R);! r7 p9 s* e4 ?2 m
5 |* P1 _' G: Z& a$ s0 x
$notices = new WP_Query($args);1 D& b0 U  s2 f$ Y
if ($notices->have_posts()) :
( J) o" {6 k$ `. ^  d    while ($notices->have_posts()) : $notices->the_post(); ?>
  S  I- w  c) {- x- p$ s        <div class="notice">$ s2 J5 K: @  [$ |# u
            <h3><?php the_title(); ?></h3>5 X( y5 j% b2 ?9 J
            <div class="notice-content"><?php the_content(); ?></div>
2 D/ w* O7 l. {/ d        </div>
7 [# e: Z8 a1 @5 d    <?php endwhile;* J, P$ Z1 o' g) M9 ~
else :, T& r# K+ E" j
    echo "暂无公告";
% q- l5 a* _- ^2 W) ~3 B% w, uendif;8 m* ^4 m1 Z/ c) _0 U) P. {
wp_reset_query();
5 e& E$ z2 h) S$ x' o1 i4 p```- ?! R7 Y, u2 I( p0 B6 h( A

# z6 R3 J- U+ |3 L& k! u8 w: a这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
9 B" o1 S+ V  R8 N1 D
: y3 C7 y, ~. \! i0 W2 }以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

343

主题

550

回帖

3613

积分

管理员

积分
3613
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?! t  i. j. [: K: O

8 |" C  O; b& C) v8 p3 i+ i" q( r如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
4 R- ?* @% f% x, G
. i& W7 ~5 f2 ^# P5 {- y' }以下是创建自定义插件的步骤:
8 c! s4 A( E0 p4 F- S& X: s! s; u6 Z0 S& |/ ?5 t  a# i
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
0 U- e) ]6 G$ M6 V+ h9 i
2 m) b/ j# o$ f6 ~   ```+ x' B0 E% G* C4 K+ |
   <?php
  O  ?5 d, H& c   /*' b2 C0 h4 H. ]7 X$ R
   Plugin Name: Site Wide Notices Plugin/ K; Q# k# _' Y9 \2 m8 {7 g2 K8 r
   Description: Adds a new custom post type for site-wide notices.. ~! [) s0 Q5 g
   Version: 1.0
6 E  e, t( o. _/ _( V- p   Author: Your Name
4 G! M; |! j9 k5 x1 g( M   Author URI: http://example.com
. n# c; X2 |5 h; X3 h   */
% L( c5 b' K5 Y1 K" ^8 }
5 o, G: U2 k% w   // Add plugin code here...
5 P) B% X3 f- N$ G  P; J   ```
8 Z  M3 Z. I) q* L' E. o1 K0 m+ L  P/ j2 W- O) Y+ _7 C
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。- O& ?9 S: s8 Y; L' E* n9 M+ d/ Y4 Q

# l% `3 ]+ k: \/ h8 b2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
7 M8 w- R. V- F% u5 [" i
- w: N8 U& H4 X7 O5 m9 @   ```
& d$ C- t9 ~: w- Q   add_action('init', 'create_custom_post_type');
+ Y5 j1 o( d  [: p% S2 G   function create_custom_post_type() {
3 z& ^- U( P+ Z# D  T/ L9 ]$ u7 R      $labels = array(
. R( N/ M" R; U* z          'name' => 'Site Wide Notices',, o& s4 g* I6 X+ D3 H+ J% N
          'singular_name' => 'Site Wide Notice',
4 `  E. A; {4 A5 p3 u. x) ^          'add_new' => 'Add New',
7 v- v3 F" }4 _          'add_new_item' => 'Add New Site Wide Notice',# }  m- s/ B, D8 V2 o* G5 e
          'edit_item' => 'Edit Site Wide Notice',0 q! f, A  ?0 j7 S6 {
          'new_item' => 'New Site Wide Notice',
! r, W) n& j8 {1 O/ e          'view_item' => 'View Site Wide Notice',
# Y+ {: g+ \2 L# W          'search_items' => 'Search Site Wide Notices',+ n' y! X& R, U/ r
          'not_found' => 'No site-wide notices found',$ ~- t$ p: F7 u, J! n
          'not_found_in_trash' => 'No site-wide notices found in trash'! K( E5 J* n: C# F1 U
      );
6 `  `$ J, _' a5 E: _, }2 w
# m4 p  o1 [& X: @3 \) h; g      $args = array(- _2 B( ^7 p( S1 p- H) ~! x. c" D+ g
          'labels' => $labels,) l- _4 O; N) b0 E2 N: `. m
          'public' => true,1 q) T9 B* U+ Z9 [3 B. M+ t
          'has_archive' => true,
! ]9 `6 ]/ c. q: \. ^          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),% d: Q7 ?, T- L/ \
          'taxonomies' => array('category', 'post_tag'),
' F' x+ X0 h% G          'menu_icon' => 'dashicons-megaphone',
7 V- X$ w; }/ K4 A7 Z7 J5 b          'menu_position' => 5,6 o9 Q+ d: h( ~+ b7 S4 z
          'rewrite' => array('slug' => 'site-wide-notices'). u5 S( b2 t1 l1 p5 Q/ \( X$ A
      );2 p! z$ g" a/ ]: ~+ V

2 U) Y2 W% g9 R- v# h7 E( K      register_post_type('site-wide-notices', $args);
. x2 y& o: q% N" r   }; V. A8 g. W1 C1 j$ [
   ```
9 d( g. p: C1 [7 h4 _
% i3 o0 Q, ?5 W; _. W8 Z   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。! K$ K7 s  F* l( n$ u
2 P  H: x/ p. r  K
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
( s* s! w8 q5 s4 l. m$ Z
. ?6 V& W# S/ F# K: z3 N# }   ```2 Z7 @  C: m+ r; W" U
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');9 r) o, O0 S$ T% i. `! O
   function add_site_wide_notices_boxes() {
* P0 l3 i1 u2 Z! z2 g      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
5 ]/ T+ D* A8 C$ V   }) P: w' X9 R* _* {7 o4 Z2 N
; A- |# U+ E& l" x5 t4 E8 r
   function notice_details_meta_box($post) {
1 x' P2 e: ?6 X, ]3 Q      wp_nonce_field(basename(__FILE__), 'notices_nonce');" _  U* }1 j7 n7 B
      $notice_title = get_post_meta($post->ID, 'notice_title', true);% J3 W: d0 N' u: G( m- W
      $notice_content = get_post_meta($post->ID, 'notice_content', true);1 _8 H0 s) ~0 U6 P! R- o
      ?>
0 o9 o- f# {. l, F      <p>
$ U3 b2 l$ ?, c- l" T' G          <label for="notice-title">Notice Title</label><br>
+ s7 S1 Q. h& ]* U          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
& @7 s7 ]9 Q& b# d( h& a      </p>: I% v( f, Q( |$ d7 t
      <p>
: ^& |8 X9 W/ \- W- |; }0 k' w          <label for="notice-content">Notice Content</label><br>
: b* a% w7 H+ N; |" R7 J9 h% {/ R          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?># M- i4 y3 d3 V3 G4 d: I( k. _  t9 L& [
      </p>* h$ C7 P' P* v7 D2 }! p3 n
      <?php
$ a: }' E4 p, o+ ]1 A2 h   }3 L, J9 _. P* {8 Q4 L9 o" f: w: z

* g! T& Q$ l% X* M( ^/ s) A# k. Y   add_action('save_post', 'save_site_wide_notice_meta_box');
/ o3 E5 Z( C- k+ ~- f9 k# V* K   function save_site_wide_notice_meta_box($post_id) {
6 q- v7 ?3 y0 \9 Y: U! B; G4 K' p      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
' C9 e0 _" R+ [0 f         return;0 a' Y8 p* H) }9 z
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)8 w/ O! H( J" A6 {* _
         return;( X$ z* g9 l. @' p
% \" J6 F) V- n/ v  [' T/ i6 b1 s
      if (isset($_POST['notice_title'])) {
' n1 B+ i& n2 ?/ A. j4 U          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
5 w: X' e" k& l5 A  s# E      }
/ g% N1 ^  E# N% \      if (isset($_POST['notice_content'])) {; C! k9 D  C' U! h2 o/ S3 u# d- c4 E9 l
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
% s: D. R9 C; v- v      }
9 Z* Y( Y* ^4 g" c* O3 ?9 L   }$ ~" S1 T, f$ ^  \9 J' a7 [
   ```
# U) R( ?: j, C+ m+ R
' P9 S5 @* P- K   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
% t: {- t; l: S7 |. {
8 u8 s4 x0 Y3 j! i4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
. `3 _0 ~$ V/ n
* g. ^) x9 x9 R; a) \& F" f2 w   ```
' {  F6 I" x8 g; Q   $args = array(5 I- S$ ~* t3 E" g. o
      'post_type' => 'site-wide-notices',
% g) }. k- |1 y$ H1 |- t      'posts_per_page' => 3,
( |8 k" i1 K$ c! r' t: y0 Z" i      'order' => 'DESC',/ F$ ^+ J7 w" T% s+ |6 a$ n
      'orderby' => 'date'* }" l; _/ ~& V9 r* ]+ ~
   );$ L3 H# d  \6 ?) O( W* n3 h
   $query = new WP_Query($args);
! H, k8 D1 T6 ]6 V: R   if ($query->have_posts()) :0 F# u0 I$ [1 ~) v# c. P
      while ($query->have_posts()) : $query->the_post(); ?>
6 C3 @7 b+ H& g! Q, y          <div class="notice">" l9 k4 U0 V& P0 ^- n* w& Z
              <h3><?php the_title(); ?></h3>
$ Z+ _/ r5 m7 v. `              <div class="notice-content"><?php the_content(); ?></div>' [! Z9 R% e7 ~. i' m: F5 _" T
          </div># E) o: `1 j& B/ p
      <?php endwhile;/ u" M( [/ V6 x' s& @1 U$ e" A
      wp_reset_postdata();
1 L/ U" c! U& \( |- P   endif;0 f$ D  b; E* H6 d* s
   ```
, f) Q6 u0 e" S$ K9 C! f
% X% [" \# N. S& E0 i& v   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-30 18:34 , Processed in 0.019865 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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