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

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

[复制链接]

340

主题

529

回帖

3528

积分

管理员

积分
3528
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
; W: {! n) f  p5 D1 F; l" C7 f& c7 M! j, g8 W( J
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。6 r2 r& T0 [+ s( Q/ Y# M
# u7 q( e) k( c2 b* k
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
. _# H3 Z9 j: S
% M) t& B. C/ X& [& m8 n( O$ ?3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。' n$ j% V8 N  f2 o4 B& ^$ X* f' @
# Z8 @" \% K: `
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
: t. R5 B7 t* m& q3 }( d
; i7 z9 I3 a0 h$ K! h2 T6 B7 D+ E注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

340

主题

529

回帖

3528

积分

管理员

积分
3528
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?4 r- Z* C, z. @8 N$ v; \
* `5 O& ]- x1 R6 @5 t: o
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:9 h3 o- f- \7 J4 N- c
  V& E/ \! J* K- _9 @
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
+ T' z* |- j2 N
: J' m# ]: j% I/ ]& }" `' n) P   ```( V# [" H8 t& R) ^% q6 u( {
   add_menu_page(' b1 Q+ G! X6 T! p# {' E3 f
       '全站公告',; z: V8 `; k: F3 P! @3 `6 o, `
       '全站公告',' U4 q+ D- O) L& t
       'manage_options', //需要的用户权限
' u$ A9 p8 j+ j6 i. `7 j       'site-wide-notice', //后台页面的 slug) D0 c8 W# P7 i$ B4 L
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
) u# \+ B" V  |       'dashicons-megaphone', //用于显示在菜单中的图标: L' a( `" J# A1 ^% j
       30 //菜单项的位置
/ ~  z6 I: {! d, K9 I' }' u. r+ S   );
2 B1 e4 ]; S  }# H6 l' e  U   ```- X2 r4 f6 R  G* t
  J9 @# Y% u: i. M/ a
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
& D" s% h0 T2 U# {* A
3 `) I2 z1 k' ~: n3 D! i2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:- _9 D6 t" V$ @9 ^! E

$ v  t0 m7 P2 p8 m   ```
  L) k" Y* R- D) i2 |* b: A   function render_site_wide_notice_page() {
/ }% [# Z' K0 B0 q; g      // 渲染后台页面内容3 G& B# \2 {! p
      echo '<div class="wrap">1 p2 ]% E/ H% `- P, O8 n
          <h2>全站公告</h2>
6 S: n, _9 {) ^5 ~) `$ c; c1 i8 W          <form method="post" action="">
) D, [; w( `# Z0 a4 C              <label for="title">公告标题:</label>
/ v/ U+ M( }: f9 W4 K0 m: j              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
/ D1 G' U. Z/ ]- z' S+ T/ v              <label for="content">公告内容:</label>
% Q6 s, B- {8 t' w" |              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
5 r, M1 V1 T8 x6 v! _5 Z              <input type="submit" name="submit" value="保存设置">
5 G0 |4 V( R2 }* |* `+ c          </form>; h% D) `$ K0 r- l  N! B
      </div>';
( T$ N9 X1 ]+ H1 m8 |: d0 _: ?6 \9 w' q1 m% {. c  Y) q/ E8 H4 U
      // 处理表单数据
0 K2 W! w# l. `% t0 m      if (isset($_POST['submit'])) {$ p4 N1 I! _8 S  q  u& [
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));1 `  g. j( {& r7 R
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));# {4 n* [( U, n
      }
7 }/ |- f4 n$ O- _7 b( z% W   }
* d4 m, ^7 e1 h" E, Z7 q& P' I  C   ```
  o* `/ v' n$ u+ v
3 h' d$ v2 A4 N7 e0 O   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。$ t+ J% B5 x6 o9 y8 F) I  f
: z8 B' p5 n% v; P/ `
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:' r& j$ E2 s3 N: M: m

