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

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

[复制链接]

334

主题

519

回帖

3402

积分

管理员

积分
3402
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
8 z% @, H9 x7 J/ X# i
2 t, x+ Z% E& a" l, E% L+ N& _3 R1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
7 u- M/ a) j5 g9 h! A
( `/ f* g( |- I% [2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
) g9 u+ e. `5 s5 J/ ]3 B( s* K% |0 T# @) [5 ]0 ^" h( l
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。4 d' S, B4 `- ^" v- ^/ l

6 B8 ^4 N$ J- f3 S: P6 g* Q4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
, j" m( g8 O4 A
3 L8 O* _, n% T9 a) h注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

334

主题

519

回帖

3402

积分

管理员

积分
3402
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?% p9 ^- `9 p2 ^/ e: t1 ?; ]
# I' J! R/ r; W$ k/ @0 l
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
, @% p. a$ L5 ?" m, y  [1 N: S0 L- o$ |: l* I" T
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:8 L) Q, J3 U# J9 u

' f6 q; u7 D% r; B9 _4 C5 ?; e   ```
  K1 D4 d, _  `3 ?8 W   add_menu_page(4 u3 o3 h. \$ ^& u
       '全站公告',( q: C$ s0 t! K9 Y9 V
       '全站公告',: l9 U1 [7 G0 Q: d8 ~! {: A. b
       'manage_options', //需要的用户权限* R$ y3 ?( k1 e5 Q( X: C6 e
       'site-wide-notice', //后台页面的 slug
; s: u; b2 o: e* @- q' f       'render_site_wide_notice_page', //用于渲染后台页面内容的函数7 t) Q# A$ y2 t# I+ M% l% g; X/ y
       'dashicons-megaphone', //用于显示在菜单中的图标
, a# _% n3 i+ z, s1 G       30 //菜单项的位置
! |% U! p2 q- }5 [/ d  P1 T4 {   );
! S( n! ~( ~6 p* v) T' i' O   ```1 t# L/ J4 C8 S; u" p0 W( z* K
; x3 a$ ~: b6 L' T0 J" S1 Y0 m
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
" F. o! ^& N. h' K, `
1 c$ c1 j+ b2 Y; ~' B' Y% {( a7 Z2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
3 `) v2 |, B' b2 f7 ]+ D$ D2 c# q4 v7 A; u  ]' p
   ```$ z( L: z7 v* x" \: T
   function render_site_wide_notice_page() {% Y3 p# t/ u" j. |4 S7 E
      // 渲染后台页面内容9 O7 T. C( u, B! Q8 ?
      echo '<div class="wrap">' {1 j3 c% g  O& n9 O5 @
          <h2>全站公告</h2>
3 ^! x' R2 G; V5 d0 x$ w: X          <form method="post" action="">/ G* ^$ @4 \! g6 `/ }! E
              <label for="title">公告标题:</label>- O# C7 k4 Y- H) u1 R0 N
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
! m- M2 V5 \8 M3 I; D7 b; n: G              <label for="content">公告内容:</label>  l; F: _, X% o% }
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>; l2 V0 _% W3 p% G# v
              <input type="submit" name="submit" value="保存设置">
7 d" T1 w9 n, j% R( Y" B7 }          </form>% b. V5 ^5 x% P0 k9 `8 \
      </div>';5 b4 f3 V; L' k! p) U

3 n) Y4 q2 i+ i. {! i$ L      // 处理表单数据! }. T- e/ f2 F3 }+ c
      if (isset($_POST['submit'])) {( E' H6 ~. Z5 o3 A! ]# t" a: H3 z
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
& |/ \$ {3 ]& p4 p- K. B% c. g; I          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
6 h; j. m  Q6 u2 N      }
+ G# N) A1 B! X7 ], n   }' ^2 L1 b$ l- n4 Z, X- e
   ```( r1 M; ~7 `) k; U% l! Q2 z
) w; l( J  J' F
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
/ Y$ m) I4 a. R, k+ H& h5 n/ o/ F& f! B3 i( B
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
- c/ _0 E* C. B- S
9 u* Y% G" E' W$ q   ```
+ G) n1 L" `+ z6 \   <?php2 a5 V& G) f7 Q
   $site_wide_notice_title = get_option('site_wide_notice_title');, @5 h7 v1 x$ X4 k9 a
   $site_wide_notice_content = get_option('site_wide_notice_content');" p8 z+ E( l, N( b* O
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
; `0 O3 i/ j6 u, [       echo '<div class="site-wide-notice">';( @! w' A; V1 n9 e3 M
       if (!empty($site_wide_notice_title)) {6 Y# |" Z5 b0 l% r4 @0 Z6 W5 {1 d
           echo '<h3>'.$site_wide_notice_title.'</h3>';/ _6 K9 z. K+ P3 |( S, t- u( B
       }
1 i) s0 W! t% I! r/ x       if (!empty($site_wide_notice_content)) {2 s. _1 c0 p' p5 K  c* w( U
           echo '<p>'.$site_wide_notice_content.'</p>';* G6 v! N1 o8 T# J; a
       }4 I' b9 I9 R0 o% T
       echo '</div>';
% q. O8 d' p2 U   }
$ g( m+ L5 ~8 f/ D" j- ?% q0 T2 ^% _   ?>
! q7 R" Q' a! @+ n% S% N8 s  m   ```
2 I; C5 B' A4 s9 T0 z
  \; T( x& [5 i   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。7 u% h9 c4 g9 X2 ?: z/ t

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

使用道具 举报

334

主题

519

回帖

3402

积分

管理员

积分
3402
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?$ v: f! S. h; _: T# x
, x; H1 U* `; @5 ], C  a1 p& t
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
& O/ R' p, P8 S) g9 z
6 v; p- T+ e- {0 C' h6 T1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:; B* [* \) d4 R$ P/ b
9 Y2 U  c8 ]/ P, i( |1 G# o: A
```
/ E! R/ e0 U3 q- v0 efunction create_custom_post_type() {
9 \) w) U) C4 T& Q  V* ^    $args = array(
4 i* ~7 ^/ G/ c2 N1 g        'labels' => array(8 ~: t: j% S# C0 I% e% W6 l
            'name' => '公告',
0 B4 O, g% s$ I% J  z; I            'singular_name' => '公告'% ?+ Z: C1 [/ u3 |- V4 u
        ),9 {, r5 i! s  [+ C& |. V$ ?# R
        'public' => true,; e2 d8 Z3 A$ H8 |3 T/ t$ o0 n
        'has_archive' => true,' R1 t& _, ?; G2 p$ @' ?
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
. r# M# j# m( ~1 N* H. X        'taxonomies' => array('category', 'post_tag'),
- }; P- @- F: [" W% f- N9 }        'menu_icon' => 'dashicons-megaphone',. w% I7 t! v3 f- \
        'menu_position' => 5,
* F" ]2 K/ M+ E3 L        'rewrite' => array('slug' => 'site-wide-notices')( ]0 K# E" U: Y
    );+ f* w, u' V# ?! `
    register_post_type('site-wide-notices', $args);
/ L8 R, d+ S6 q- m/ }0 z}
+ ~9 g& j8 t  K: Uadd_action('init', 'create_custom_post_type');' d, O, a) ~0 J: d8 F3 o! L* p
```
8 X7 V1 o& \6 S' E+ M  [2 o5 a. o
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
* f& c1 A$ U4 |* S6 }) t9 n7 W6 m! B. u6 @5 z- ^6 W# G
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。/ |8 e1 Q: a  R) @
5 W1 T/ z0 q' @/ W# h0 L
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:$ X; u6 U3 b" D0 `
( `  K8 I9 r6 O. }' ^- P. Q
```' v- P" M* j, t$ M0 s/ q
$args = array(
# Y) k2 R7 G3 h# O* w$ l    'posts_per_page' => 3, // 显示的公告数量
" d( S1 F5 u0 |9 S    'post_type' => 'site-wide-notices', // 公告文章类型0 Y* E8 X1 a& C3 |0 H
    'post_status' => 'publish', // 公告状态1 B! b! d5 ~$ D
    'order' => 'DESC' // 排序方式3 X; S8 H' V$ e) t
);
/ d+ E' R7 A/ i9 B% v! E3 t  N" |
$notices = new WP_Query($args);
: e, E0 b. s  T- ~7 y2 F' jif ($notices->have_posts()) :
' T. q. _0 O8 p, Z* ^    while ($notices->have_posts()) : $notices->the_post(); ?>
+ p- |% p# J# y4 G5 |        <div class="notice">
3 A2 ?' @/ s( s- X& E* w+ O            <h3><?php the_title(); ?></h3>
$ }4 [4 \7 y0 Z: `            <div class="notice-content"><?php the_content(); ?></div># }( a; w, m: f9 f
        </div>" Z% J: \+ M! ~" Q
    <?php endwhile;8 n, n7 E& R3 u) o8 V
else :
8 u8 M9 }  Q/ _8 h7 c7 g    echo "暂无公告";4 A* @, K  x1 V" n$ i, z
endif;
) a5 D( U- c$ w; `, |wp_reset_query();
. X/ K8 V; {6 B3 E$ B3 O+ O```) r0 `0 }( b9 x1 U7 q2 o9 w
7 X4 W. `2 h/ P; P; e; h5 P
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
( w9 t1 E0 Z$ b9 ~! \1 q
' ~; g4 [1 N0 b5 |) q" U以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

334

主题

519

回帖

3402

积分

管理员

积分
3402
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?" ?/ H# ?2 S' Y0 g0 v  ^
) O5 F4 K$ l2 u3 t, Z! e/ i
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。- b0 _+ ?/ Y. F( o6 m- s

5 j! A: |7 o+ N) M; z3 c! @以下是创建自定义插件的步骤:
3 T) C; ~$ n; e7 k3 K7 R; L5 _; _+ A8 @0 f3 g7 ]5 W; Z) {2 B( p
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:6 M/ e8 h, W+ ~  Y- [; p6 B# Z

3 s5 @6 D: }+ Z; ^  \9 p   ```% W; w1 ?" d5 M3 ?* t2 L" [
   <?php" D5 l9 I; U5 J3 E
   /*& U, y% f& _- C3 N) M; x
   Plugin Name: Site Wide Notices Plugin
" t$ i  r. e" N6 o/ w- @* E   Description: Adds a new custom post type for site-wide notices.8 _! A8 h9 z7 x
   Version: 1.0
6 l7 W5 e! @- z6 _6 U   Author: Your Name
  ?  m( g* O0 r% i6 e+ I$ ]. o. y   Author URI: http://example.com5 Z! D) K' s/ v% F
   */& `. v  ?' {( Z* w3 P. A
/ L. ^. @" Y* E7 U, j
   // Add plugin code here...
# d$ ?4 c9 t! s* i   ```; W( N7 L4 g- M+ z/ o+ Z
) ?. [2 x; x& T8 h3 u- r/ I
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。4 K6 o% A2 h5 @0 O( l7 g

; D" g6 K) t. M! X. g) ~3 L2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
5 X: M  P5 M* _! x$ x+ S
" r- U1 P- }! s6 z% l   ```' i  Y3 ^+ J& m) {
   add_action('init', 'create_custom_post_type');) o( w# d7 Q5 p+ E) P. D
   function create_custom_post_type() {
# X, U0 p  h/ u0 J      $labels = array(
. [' H% }' U+ e! r  m! a7 r          'name' => 'Site Wide Notices',/ O( [* |2 }4 G# {! k* o4 Y
          'singular_name' => 'Site Wide Notice',( E; _' v3 J. V! z' I
          'add_new' => 'Add New',
2 C, z0 L" D0 c6 P7 P) u3 [          'add_new_item' => 'Add New Site Wide Notice',. h/ j& l- J" @3 j0 l6 z' t& D
          'edit_item' => 'Edit Site Wide Notice',
! @) x+ M  l; k          'new_item' => 'New Site Wide Notice',
" c/ l- |1 s3 Q9 J6 A3 f          'view_item' => 'View Site Wide Notice'," [: d& G- R7 Y! ]$ ]$ T
          'search_items' => 'Search Site Wide Notices',
4 l+ U3 e# u  K* s4 x& P          'not_found' => 'No site-wide notices found',5 Y, N0 C$ e2 ~  i# E
          'not_found_in_trash' => 'No site-wide notices found in trash', Y" {$ u6 O- I+ G. k% N
      );
$ M; l9 d5 O2 I' @. s. l& j4 u0 t3 |% I! H8 R! P* L5 L& g
      $args = array(! m! i" k6 K3 L! A* a
          'labels' => $labels,
0 b' O4 U0 ^& O% t          'public' => true,
& v; a( q& D; y- L          'has_archive' => true,# x! W1 X) Z% R: r/ _. K
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
7 ]6 Z% d, `; A2 }9 F0 ]          'taxonomies' => array('category', 'post_tag'),# M- W- b- A$ w9 I+ s5 `# \+ O3 p
          'menu_icon' => 'dashicons-megaphone',% L* x: C: D8 G* C
          'menu_position' => 5,
3 B) s0 H8 M5 w; k3 W; V/ ^7 P1 g0 F          'rewrite' => array('slug' => 'site-wide-notices')* |8 b5 `/ x8 F2 l5 s
      );
9 k! I6 H; L; N1 j+ f- K2 x! t4 q+ C
      register_post_type('site-wide-notices', $args);, \: g9 S! A/ \2 v( q/ S) }
   }7 {$ @! i2 x" X) L$ J7 x' W
   ```
- u4 S  g, ?4 i* q  F. r& E4 l8 D# q4 @9 t5 S6 ~
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
, F) y1 O* P) h$ l) ?9 u
7 l6 v' N! `& A- S9 O6 s- y; @3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:% g! D9 g( Y, z% `

; Y( }: F* Y) [# F) i   ```
0 r  v% p$ g( i; I6 f( v0 |   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');3 ]# R; P9 y; Z
   function add_site_wide_notices_boxes() {
) V+ m1 p7 F: O/ N3 k      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');9 j3 C) I8 K7 W
   }$ Q+ ?7 T3 M) G4 ]8 P

7 B+ f$ X0 V7 Y" f6 R3 B! D" `* R   function notice_details_meta_box($post) {) r0 K6 V! U5 r  t) H1 {( n
      wp_nonce_field(basename(__FILE__), 'notices_nonce');
7 S) X- y8 ]2 y" N% e( h2 ~. m      $notice_title = get_post_meta($post->ID, 'notice_title', true);1 D* f/ W% k$ S
      $notice_content = get_post_meta($post->ID, 'notice_content', true);' q( q2 q0 x- E% e. K! h4 g) o* E
      ?>
1 w9 E( r9 s0 k+ J( t      <p>
3 g% d& b, q8 S( k! x          <label for="notice-title">Notice Title</label><br>
4 i6 I( A7 z" s) P4 N' g          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
6 _1 m, f' @2 ~1 o' Q6 }      </p>* z$ U& j- R+ L3 ?" u% y
      <p>
+ ]7 f! U1 E" s3 R1 _0 \3 \" {          <label for="notice-content">Notice Content</label><br>
$ i2 s! j, J/ o# [7 G) a% e9 P; d          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>3 o; p5 P0 o( q( q5 x6 B& H
      </p>
+ @; \7 C) y7 Q% f9 |" C      <?php9 o( ^4 ]4 ]( M
   }
9 H6 Y+ p& ]% s4 F
; G) u5 q- k% s6 h2 Y, a   add_action('save_post', 'save_site_wide_notice_meta_box');
7 s, T  i9 Q' C: Y   function save_site_wide_notice_meta_box($post_id) {* r0 @/ V* _2 g  X. R/ k8 l6 d, Y5 C
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__))): ]. {3 C" ]9 r& L1 B! m5 _
         return;
; E7 A( h2 j' n2 Z( l, I      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
/ }& v7 }8 T. A9 ^         return;7 E3 M7 U6 l+ T4 Q8 F3 g; I- `% P
, p. b& M& p8 v: |
      if (isset($_POST['notice_title'])) {
; B$ E2 B! b: p- i          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));; l' e. Y& \4 B- `0 n
      }- ~( `8 p1 K7 B# Q) J& ^
      if (isset($_POST['notice_content'])) {
" T& Q0 R' ]6 ]! k" q          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));9 }5 r1 \) w1 q$ `4 H4 F4 t
      }
. T9 I- d0 Z- h; B$ p: q- Z3 G   }
1 H: G* B9 e- {- F   ```
- j/ c4 v: Y' m4 J" a4 {+ t  ^
  ~2 w. V% k( s: L; J  d* ^   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
0 [* a$ a- ^: }+ m& ]
; E4 T5 x8 _; [  u, D# M4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
# F( ~$ Q+ \( e  J+ v
$ W6 E% e9 \7 n  b5 M# d   ```
% }) X* H; v" U! R8 J5 |   $args = array(( u4 y  @* p, O" E8 p- _& _
      'post_type' => 'site-wide-notices',; o1 B0 w% k$ D
      'posts_per_page' => 3,9 H# S  ?; ?8 U9 @. x) X8 k0 ?8 C- ?6 s
      'order' => 'DESC',+ C  y" S' N) E" w$ k
      'orderby' => 'date'
7 D# ?7 F' V$ O! u; \" Y   );; c. H- U* }* T; T3 k% e. F4 ~% {) W
   $query = new WP_Query($args);
" S# O  d! G1 j" A- e( v0 K6 ]   if ($query->have_posts()) :
  q1 F, R+ |+ m! m, t      while ($query->have_posts()) : $query->the_post(); ?>
" `9 {2 A5 f5 ^& T6 e0 z+ X# L          <div class="notice">
1 {  x7 I5 I* h$ q7 h- p+ n7 r              <h3><?php the_title(); ?></h3>
) |4 V" I8 Q( y+ N" a# D7 g              <div class="notice-content"><?php the_content(); ?></div>5 V& n/ a, D: F# M
          </div>. [/ i' D$ Z8 y1 m1 r" d
      <?php endwhile;
% ?* `, s  v9 f: K      wp_reset_postdata();
. i5 G# S( m5 Y+ |/ B/ ~   endif;/ p9 m& e! p: l; o! l
   ```8 l+ Y/ n8 W/ \6 y( C0 ]
# `! r3 O" _  C5 Z3 Z5 x
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-6 08:23 , Processed in 0.079471 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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