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

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

[复制链接]

338

主题

521

回帖

3468

积分

管理员

积分
3468
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
' j  L& f5 T+ r9 C  a! R( u% S3 }& |+ C
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。  ^. i+ v7 C+ n% k& F: x8 e
. j: {! a2 y' F5 V; i8 w4 f' w& q5 Y2 |- G
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。8 K% N6 V; D: _$ B" v, C. J

- j4 d# k* D% j3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
# _& k. ~5 J& b& z4 T* r) h; z4 @5 K$ q3 l3 Y( y) i
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
$ `2 u9 c$ f* X8 ?/ P
% `( T: t+ z+ q8 X3 j注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

338

主题

521

回帖

3468

积分

管理员

积分
3468
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?: A: W8 X& N5 L" n0 T4 O

/ M/ [  K, L6 f" _1 [如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:5 q9 V" ^; O  e" q: a, ~
" J8 o; E! O) j1 w1 d
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
( V# f( x, C, t1 c& m! n3 n" S- g6 P
   ```
- J: ^" g( r3 t; [   add_menu_page(
" V( R- ~% M; _' r% C+ u6 h       '全站公告',
+ {, \, Y& x2 f7 t       '全站公告',- K8 c8 `( Y0 y* B/ {
       'manage_options', //需要的用户权限
% m) [( d# C5 W  C  {: Y1 X9 g' m       'site-wide-notice', //后台页面的 slug
' e$ n' |/ `6 d7 _       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
: ]" A8 i" d& N. X/ d       'dashicons-megaphone', //用于显示在菜单中的图标+ L5 L, W. {( _8 |% T
       30 //菜单项的位置( V) _& |* Z+ j7 w7 \
   );
4 a, p# b7 s+ F0 z   ```
) r: k  T: ^7 m0 U. u% ]
, v" ^0 n' x2 m- |+ ]   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
  {2 u9 S0 o) m1 x
$ ~7 _2 k: m* P8 V4 E% R* v. k4 T2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:& \: k4 L6 ^; C* ]/ F% d4 u% ~$ ]

% ?% s  v0 _. v0 _' K2 @) \, Q# L( ?   ```* E! A1 f- H, l4 m; o- M; j
   function render_site_wide_notice_page() {) t/ G/ v2 C3 i3 I# l
      // 渲染后台页面内容" `" R3 X2 C  d' b
      echo '<div class="wrap">7 f3 X" P" ^1 _
          <h2>全站公告</h2>; ~4 F  a& o! [/ \* k3 O+ G( v
          <form method="post" action="">/ V9 s  o9 i2 b! p9 G5 T
              <label for="title">公告标题:</label>$ `- y# B; X0 K% U4 H0 o$ D7 Y
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>3 a, ~% f# Z7 e. m( |
              <label for="content">公告内容:</label>5 Y/ |! `! P4 m: f0 o0 l" N- S, Y
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
& G5 _. D( M6 N; ?# {7 @& H* b              <input type="submit" name="submit" value="保存设置">5 \* f, @. Q* u9 Z: w8 o9 {
          </form>
+ ^% A6 z- B" C2 s' }+ s7 R      </div>';, x. X, e1 j. S
. K) `# W+ E* X" L6 t* }$ O
      // 处理表单数据7 |& x+ \2 [, ~
      if (isset($_POST['submit'])) {+ ?, X6 u' _7 H5 {9 \9 o
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));* K3 k# y* r) ~
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
' C# G* Y+ b- P# g+ Y/ w      }
' b% {7 c% `3 ]' W* C8 P9 c   }8 m8 Z9 ?3 ?6 k" J3 P, F0 y5 ]' |9 z
   ```
' ~/ j5 {% V0 ^
' e5 x5 F( L* x, L! v+ A" b   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
7 N. d% t) K8 l) N# A  g& p: _/ U- h3 Y* _, D! @/ s3 F1 i
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
5 ]; i: A3 o7 R9 d+ H  x- Z& B. A5 k
   ```1 i/ [: l  T7 Y! D/ M
   <?php
# r7 e: k% M& @8 p: o   $site_wide_notice_title = get_option('site_wide_notice_title');. s- V  y3 C9 }
   $site_wide_notice_content = get_option('site_wide_notice_content');% y# j2 W( A: ?' R) m; u2 o& U
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
% i* B5 s' F+ g" o+ b       echo '<div class="site-wide-notice">';
1 w9 a; }7 [' [" P       if (!empty($site_wide_notice_title)) {3 `# j* m" |2 l4 m& X1 X
           echo '<h3>'.$site_wide_notice_title.'</h3>';
9 V& o5 y% w& q! p$ v& A8 [- @       }
: [/ g+ n5 }+ d+ w( P; v       if (!empty($site_wide_notice_content)) {4 N  S- ]" e+ w4 \2 s& q! k
           echo '<p>'.$site_wide_notice_content.'</p>';
' C9 i% e' ^/ `7 x+ s; X       }. W2 |) P. \$ ]
       echo '</div>';. w  M4 h  q5 e# Q
   }
  ?" m: Z9 ]# H) U   ?>9 H7 A2 {- ^9 a. n- J
   ```
. r$ J) `$ A7 `9 d: g* C* r  O9 x1 |% R( G, [) n5 i( A
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
% ?' ~) o$ Q) @& r0 t# A
: ]! @+ M6 F+ y7 S3 Z请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

338

主题

521

回帖

3468

积分

管理员

积分
3468
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?4 N" q" u" T2 F; e" d

0 ~3 w; x7 X# M- \您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
- b, Y/ \3 v, u" S9 g' m  k9 H8 M( p/ C  V  Q3 k* p2 n! \
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:- w& Q2 Y. r4 G) a8 H+ E
" S8 f4 @! t2 k+ W
```
- I9 \  ]- u6 ?, xfunction create_custom_post_type() {1 l0 Q% U" [' C8 {- S
    $args = array(
$ k" v% Y( J+ g        'labels' => array(2 o& M" d1 L' k4 _; W) Q3 e
            'name' => '公告',
/ v+ [! m0 _7 i) x            'singular_name' => '公告'
/ z4 p+ F& s9 t        ),# \# z; i' k# Q/ H0 x
        'public' => true,
+ d+ [9 ^+ M) p* s( A        'has_archive' => true,& d. ?! r' o( n+ `% H
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),2 u7 V" `$ Y- l8 Q, y' Q, U
        'taxonomies' => array('category', 'post_tag'),
" G* F4 e  c5 U% H        'menu_icon' => 'dashicons-megaphone',
, t6 B; W6 ]$ l1 g( X7 Q- W+ w        'menu_position' => 5,$ Z5 p$ l8 F  S5 a" R& C
        'rewrite' => array('slug' => 'site-wide-notices')
+ N7 Q/ u! Y, d. P0 _6 F0 P5 d9 B    );" z, K& B# |: ^
    register_post_type('site-wide-notices', $args);
' A/ j2 @. e7 r4 r6 `}
* C' F% A9 j2 j- g) |2 badd_action('init', 'create_custom_post_type');0 Z, K. G* a; x( t/ @  ~( a0 F! e) W- v
```" q1 K6 T& ^. S& Q- r2 B
% k4 }7 l  \5 [8 Q9 p! Z
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
# e! e/ Q8 \3 C% h7 m4 K& ]# ], e+ A8 D9 t
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。" y4 Y, x' J# D) I3 A

6 a- B8 }% _4 y. r& G3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
& ]8 @3 z+ \/ e# ~- a+ E# _8 v* S  K( L7 b- L+ ]1 s7 `
```8 r4 K) G: W4 P, `) _4 j# @
$args = array(% J$ W# g! k$ C* J# s
    'posts_per_page' => 3, // 显示的公告数量3 @6 [( X3 [/ y5 l) C+ f
    'post_type' => 'site-wide-notices', // 公告文章类型
* K: m0 E% Y4 d% z0 w! a# d0 T, P0 o    'post_status' => 'publish', // 公告状态# g9 |/ B. f% A3 R
    'order' => 'DESC' // 排序方式& I3 d% f* }" b8 n0 c8 z9 t
);
- s. {/ k( h7 c9 H, a5 k  }8 h# n; |
$notices = new WP_Query($args);
; m& U# M# f$ j2 S# jif ($notices->have_posts()) :. r# B1 o7 j; y0 C2 T$ |
    while ($notices->have_posts()) : $notices->the_post(); ?>5 Y, J/ H8 i" `: I
        <div class="notice">2 Y5 }0 d! \0 J* M' r, l0 z* w% j* T# I
            <h3><?php the_title(); ?></h3>5 V1 B2 r; i1 r) Y9 ]. h) @# b
            <div class="notice-content"><?php the_content(); ?></div>
