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

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

[复制链接]

342

主题

543

回帖

3590

积分

管理员

积分
3590
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
8 R& Q. i) t1 g9 P* T
/ P, \9 O  E+ C& P& `1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。* T; I5 C0 ?; c- F

/ k4 R# v! [# R1 d4 A( a% _' K, x8 r2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。4 S4 I! {7 L3 ^$ W) V2 k

5 e% C) J% [8 D3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
- B4 w( c4 y) a% r0 H2 T' I$ V6 S! u
, }8 W; e0 h- W1 s. Y4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
9 r+ ^8 @' T: O8 R  W# q
: H8 A5 G* J) a# o; [8 \注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

342

主题

543

回帖

3590

积分

管理员

积分
3590
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
. o( y1 H- k; m, K8 ?; t4 U( O  b. z7 l5 L8 ~7 i, @
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:# C3 h" Q1 [( ?1 p" }& b  f$ U2 [

8 f8 t, D; H: c; o1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
/ Q. S7 ~& ^; b) }# g5 }! v, I+ M) D. t( |( `$ D$ I8 q, I  L
   ```
. z+ u3 p! S* ?   add_menu_page(# f/ C0 w+ F9 B) k- j; s% j
       '全站公告',2 b2 ~6 L! M  P2 [- T8 J6 M9 y
       '全站公告',( K' S: C- s/ S
       'manage_options', //需要的用户权限4 J; i4 d  Z' b) k9 b  W, Q# C
       'site-wide-notice', //后台页面的 slug
1 I6 _% m- @  y! G' F       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
7 b/ `0 ^: \, h: G6 M       'dashicons-megaphone', //用于显示在菜单中的图标7 H; |7 Q) `0 g; b3 o$ S! `7 q
       30 //菜单项的位置5 [" u8 ]" z; [
   );7 {: \; j5 O/ r6 y1 d6 {& ~1 x
   ```: r; Z* s% v8 P

0 C6 C+ n* R' h) E( ?3 H0 G   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
/ D" [7 _' D6 N* Y4 y  U& G- i
- `! S6 s. b- h2 d2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:# u  n5 c; Q  E2 X5 {

/ ~. }. ]# f; K+ ?& N   ```
* e7 D" Y6 o6 x. G! L5 ^  s8 d   function render_site_wide_notice_page() {
) c. ^# n4 {' u2 j, Z  Q" {4 @      // 渲染后台页面内容/ s# m/ v1 A: B, R8 s* p/ p6 v
      echo '<div class="wrap"># D9 M1 F; V3 b, J
          <h2>全站公告</h2>
5 a. L  G2 }- F3 I. G( f" G          <form method="post" action="">
* \+ g, ^+ f& w/ d7 p, `4 s" U              <label for="title">公告标题:</label>( D, ~0 x% r8 x# }/ p
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
+ c: z9 F5 Z4 }  X              <label for="content">公告内容:</label>
0 u# e/ \- b! o* c, f0 c              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
/ R) |3 w# v8 t) @; ~- a# J, r              <input type="submit" name="submit" value="保存设置">. v% j7 E9 q) k6 ~- J8 |9 @1 }
          </form>% Y1 }7 L- ]! r* l3 `& w, m. e) A
      </div>';
( j, N8 Q9 \7 Y8 z
) H$ h4 A: X7 E' ]) V) y      // 处理表单数据7 o. ?2 H" ]4 E4 i
      if (isset($_POST['submit'])) {
. y4 A& l6 h) ^5 U          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
/ `+ ~4 w0 c$ a7 }* N. Z4 F          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
. S1 b0 v* P( X' Q9 ]8 i      }
- F: ]7 `' p. e$ l5 d+ [2 f   }: f  e" S8 h$ }! x  m: }0 g
   ```% ?( f( ?- p5 a' F1 h
) k  |, B6 c3 `
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。% k9 i5 T2 ^$ ?+ Z/ r) x; m' X
0 s. |" C: K' K2 X+ z
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:6 X6 b! h# Q8 `