6 u3 p8 `& ^9 R2 z4 Y   ```
$ M) b$ D+ b0 j  k. Z   <?php! R( {, p9 F& A3 P1 t
   $site_wide_notice_title = get_option('site_wide_notice_title');3 M4 E1 h; [+ m) m  B4 `
   $site_wide_notice_content = get_option('site_wide_notice_content');7 T, X4 @0 t$ `! k$ I' s
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
+ x8 v0 g) ~# u       echo '<div class="site-wide-notice">';* ?' l6 g, V* Q" {6 i* ]) c
       if (!empty($site_wide_notice_title)) {
* Q2 n& |8 H7 j           echo '<h3>'.$site_wide_notice_title.'</h3>';
: A% K. p1 ]' q% m  v       }) _% o' c4 j" {  v& G  z4 @
       if (!empty($site_wide_notice_content)) {  X3 Z; a: d7 `( [
           echo '<p>'.$site_wide_notice_content.'</p>';9 U) e9 ?- A1 v* {! s9 F$ F8 U. I
       }, T$ w" _. W! m0 k
       echo '</div>';) z4 M, L1 d. z0 W, m3 Z0 [4 b+ n
   }
" |! l+ d( X# v; O   ?>( \+ ]0 T0 W! ]
   ```! x+ e# u; V. _
  q% I; I) u( F* R/ Q# f9 ^
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。* w+ s; ^, [$ S$ K0 I4 u, J) W# h

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

使用道具 举报

340

主题

529

回帖

3528

积分

管理员

积分
3528
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
0 A. Q4 |: I% D  T# a" ?# J7 _  V7 |" I* _! O
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:/ C: j( z6 b( i- G3 J5 R) o. i" m

/ X6 |- W& D+ Y* l8 s1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:) q: s  o9 W- y( \" ~& k+ r4 U; Z
4 G( L, v/ w0 g: B  M
```  x8 P8 P1 o" w$ N, q, q
function create_custom_post_type() {
% n/ o) _% z% K* t' b% v    $args = array(; I/ [$ W% c3 e  @5 S) |4 a
        'labels' => array(7 ]# H" R% D( v7 L* M& \6 N; M7 ^
            'name' => '公告',
: L; F+ p- W* K0 v  v5 }            'singular_name' => '公告'8 R$ A. I1 N/ h- ~
        ),
! @: a$ s4 I( ]. C6 w! l        'public' => true,
% g" }9 J& |1 d0 ?8 ^/ |2 b        'has_archive' => true,9 S& j& i" G: _' d4 @) X8 v  i
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
+ \0 K6 H: F4 g' Z# {  g        'taxonomies' => array('category', 'post_tag'),! e6 ?/ N8 I5 Y, C3 a& V0 I
        'menu_icon' => 'dashicons-megaphone',3 f: f6 R5 z8 k: o9 ^
        'menu_position' => 5,6 |% X/ m4 r! K3 z% \
        'rewrite' => array('slug' => 'site-wide-notices')
3 `3 @2 ~/ T( g# N3 d% ?    );. C" b' ~9 E3 z% n" C& _& j
    register_post_type('site-wide-notices', $args);
) N" a- n+ D  f! ^}
. h; g$ x- `7 R) Eadd_action('init', 'create_custom_post_type');# b) Q6 k5 }0 i2 y! u3 @) B
```3 c' a0 \) _! |1 {+ p* \: a9 @
8 Q$ K& w2 Y: Q5 ]4 N
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
& n/ G) ?/ G# E$ j; |/ P9 n( H+ T7 j
  n0 |: T0 ]7 x4 Q( O2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。4 z* s* _4 F" t4 [% e! x

' w% q2 T6 D4 q, r7 U8 C3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
: f1 ~) t. |" Z. V: X( {
: ^# v( {' q/ h0 M```8 r1 ~6 ^  ~* y8 w; i
$args = array(1 ^4 I; G7 T, P4 O  u
    'posts_per_page' => 3, // 显示的公告数量) Y, {" Q. U+ P+ h0 p: \! t
    'post_type' => 'site-wide-notices', // 公告文章类型6 |) t% z( z- s2 g
    'post_status' => 'publish', // 公告状态
0 n% v' u5 b/ s$ F5 }  x    'order' => 'DESC' // 排序方式
4 _+ m+ B. N' \* ^);0 R, `* `  U7 D# y4 X! |9 j6 {

/ l. V$ J( f2 h  D9 |$notices = new WP_Query($args);
) ~3 X- R" G( v  Sif ($notices->have_posts()) :
: a+ s; X5 B2 \" v    while ($notices->have_posts()) : $notices->the_post(); ?>5 i9 D3 s; Y5 @* F4 e. Z
        <div class="notice">4 Q; D4 b% c: n2 X* G
            <h3><?php the_title(); ?></h3>9 R( W, N6 s% w# q
            <div class="notice-content"><?php the_content(); ?></div>
% A) `3 t8 p9 E" }* ^        </div>+ S7 y8 D( P6 z: u9 P2 {
    <?php endwhile;
; J; k4 {' }1 J! J& D5 P- a, Oelse :
8 M( s; n( T# F) B    echo "暂无公告";
+ u& x& U1 C' j5 a+ n. [+ Gendif;
- O* ?! F: k% o6 a; D9 L% Kwp_reset_query();/ a9 x8 L( O- P& l4 ^/ g
```
; X5 A1 d( O( b5 f) ~& X: X* b! @5 }) Y5 p
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
5 j1 B& ^) Y- |# e" E9 y, W
7 N8 j; a" P$ S  b- e8 k以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