& P& [% \( \3 c        </div>
; W3 C% |- w' p    <?php endwhile;
6 J* p& n2 f7 a7 O# B- f4 selse :2 g$ M# J- c2 c2 I* _
    echo "暂无公告";
9 H4 ~) i- v  P* k9 |4 T1 Xendif;
3 F. c: E: |) z5 bwp_reset_query();
& k. ]' ]& q7 p4 k1 f+ T```% D6 w# _. P) N$ N3 ?: A. Y! b" I# a
% ?3 L1 m) f9 J7 k" J1 ^+ W
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。$ p$ x0 T  j% \4 W( u/ g2 W

' D4 `" J5 h& R/ E1 P7 n以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

338

主题

521

回帖

3468

积分

管理员

积分
3468
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?, n6 u& ?/ Y+ L' z

: G& w5 m: J7 P( N如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。2 b# w6 {; ]6 w" M# y- C. S3 L  I

: t4 A% g9 s& E4 ^7 Y6 _以下是创建自定义插件的步骤:2 }- K. o0 n5 M* n0 B) [
5 X& J7 l. \5 N- Q/ Z# C5 L
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:4 f$ [+ j, s0 _2 x! }+ L: H. T
  w  `% X1 R% }5 n' [, {4 E
   ```) |; j/ H# X. d5 p4 y# \6 @8 R  `
   <?php) ?) c# {+ S5 W1 K/ u  H& H
   /*
5 @1 m( @" X# }% E0 U+ {% ~   Plugin Name: Site Wide Notices Plugin
- w: G0 r( W  t$ N6 n   Description: Adds a new custom post type for site-wide notices.
, H2 L- S' A4 f* T% d   Version: 1.0
- G. ]: A7 u& P1 n& d   Author: Your Name# w: D4 J, Z- k- i
   Author URI: http://example.com
- u8 t, h* b* A  Y9 r7 W5 D   */( B; {5 T% w/ t8 M4 a) @$ ~5 Q
0 c$ X. P6 x0 r4 g5 x6 B" `  p( A; \
   // Add plugin code here...
! u# I) q7 q7 ~2 E: \6 X9 i   ```% |; T" L# _: ~: X# c% @5 t
( m4 ?3 d  f7 U% B+ E$ y. J( h
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。8 U* L) O$ `  _
. [# e) g. l* g) i+ {
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:# B3 D- p/ v5 J0 o8 J
; j' g7 V6 q* S3 O% A; Z
   ```
+ U" o/ }$ ~. o. P; L) @" H   add_action('init', 'create_custom_post_type');
0 W3 I4 i( j$ z$ J   function create_custom_post_type() {: W0 F" `. S, }+ h
      $labels = array(  r" v: F$ ?4 l! g* f. ^# G$ F
          'name' => 'Site Wide Notices',1 j% D4 d5 C: c
          'singular_name' => 'Site Wide Notice',
" J* [" n7 F% Z, f( Y0 N          'add_new' => 'Add New',; `6 i. v3 C: J
          'add_new_item' => 'Add New Site Wide Notice',
3 _" a0 [- c9 |9 d% B          'edit_item' => 'Edit Site Wide Notice',
0 _) v  a$ {$ F7 S! M          'new_item' => 'New Site Wide Notice',! o/ a, i- B9 ?+ [# J  B& S
          'view_item' => 'View Site Wide Notice',
4 x8 o/ q. c% d: b. x          'search_items' => 'Search Site Wide Notices',
$ r' H- x* O0 ]5 y          'not_found' => 'No site-wide notices found'," S6 m. N! s# D( O0 J2 ]
          'not_found_in_trash' => 'No site-wide notices found in trash'
* N0 v$ f& u4 Y* N9 V# G0 q+ a      );
; c+ U& w+ c! J9 U4 f' A
! B7 K2 r( j# S3 w) _# D, @      $args = array(
7 ~* {6 A  q2 D' K1 w9 P; ^0 q          'labels' => $labels,
$ E, K8 v" v- R          'public' => true,  k: K$ a/ S% U5 n0 A7 @0 X: A
          'has_archive' => true,/ ]5 L! v+ e2 A: u
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),( g* s; X2 D" A9 s! H
          'taxonomies' => array('category', 'post_tag'),
' s, B$ m  \/ A2 L$ A          'menu_icon' => 'dashicons-megaphone',
& M' C7 ~  s% C, i7 g: H4 b; b( p- j' L, k          'menu_position' => 5,3 W2 r+ ?) [! H
          'rewrite' => array('slug' => 'site-wide-notices')
8 _/ v8 g3 }5 O0 w" l7 O5 {      );
8 n( T, L% n1 i4 M1 |4 V
  A  M. L1 a5 V  @  G, z" y( Q  |% H      register_post_type('site-wide-notices', $args);+ d0 t! T3 G0 E2 @9 Q6 ^
   }
7 r: P+ e6 |. }% ^   ```0 O( c' B" ~1 _- [, e& |8 m3 o( ~5 w

8 G9 Y0 _, e" O, Z; z/ v  x8 r   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。+ j; v- l$ n% {% T" x

% H6 @" g. s9 W3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:/ q0 R+ g$ t+ y. ]; Q0 A
$ _5 v0 J* \( v+ x9 U
   ```( ^% C9 M1 o# t9 ]& B" G0 H
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');% [% k$ ~  R) g
   function add_site_wide_notices_boxes() {
  B8 V4 M, k3 ]0 W. T      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
& K+ D, E: _; v. a: ~   }
% X) i+ |" t+ H9 |9 _. {* ^% \1 Q& c) p% W( n
   function notice_details_meta_box($post) {# H$ e0 q0 a+ f/ f: \2 \3 `0 _2 U3 z; b
      wp_nonce_field(basename(__FILE__), 'notices_nonce');+ l1 S% @5 c- Q0 H7 i
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
) ]. w) |% J2 f) F4 z" z      $notice_content = get_post_meta($post->ID, 'notice_content', true);2 F( ^0 L* p7 F/ [
      ?>
7 P, @7 X! S4 I* J  I: _% z1 x+ T      <p>
6 M5 c0 b# E' m% }6 H. j          <label for="notice-title">Notice Title</label><br>7 e& F3 Z2 I9 s4 o. J5 U
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">7 p  t3 I; F9 w3 n9 \6 l( T4 ?5 m* z
      </p>4 l" X/ A9 G! u0 S& V/ u
      <p>+ u4 p, X) K. c- E8 O  @) b+ K' m9 E
          <label for="notice-content">Notice Content</label><br>+ [2 z6 D0 S% V- N- r$ [- \
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>- w" n& y6 k! [( x
      </p>/ Q) x) T  W4 e1 i
      <?php! z2 k9 a7 s9 @/ t4 u. p
   }
9 ^# i) S& m; l0 L+ ]- A, j& g1 p+ I& b5 Z, K0 q7 }: M5 Z' l
   add_action('save_post', 'save_site_wide_notice_meta_box');
6 s$ Z7 O! |: d1 p7 J  G9 _   function save_site_wide_notice_meta_box($post_id) {9 m: q: G0 z, a1 A- w. L& \
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
. u- l4 q) u7 f; |% {' K5 s- `$ W# v         return;
& Q$ Q# k0 k$ d0 b' p8 }      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
. n: }' h' E  n6 ~         return;
+ q" F7 c5 s7 W, ~3 u7 [! ^7 ]" p9 h6 i7 k$ e
      if (isset($_POST['notice_title'])) {) e( P% S* [" i+ R! C" ?
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));" }! y% R: X9 Z( z) h
      }3 ^% J$ Q( C3 k4 t
      if (isset($_POST['notice_content'])) {
$ n, z4 V/ j, v. H/ k          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));) Q- J* g$ e; r  s/ F
      }