/ d9 z* g2 b6 G& V. T; V- E   ```4 p0 @: l& d3 K) A6 w$ C
   <?php9 I3 X# B" J( U- Z  }+ @
   $site_wide_notice_title = get_option('site_wide_notice_title');% N  R$ r2 U8 e& t3 ?! {- I
   $site_wide_notice_content = get_option('site_wide_notice_content');
. N9 X9 n" k6 M4 v+ @7 [1 S   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {# X8 _/ _8 X1 N5 G
       echo '<div class="site-wide-notice">';; W+ L- H% l8 M
       if (!empty($site_wide_notice_title)) {; ^0 P$ H. \! x' j; e
           echo '<h3>'.$site_wide_notice_title.'</h3>';
/ N8 P" y; U, c- I7 K# J3 k1 u       }3 I, I! T& ^! U% C8 V
       if (!empty($site_wide_notice_content)) {0 ~: a3 b. V* I; r4 L6 T. A
           echo '<p>'.$site_wide_notice_content.'</p>';& Q# p- y! u3 u+ X' n
       }
. C8 ^7 g0 v) D: v( Y       echo '</div>';- J/ v6 ]1 X4 b$ R) x
   }6 w2 \3 K  S# |7 q$ r: o: N
   ?>
+ P1 Q5 \% H% y. h! A8 n8 X- U' b   ```3 e* @) @: D8 a- W

2 ?+ I" \0 ^0 @   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
, \) h6 m9 H0 o+ X# K# s% C
% ^* _. b  l0 _# Q- s. {0 H" v  q2 g请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

342

主题

543

回帖

3590

积分

管理员

积分
3590
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?1 x  [6 d: y1 _+ Z0 I

$ k( @9 o: ^3 k您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
7 X0 j. u! d" o( m1 \) _" P! O! ]! I" V
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:, _0 b' L7 Z8 o7 G) s
1 z6 l) H; |% r
```" C1 [. ]* i% M. ?
function create_custom_post_type() {1 h- w/ V0 K; W( R6 I
    $args = array(
7 i0 G1 }# U; Z# l5 @& D        'labels' => array(
! F& M. b& G" t            'name' => '公告',
. X2 s# G0 y% _            'singular_name' => '公告'
: _, i' _$ a# R6 ]# O        ),& }! o) U; f4 Z. c) J2 h7 k
        'public' => true,' A& B1 v; y' {+ e& y& Z9 a
        'has_archive' => true,
: ]4 G5 {- b3 y3 f0 f( _8 Z        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),  S# B" s# H0 G0 E
        'taxonomies' => array('category', 'post_tag'),
" e8 z# X- n$ m1 b6 x* K) Z        'menu_icon' => 'dashicons-megaphone',
7 I' [7 ^. b; F. X1 ~        'menu_position' => 5,2 T# ^+ h1 T  m" z
        'rewrite' => array('slug' => 'site-wide-notices')
5 R; y8 n0 t% q& F& b# u* W7 D    );
7 K, @/ F3 N" w5 a+ n    register_post_type('site-wide-notices', $args);
5 ]7 d$ n2 q; Y+ \}0 Z) i+ M+ R% G0 C
add_action('init', 'create_custom_post_type');( w0 E% O- ~# z1 Y( y
```
% t5 i0 D7 C& C* {
1 g/ R8 c5 k4 b- u2 Y& h' I在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。- f! p  f' O+ s' N+ u

! r; s2 O5 i! b9 r/ E$ t2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。1 @4 V8 o8 J& `, h

/ f0 N2 @. E2 U) x9 n: z7 R3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:% }) @& _3 s+ C
$ F' {/ ~+ F) W
```) H: g( e5 f3 R- R/ a7 `1 {, \
$args = array(: Q( L3 R# c1 a1 ]5 _( f4 l& X- z
    'posts_per_page' => 3, // 显示的公告数量: X* `- S3 ]+ X8 N
    'post_type' => 'site-wide-notices', // 公告文章类型- l9 i* X! U9 s3 H. I/ M, h& L) k
    'post_status' => 'publish', // 公告状态/ [( h  B5 S3 b% ~+ n5 Y4 R% D
    'order' => 'DESC' // 排序方式
1 P  o1 @. [' D* F' W);! S+ k1 z$ H/ |5 Y  H# c& _% P

) B8 V6 r0 v5 e+ ]$notices = new WP_Query($args);3 p9 P$ S5 g5 E" S* o( h) x
if ($notices->have_posts()) :
0 d  y- D* @. u* B' r: T    while ($notices->have_posts()) : $notices->the_post(); ?>; ]# V& |1 a, Z! z' g% I2 C
        <div class="notice">
2 H3 h* u8 A7 ?. _            <h3><?php the_title(); ?></h3>( G* x& c, f$ a! s  E
            <div class="notice-content"><?php the_content(); ?></div>+ b* }4 p! h9 }: q- E6 D7 C3 l
        </div>/ @7 |6 `. W$ ?
    <?php endwhile;
. O; w4 I1 n- K' s2 p$ ^else :
  Z: R7 d- a8 y3 K    echo "暂无公告";
7 W9 c2 U: q- o8 n+ L- j( L' E% jendif;
+ d: P1 x7 j: ]. iwp_reset_query();
5 v$ o, r1 W# H```. Q! q% S# {# W  b9 ~6 J4 b