340

主题

529

回帖

3528

积分

管理员

积分
3528
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
0 G9 O9 W" y# n. T# m9 e
/ R: A' `# W0 p7 }3 h3 ?8 z* N如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
. r# |1 B3 o& n# y& S/ S3 R2 g2 i, Q+ w% ]+ h
以下是创建自定义插件的步骤:
4 n0 J8 g" S  g1 d! E# V
# i6 R6 l- Y  J* l1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:, a5 i6 y, c- s# T% t6 S$ d3 M

. C4 ]% {8 }6 ?- E0 Y   ```! F, B9 w- _6 h( P2 v# ]9 G0 k2 E  o" O
   <?php
: G' j9 B9 R1 @* D  p/ ~   /*
( P9 }) F7 l" Q% f$ ?# X& e   Plugin Name: Site Wide Notices Plugin
  N, }+ Q, J' N% A- d( e6 D   Description: Adds a new custom post type for site-wide notices.9 W! M) g" K" e# S& b7 ^) Q
   Version: 1.0
  y% s4 j; n, e2 H" [  b4 X   Author: Your Name* x# w2 i7 F8 h. c/ T
   Author URI: http://example.com2 m1 s8 @0 s9 ?- R
   */
% A, t# \( N$ \) H6 ?
% g0 n' Y9 a& t1 v# F4 y$ g* }   // Add plugin code here...
5 g- ?: m. A, f* W/ l3 J   ```
; T( p4 \# T& f* Q8 \; J7 I  n2 t" q
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。' x1 J# w5 z8 l4 d  p# I

) a5 b& w5 o' r8 j) X* i- q) I1 _2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
) k8 K% r! j) q! a; y  l) C: W( d. v6 B$ w) D
   ```
9 f% u# s3 X4 R0 V6 u9 _   add_action('init', 'create_custom_post_type');: @* o- {/ f  o+ S* @! I
   function create_custom_post_type() {1 N1 e+ N  u/ i1 h2 z* z5 q* T
      $labels = array(
! K0 N& X9 ~0 N! w* K          'name' => 'Site Wide Notices',
. X  v& {2 b1 C' w! P. G7 x5 h          'singular_name' => 'Site Wide Notice',
# r6 [  T4 m% |" S          'add_new' => 'Add New',
2 T/ B9 A9 D2 D  |5 p( a+ O1 P          'add_new_item' => 'Add New Site Wide Notice',
7 {: z8 V' w/ Z          'edit_item' => 'Edit Site Wide Notice',
* ]+ }3 I) f: _- b; ]6 w          'new_item' => 'New Site Wide Notice',
2 n' l  ]7 D8 x* p% O          'view_item' => 'View Site Wide Notice',
( l( @" b* }3 F4 T9 ^& u          'search_items' => 'Search Site Wide Notices',
1 g( n; L+ E% Q( F          'not_found' => 'No site-wide notices found',
) e) @* ~9 h7 b: f. |          'not_found_in_trash' => 'No site-wide notices found in trash'6 H+ J5 Q6 ~! O5 B" r; s1 N. V7 H
      );- p# Q  w8 w3 C, [

  h" G) E3 \5 _; a6 K( ?+ ]      $args = array(
& U, w4 r6 J* D1 X# Q( g          'labels' => $labels,
( x, S! _" N$ D2 M# X  E! N          'public' => true,
# }: ~" u. b/ n" x          'has_archive' => true,& a9 ?( W6 ]+ n3 z
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
* T8 o& `' A& |5 v3 L) l# o          'taxonomies' => array('category', 'post_tag'),1 ?5 S+ n4 ?% y
          'menu_icon' => 'dashicons-megaphone',
/ C* q. u. h" a1 H* S0 e0 m          'menu_position' => 5,+ y) j8 D' A0 M1 ?8 A: A
          'rewrite' => array('slug' => 'site-wide-notices')
% e* v3 R% P( v* O/ l, d8 ~! _      );. I' v5 E" o5 K& f# u/ b7 ~
$ U7 C- `/ y, h) Q8 g1 ]
      register_post_type('site-wide-notices', $args);8 H1 a7 M3 t5 U: y0 e
   }
5 J: i3 T; }) ?' i0 t   ```
4 r* \; |. U8 J. Z
1 G! v! D) l5 ?$ M   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。+ p) a. f& e3 ]3 b& g6 D& {- }