2 X& x0 c  R- y; p7 J9 G   }
0 [. y2 B; P& O) \& I   ```- A3 b4 _8 @+ O+ d) ^/ P
/ R* o  E  H$ o1 d
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
: o, a( M: A( G! `9 A6 n: L# ~
# X  W. u% f" W  b5 `# [4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:( J  C$ N4 F0 T" K$ G2 K

, Q; J3 x! z; ^, v' f" ^- W; w- d7 [. `* J   ```$ v& k! c. q$ P. q
   $args = array(: l, P2 `3 ~* ~5 k" y: |
      'post_type' => 'site-wide-notices',
. w% n. S- L& q7 S1 a( w9 E      'posts_per_page' => 3,& X! M8 K7 K# g5 m% f! a
      'order' => 'DESC',
  k: o, V+ ~+ z8 d1 P0 E      'orderby' => 'date'
* v& y" X1 M3 a+ y6 J* C   );
4 H( \/ i$ x6 B( G- a   $query = new WP_Query($args);
/ `. L3 e# p" I6 i% m& _8 p3 N   if ($query->have_posts()) :
3 m4 Z2 r7 z4 E' g4 Q' n! N; ?      while ($query->have_posts()) : $query->the_post(); ?>7 l5 K2 H" {/ [: c. b3 F
          <div class="notice">
2 d' H+ `" b3 M$ G4 t+ H              <h3><?php the_title(); ?></h3>
& L& L! A) l! c8 e6 T1 [# k5 o              <div class="notice-content"><?php the_content(); ?></div>
3 H8 I' i; K4 T+ T, p9 \          </div>) ^# w% C* L4 P) J7 V! X7 G) w" ?
      <?php endwhile;) U2 Y* \/ r1 H% a
      wp_reset_postdata();
: B$ i: Z+ W9 e% Y   endif;) p; q/ Z! Q/ j! C& x1 R
   ```
# \  |. v# A! N& W, W8 M0 ~3 j
3 H( D. W! i5 @" M. @   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-5 13:48 , Processed in 0.014939 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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