( _1 k' j3 v9 d+ E这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。5 w5 A# s/ y* M- o

9 `& W3 Q5 J0 l8 {以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

342

主题

543

回帖

3590

积分

管理员

积分
3590
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?( {* T# O. Z$ m
0 ]0 C7 }. ?/ H' H
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
9 J9 A" t5 e/ u' L& C
0 E3 y7 |+ H- w! w1 ]7 o+ @! }! {以下是创建自定义插件的步骤:
( j* m8 n! y  x+ i) ~+ S" j
  W7 c1 Y) Z8 C2 f3 D& ~1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
# k2 R- z) x1 B& V& s( ^1 P9 P3 p: B
   ```
3 Z- R  K$ P! n4 x7 X   <?php/ h2 {; L- X- f4 C; A
   /*
7 w; O, p3 m5 C# M, E3 V- |   Plugin Name: Site Wide Notices Plugin! c$ N2 }3 ?/ V' H0 A- H
   Description: Adds a new custom post type for site-wide notices.9 X# z" r7 v, j& m5 k- M
   Version: 1.0$ N% R- @3 F6 s; b* Y! w3 J. Q# p- Y
   Author: Your Name8 A3 N, R) a$ n. \- l* u% k- ?
   Author URI: http://example.com
6 E: S" g1 J5 h& c4 w2 I   */
6 v: f# O3 G4 G8 r3 A8 a" ~/ p* s/ ~
   // Add plugin code here...! v# e; y" s/ f4 e, ~
   ```1 s5 ]/ b6 W0 J4 v  v/ E$ \- _
* ~  P+ y9 ?; U; J1 n$ W
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。' `& W! h$ L/ s* t3 M* O
+ o3 d, s* E7 b
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
6 i9 v$ \  U# J8 Z, ~2 x; \. d  s
   ```6 F0 H  D# \" y" G4 e- W5 @! z
   add_action('init', 'create_custom_post_type');
. L' @- T) w) {: I1 p   function create_custom_post_type() {
! w; i" e1 {% ], h$ z5 {2 x      $labels = array(* R6 w2 V* ]+ X5 S+ \3 R% q
          'name' => 'Site Wide Notices',+ H1 q) \8 e8 {9 C) B$ s
          'singular_name' => 'Site Wide Notice',7 x  [* E  N8 `' ]& Q
          'add_new' => 'Add New',% E# m  K. o  H+ w- K$ R4 A+ l
          'add_new_item' => 'Add New Site Wide Notice',
- j3 ]; u- b4 z, i/ a5 C+ x# M, M* [          'edit_item' => 'Edit Site Wide Notice',! y7 X: h3 A7 V5 h
          'new_item' => 'New Site Wide Notice',
8 w2 l& r" w5 k: \          'view_item' => 'View Site Wide Notice',; J4 N+ C  z, d1 |% A# F
          'search_items' => 'Search Site Wide Notices',
- @: c, O; q: b  i/ v          'not_found' => 'No site-wide notices found',: `& b7 R' Y5 Y0 K" t
          'not_found_in_trash' => 'No site-wide notices found in trash'
* m6 z# J, \& y6 `      );( K1 G1 n' s  H) @' T' S' z" D
5 R4 Z9 `3 X5 k  n- s% t( ^+ A
      $args = array(
  D6 b  y6 o# R6 q7 B          'labels' => $labels,  r7 s. L* D4 f  Q, s6 T
          'public' => true,1 S: A; u7 P# k- l7 b3 c+ `
          'has_archive' => true,
0 l  J9 Q3 \6 M          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),* a) ?* z6 z  S" u4 ?% b' H! l
          'taxonomies' => array('category', 'post_tag'),