& ^; }" a8 ~. y" i3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
- I1 a: y5 M/ B8 Y3 p* ]# R) B+ u; W7 L% o* E+ Y/ A- Z( v# L
   ```
/ G/ _! m5 H; _. j8 N( V4 J+ t4 }/ n   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');! Z1 i* X8 n0 U0 A# S
   function add_site_wide_notices_boxes() {
, W) l1 W  k# M4 X! p7 A1 c      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');8 b! z3 Q& e+ |
   }/ A; D2 X/ o) T2 N- Q" G- e
5 j8 k/ C8 \; [4 o
   function notice_details_meta_box($post) {
: p; n' O) I9 t! D/ @5 j& K      wp_nonce_field(basename(__FILE__), 'notices_nonce');
9 F1 c7 v( K) J) G* j4 n) S      $notice_title = get_post_meta($post->ID, 'notice_title', true);" ~- h1 w. K1 A6 w* W) o
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
: Q8 K: [3 O; u' B      ?>
- M* `5 L3 |0 R      <p>7 y  j: p3 f# h9 _2 f
          <label for="notice-title">Notice Title</label><br>3 {5 @2 ~& ]' o" ]
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">9 I, `% g! W6 Z4 N/ n& ?% }
      </p>) Q9 R" p' D  W8 Y* a( Y/ s2 d
      <p>& }: l" g/ p% g; N& M
          <label for="notice-content">Notice Content</label><br>9 g+ s. G# ^5 F- V. X
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>' R0 l0 B1 K/ H0 s0 K- D: j
      </p>! y) u8 [5 j2 Z4 l6 Y+ [. U
      <?php! p! {# Z" T# H7 d6 b
   }2 p' ^/ M3 C0 p$ l4 f9 D. O; F( L

# H( J9 W) H  A0 C2 `& S$ N0 ]   add_action('save_post', 'save_site_wide_notice_meta_box');* v3 O  L4 i# {
   function save_site_wide_notice_meta_box($post_id) {
0 s4 R( Q( p7 K/ K7 b      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))0 r5 Z: a, ], o4 x- I- M: D7 @( m
         return;; X8 J# P  K* {/ s# T: I
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
* M' C6 U: c* a3 S9 n& b4 J# R         return;- ?+ |* K8 z$ t" S" E" C9 s
9 ]4 k& {) I$ Z5 u6 u
      if (isset($_POST['notice_title'])) {4 h( J! E! A. v4 w; ?9 l
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
. e' G( V- t! G( v      }
8 ^6 Y, X; V* N3 ]      if (isset($_POST['notice_content'])) {  {1 x* R+ |; `) K! e& T3 P
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));* i  h+ i! D$ C
      }
( B: ~1 }, W: T8 N2 g6 h   }2 F- T% d2 U) R# x* p8 x7 d8 Q
   ```
5 n/ E1 J2 K3 j. a7 B6 h9 Q' y. P# ~7 ?2 C2 a5 C: t9 L9 `
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。) {  ?$ y! L4 k8 ]" m1 y" u

7 D8 \+ a7 w* r  M4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
+ e2 {! F" t( t$ |4 c6 x: p) _/ q+ x  [3 n
   ```
* Z$ q9 L% Y9 M0 ]   $args = array(4 r" q0 F% @: o3 n
      'post_type' => 'site-wide-notices',! u3 P7 s6 J- c/ c$ U
      'posts_per_page' => 3,
7 j, y1 a8 F% \! z      'order' => 'DESC',6 U+ n7 V" p  b! }+ e
      'orderby' => 'date'" w! Z: u0 _& U/ w8 [* S" b# u; S
   );3 E% y, P8 c# N; \1 o6 F1 L7 K
   $query = new WP_Query($args);3 v- g) d! T* m1 r% [: Y/ @
   if ($query->have_posts()) :2 z8 ], r5 o. W7 O
      while ($query->have_posts()) : $query->the_post(); ?>( v- `1 E/ [' V# Q, ?8 ^% T- M
          <div class="notice">" B2 R, T# x' h4 _* ]( v) n. ?
              <h3><?php the_title(); ?></h3>
% T, x! w0 v& A0 ]' e, R5 |+ R              <div class="notice-content"><?php the_content(); ?></div>
% S0 o6 ^1 b6 ^& p, x% f          </div>/ I" i% x; z) y8 q- l
      <?php endwhile;# b: `# Y8 ^  ]* I% l0 L  S. N
      wp_reset_postdata();
# V0 _$ O( j6 f   endif;
1 Q; y# \) r" T. ~* l   ```& L( ?" o) W+ y4 s
$ E" Y+ `- T+ s/ F! w& N
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-18 09:46 , Processed in 0.013517 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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