' X6 i; m3 I4 s! z          'menu_icon' => 'dashicons-megaphone',/ ~1 U9 w8 ~2 t" y4 {$ P
          'menu_position' => 5,# p  a3 F* N4 _/ R% L
          'rewrite' => array('slug' => 'site-wide-notices'), q6 ^. H3 L+ J, @
      );
) o1 h8 X) N( `) }) N2 i" q2 y5 r# O) K! W* h, a$ h( D) b9 I! J" v
      register_post_type('site-wide-notices', $args);: V7 ~3 i0 \" v' o0 d
   }/ \/ m! T9 T; [0 u& c/ Q( D" Q
   ```
) ?! \3 o# T) J  M; I$ x
) h( N/ `5 j* B4 p9 J   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。; ^* L. L0 k7 ?0 a8 q

3 d$ a3 F9 W, w* t* T! K7 B3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
% P8 T9 K. |$ P& h/ }3 y5 v1 p! A4 }& b' s9 N. t  E, `0 O
   ```( x$ c- f/ A7 P9 u1 O3 y
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');+ g8 w2 }6 }& N- H4 g: L5 d
   function add_site_wide_notices_boxes() {
5 Z' m5 U& q8 Y7 H: B6 C0 N# B+ l6 V      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');+ U& \4 X3 g- I* `/ `4 k  f5 h5 E
   }
1 ]  a& G5 S6 N: K- P: B$ c! a& v% b1 R
   function notice_details_meta_box($post) {& o% ^% z/ G" ]) C; y
      wp_nonce_field(basename(__FILE__), 'notices_nonce');5 |" i1 P4 `, Y6 ]2 p+ K! E
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
0 f. B! p; g  B1 O      $notice_content = get_post_meta($post->ID, 'notice_content', true);
/ X% N* p: F" o9 w$ T; H: g      ?>
! \& E. @/ b7 C* s: k; H      <p>
" o" E& A- \, F" H  W( p1 r4 |          <label for="notice-title">Notice Title</label><br>$ [9 J# U; z- K& g  l8 x& a' p: l
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">1 \- k6 j3 [1 l& I
      </p>
/ }, E) }; Q0 S* h  E% r) [      <p>2 i# [2 M$ E$ L0 d" F3 z
          <label for="notice-content">Notice Content</label><br>4 w2 [) L" D, |# g
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
7 g; M& m: U+ G      </p>
# b7 s" x- b3 q4 S      <?php
) C4 n0 |$ o  y* @5 p1 r   }
" Z  f7 z0 [0 ?' `
: ^! M# f! h; k9 S( S   add_action('save_post', 'save_site_wide_notice_meta_box');
0 X* P3 Q' V& _* M) ]: z   function save_site_wide_notice_meta_box($post_id) {5 n6 c+ ~0 F# F  k; w0 F
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
4 i. b0 U! N& w  l8 e( |, v; z& }& k         return;6 e6 {. E" `! H: F: \% j1 i, t* X, u
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
) R- j1 a4 `, @( _% A         return;8 J: F9 \$ Z0 j0 J  k7 X, O

% S& l9 G9 l' b      if (isset($_POST['notice_title'])) {% s5 S$ d) _2 d) I2 ?( g
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));  P9 B8 T0 x8 O+ W5 I
      }5 q9 U# W! f6 W& x$ Y
      if (isset($_POST['notice_content'])) {8 h. {4 m# d2 J& `; y
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
8 X+ D) z0 \  Q" ~      }" N1 r1 O! A3 _6 L
   }
" Z! x- L6 ~" V: b   ```
% Q: @; l, m1 \5 T- M* r1 v3 l; A4 Q5 d8 U0 Y' v, i
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
' o7 m6 I% Y9 O- r, |% x1 H- I0 w/ E
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
8 O9 O% \) Y5 |+ E0 r) [. q4 N
  r$ ]$ x; G1 c5 |# U   ```
( w. ]) ?3 J5 z4 n8 j' V" t9 Y   $args = array(
  F! K5 ^; _! h& Z. P2 x      'post_type' => 'site-wide-notices',
1 J/ U" j# k8 V6 O1 ?      'posts_per_page' => 3,
9 D% P+ O9 \* ^      'order' => 'DESC',
, N( b. L* F( E  B      'orderby' => 'date'' ^! X* ~2 h4 y% n& a
   );
  S# V- D2 ?* |6 G$ d   $query = new WP_Query($args);
, |; Q6 l! O/ \& ^: P, b$ G' J: s   if ($query->have_posts()) :3 r( v1 A" k) F5 ~9 C2 E  q
      while ($query->have_posts()) : $query->the_post(); ?>* i# n8 e$ s" s% g9 W7 G% B* k
          <div class="notice">! W$ R! W2 U* r
              <h3><?php the_title(); ?></h3>: u" G, ^. c% _  m
              <div class="notice-content"><?php the_content(); ?></div>
! R9 m, S  q$ Z, ~          </div>5 _( s% [! D9 F
      <?php endwhile;* y7 j* V3 |6 ^& S
      wp_reset_postdata();7 N) W: x1 v, B" D
   endif;
% ^# v* [9 c5 D3 Q: ~6 e2 {   ```
8 d$ n# f" t+ O' O5 `. p+ n
4 E: @" j$ Y1 A  R& Q' O   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-27 10:46 , Processed in 0.014514 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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