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

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

[复制链接]

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
2 O/ x4 b  G: V+ U! t, Q" ~1 M1 h9 x" M+ j# |% ~3 f, g/ R5 ~/ R
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
$ N6 h" n8 `  s: }
( f1 h, G% K$ j: z" Y( ?% C0 R1 d. v2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
+ d- h2 Z  N( [$ Y. H% l2 Q8 I! Z  S3 y
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
3 l1 [% L- @0 J! k& r  I! T% ]: H9 H$ M- `
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。4 Y7 v9 W3 Z4 @( u4 S, n* o% D

: b# T# X3 g3 B6 P注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?" c: d7 G5 }$ N" r8 V5 [: m
# a. ^6 R( B0 D! O! z1 {* P2 ], ?
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
$ W/ j* @% s$ I, T+ H  Z
* r" f- o/ M; ~# y* b& Z1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:. j, {- _, m+ U7 T( S; f; P

9 b8 h1 M' H  }* n" d5 U   ```
0 l$ \) a) c6 k  H   add_menu_page(
9 I' v6 o' j9 U/ b1 \3 `8 Q! V2 ^       '全站公告',
. F2 T# w5 j% p       '全站公告',
+ P  B0 A' L$ I# o8 B& p       'manage_options', //需要的用户权限$ U  k' k3 r: v/ g8 x8 U5 A# _
       'site-wide-notice', //后台页面的 slug
3 o& e. ~. g9 d       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
- V2 u! N. m" M: E& R2 O& r, p       'dashicons-megaphone', //用于显示在菜单中的图标
! `6 \& X8 |: c% I' k' e       30 //菜单项的位置/ ~$ x! h: x2 B
   );
7 _8 p* S4 Y2 W* _2 l5 g# Y) H  ]$ b   ```" g% C& V( N. L
9 s" ~$ z- R$ c. D/ x
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
' Y  }% A$ Z3 y8 _
& }- e- W8 A  F$ o+ H, o2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
5 }' t5 Z3 s9 j' a% g, g- ]& M2 d" A: f6 d3 O) {9 E+ g
   ```1 W% w' u" c3 K! O7 W0 v
   function render_site_wide_notice_page() {
5 j# w+ l" L3 x- Y      // 渲染后台页面内容2 j6 J3 O8 m( K6 T* A7 k$ E9 @
      echo '<div class="wrap">6 y* F1 z0 u/ ]: s4 w
          <h2>全站公告</h2>
7 a( d4 n3 T9 Z4 w, |          <form method="post" action="">( H# ~. k7 a/ M) I5 O( _  @) d" j
              <label for="title">公告标题:</label>- w# M3 E/ v& H: F/ v( C
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>: N0 `4 _7 Z" U: J5 l& ~3 b3 t
              <label for="content">公告内容:</label>, a- {. n, w& Y8 j" |& _1 z8 B
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
9 K+ ?) P% M# \) q; m              <input type="submit" name="submit" value="保存设置">
+ O4 Q8 x" t8 P8 w1 H* `5 }* i" f          </form>
# t: ?8 _" ~$ _: o2 ^1 c      </div>';
# A, e8 H3 L% M4 e! i2 p- \3 m/ o# R
      // 处理表单数据
8 ]$ v1 R4 M" d: U# s- C      if (isset($_POST['submit'])) {
' c8 j) Q* @3 `7 c; ~          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
1 l# l9 G% g2 t/ G% N1 [          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
/ `9 N: @2 D" [9 M  n" \+ I      }/ Y& y  y1 M/ c4 W. O
   }1 v0 d" }% f/ y0 F2 L# O2 D  \0 U4 D
   ```* s/ T4 A: b; ~
! a2 m. ]- n$ ~% }
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
# A5 j; G+ p$ W5 q" _) K; X# B; B# D4 q
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
0 y: i; i5 g' v( }* N2 R* P  B% W. [7 Y% r* T
   ```3 V/ O6 {0 i' J! @' w
   <?php
8 b. c* ^/ r  U0 V1 h) Y% c$ Z9 {   $site_wide_notice_title = get_option('site_wide_notice_title');
6 c/ W, W- S8 r% H; m* q   $site_wide_notice_content = get_option('site_wide_notice_content');; y1 W' d7 [5 y" m
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
' u4 }0 r6 C" }4 ?7 a2 ^4 f: @; |       echo '<div class="site-wide-notice">';
, b6 f1 j# q- u+ t$ v7 q7 _       if (!empty($site_wide_notice_title)) {$ ?! a; H7 h# [# t2 e$ Q+ U
           echo '<h3>'.$site_wide_notice_title.'</h3>';2 g- `& ~" l9 j6 X
       }% ]# b& ~' n8 K# G5 N$ a) l5 N
       if (!empty($site_wide_notice_content)) {
; a2 s5 D, t+ I           echo '<p>'.$site_wide_notice_content.'</p>';% x4 b4 `3 y* k" i$ Z6 o8 o
       }
, [7 ~+ s! E7 ~0 v       echo '</div>';& y0 N4 L' ^8 V
   }( ?% g! \- V' {9 O' J* S' \
   ?>
3 o% X! ^+ }% a# X   ```/ {" o' s3 j& J6 E5 G+ ]6 m

: n+ o% q2 [% ?8 t2 K   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。! S  u- P4 w# K; d
* x& p# Y" W9 `5 R8 a+ x" k# ^
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
' V9 R0 q9 H% L1 a4 a/ X
1 H' n$ c, i% T% U您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
6 _$ H5 h) S, X- b5 ]4 \1 X: [$ h
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
6 l1 |( h! G4 w/ r2 Z, g' l  A8 V% V* ^7 H7 i$ `
```+ L2 V* u2 R6 k+ @  [+ S
function create_custom_post_type() {* o, b6 r1 y. z4 }, e
    $args = array(
( U- C2 s% \" r2 Y. ?: M% m        'labels' => array(
& _+ R0 ]2 C' [: _, L1 G: P4 l            'name' => '公告',
# p) y9 q" O' u( r! q, `            'singular_name' => '公告'
2 y0 Z( n  {2 P        ),
; I0 V* |$ F, D$ B% i% v- F" @        'public' => true,' ]% @0 x% ~" V+ q' r
        'has_archive' => true,
$ ~) S; a+ E$ @. }( e: w        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
# b' q: l; s6 |% I        'taxonomies' => array('category', 'post_tag'),% C/ T8 V# c) k8 U
        'menu_icon' => 'dashicons-megaphone',+ \1 T3 P( b2 D9 p6 e: z/ Y
        'menu_position' => 5,
# W; c) }7 }1 I; A( z        'rewrite' => array('slug' => 'site-wide-notices')* {( C* z$ x" ^, _
    );( s- j* O5 v6 H# r( y7 f" F
    register_post_type('site-wide-notices', $args);
. A) W/ y# Y% I' r}
, l8 Z( y4 a) A# T( \) W& ~) aadd_action('init', 'create_custom_post_type');
& x+ Y: J+ _2 T6 {! m5 G/ b```
6 V& h# r5 a2 }. j2 K
3 D/ i5 A) @- A7 O7 m) Q在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
+ f7 v; h4 n  v4 U- B/ \
$ s; _# Y/ y# v$ o( U, i2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。9 ?, M5 P8 {4 ]: F
' ~7 v4 c1 M9 h
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
0 X9 u6 _3 s: Z+ b/ I- R
" L" L: _" o: w, I+ }& j```
4 }$ ?$ y7 f6 G3 v* k" K$args = array(
1 }4 }. d/ L: m6 B) F5 ]+ y    'posts_per_page' => 3, // 显示的公告数量% t0 @5 h! J1 o* K9 b6 M3 {
    'post_type' => 'site-wide-notices', // 公告文章类型' W9 J3 M, B! Z7 N) E: K
    'post_status' => 'publish', // 公告状态
9 G) @& F! f' r9 [- p; Q    'order' => 'DESC' // 排序方式. M7 ~5 C- H' \
);- n! Y1 F, t* D' q4 B

  ]; s! V. ~5 Z' l6 L$ f% a$notices = new WP_Query($args);* `" `- N' e  ^2 y3 b# t
if ($notices->have_posts()) :
- O5 J- m* o+ J    while ($notices->have_posts()) : $notices->the_post(); ?>
) \; A) l) u- C2 t( a        <div class="notice">; F. f& N) A% R, C: l$ V
            <h3><?php the_title(); ?></h3>- y6 X1 c, K) ~
            <div class="notice-content"><?php the_content(); ?></div>
( {0 H2 X) s9 S  J; e+ h        </div>) R; k* N" E7 A" C3 P- A& E
    <?php endwhile;
8 L* v8 b* b" ^else :! j& N0 G: p0 s+ i$ ]
    echo "暂无公告";
" H( |4 n0 k% I6 {endif;
* x/ n) V' F7 iwp_reset_query();
9 X" r: H. m. D' W```% i8 o  T, g/ }/ K9 [( V( B
) B, g% y) A2 C$ `# d9 G: w
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。5 e1 ]. T7 D' x+ j
" t7 R, y, d( V. L" T# I- C! _
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

565

回帖

3683

积分

管理员

积分
3683
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
  H; s3 z9 G" Q
1 D: g; v1 }% c' ?) _" X如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。8 T, E7 ]& Q7 ^3 v4 O, A8 y7 A
0 m1 a% V% N. P: _7 P. ^( r0 n
以下是创建自定义插件的步骤:
# E4 X% c  X5 F8 W/ a
% ]2 n- p' `+ ]5 ]' T' k1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:9 I3 \4 W1 v5 L  R/ }2 j$ a* s

) Y" y1 g' @: @* T( ]' k   ```* B- N" W$ T; @- @6 I
   <?php
+ z+ E. ], C9 @4 n: E9 Z" ]0 t3 I   /*
' {# V) H' L% |. v' q   Plugin Name: Site Wide Notices Plugin
& T3 p4 ]* \' X$ g( @   Description: Adds a new custom post type for site-wide notices.. t3 j- m6 l- H4 G
   Version: 1.0
% J: K0 k! T2 J8 a) v) r+ K   Author: Your Name' S/ i; b2 {$ t
   Author URI: http://example.com
3 q  f* a* o% y  W4 S1 `   */
' s. u4 s& O' v1 o, W- w4 A# ~( e! c$ f
   // Add plugin code here...
9 s; M0 j: G5 }2 U9 S   ```
  `8 ^3 r1 ^, l  N% g$ h; A6 n2 A9 B+ |" r; T$ C" r4 @! g
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。* y$ a3 Z. K; }/ {* u7 [+ K

, @* X+ ~8 |1 Q: F$ P. A2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:5 I: I( c; g4 d3 t! m% G
# U0 j" ?' `7 s1 Z; |
   ```
/ ~0 {4 v; h( L& G& M5 r0 C   add_action('init', 'create_custom_post_type');
0 y+ `. b7 W1 S   function create_custom_post_type() {0 Y% c; }9 a4 m  ]$ D6 X* K1 v
      $labels = array(
. d1 R6 `& h1 X( F5 k- n& u' N# B          'name' => 'Site Wide Notices',5 t; ?. O, O& _# N+ z. Y$ S- u1 a
          'singular_name' => 'Site Wide Notice',& ^8 m, s" K- B: s1 K
          'add_new' => 'Add New',. N) @& f$ c6 m7 d: f5 {
          'add_new_item' => 'Add New Site Wide Notice',
0 m$ \# Y2 K) W- u1 u          'edit_item' => 'Edit Site Wide Notice',
+ W$ N# _+ x8 V: T5 O. R          'new_item' => 'New Site Wide Notice',$ L" I- b5 n- _( s
          'view_item' => 'View Site Wide Notice',9 p% j$ [& n8 g8 P
          'search_items' => 'Search Site Wide Notices',
6 }( N6 A4 u1 k  ?! @# O. a          'not_found' => 'No site-wide notices found',! A; b" }5 \! w$ F/ J! P! M
          'not_found_in_trash' => 'No site-wide notices found in trash'  {  R5 @/ }' d0 z
      );
$ g2 {- c! B8 ]( x: \( x5 S5 Y) E
4 g/ Y* Q; }/ L. u+ `# q5 q& }+ y      $args = array(4 R1 D; T% y1 Z* P$ w% T& K
          'labels' => $labels,
' \5 l# }. V0 p4 g3 d          'public' => true,
) O0 a" t# |1 }% M+ a4 y* ?          'has_archive' => true,7 E! B& E+ n  }2 f5 m+ s
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
  a( Z3 V1 j9 E9 L  [; }. [          'taxonomies' => array('category', 'post_tag'),
9 ^: x9 T; O% a) s; h) U          'menu_icon' => 'dashicons-megaphone',& L+ e: }# I0 x# J- {
          'menu_position' => 5,/ i, B+ t2 H6 s9 f3 T
          'rewrite' => array('slug' => 'site-wide-notices')
1 j3 }/ R  i% W0 D6 \% c      );1 O: |0 l& e/ v$ d" }2 X: \

" e6 d$ S/ K9 p0 I. B0 M3 r$ @      register_post_type('site-wide-notices', $args);
5 k9 O7 ~( p- h. F/ J$ h1 ^8 R" i   }
$ V- W2 |2 o7 b6 P3 ], }1 U9 I0 F   ```' J7 x% _) s& H% Y$ N! i) W4 q& \
  t0 Y6 W9 U  c& D% C. \7 |7 J
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。- G2 U2 x8 k5 f) k2 i

/ q! p* r/ Y- r. y3 s3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
( W) N' P- E/ D8 J( q& V" \/ o
9 d! G7 j+ j, w  u" u   ```0 A) u3 L, `3 E1 ~
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
* l" E  [0 V8 J9 ^: q3 {- K0 m   function add_site_wide_notices_boxes() {. K& L; j7 K8 y" V7 ?
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
: K" O: J7 u5 i  a* q1 ]! {   }
) G* A5 l& H$ B# P
- v, i" W; Z& J   function notice_details_meta_box($post) {9 p" m8 z% G$ R
      wp_nonce_field(basename(__FILE__), 'notices_nonce');
0 G' z7 y5 n0 b5 C$ M* x      $notice_title = get_post_meta($post->ID, 'notice_title', true);
: X+ R, C% T0 n9 @/ y      $notice_content = get_post_meta($post->ID, 'notice_content', true);" X- N5 x) _1 |8 ~4 ]" E
      ?>1 e) w+ B- v$ F8 x1 n' o$ j
      <p>
9 y; a* y. K2 H* M6 T          <label for="notice-title">Notice Title</label><br>
6 M! P+ e- r; ~          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
' h9 s0 M5 K8 ?  u& A; v6 F      </p>
: l0 }+ Y& [- e) P6 l* c" N& X      <p>" H" ?% b& K- p6 G& V: W" v
          <label for="notice-content">Notice Content</label><br>! C* M3 M: a1 y4 B4 T4 W
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
2 O! X  i8 V+ ~- E% |* a      </p>
0 Y7 ~, f- W& j+ s: z5 i      <?php& a8 S. G. I! `
   }
# Z- I, Z. ~; O8 P
: }3 Y/ K2 Z: [6 E   add_action('save_post', 'save_site_wide_notice_meta_box');
' [( }) j) Y7 i5 ]  j; B& o* m* u   function save_site_wide_notice_meta_box($post_id) {
4 S- B8 ]" c  o( \- c      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))+ g+ F7 R: O. T
         return;
& ?  u# [' F, ^% ]8 M" U      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
  y7 j- s9 ]1 ^7 J         return;# L# q8 J' e! D  L$ e8 F

) T. F6 T7 `( d+ P, X9 Q0 b7 d      if (isset($_POST['notice_title'])) {
0 N* |7 ?4 c  t) U          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));1 Z: ?) s6 W$ i
      }6 C0 X  g; q1 l& v! W! W9 o- v. [
      if (isset($_POST['notice_content'])) {$ @( d6 H$ x& r. k* x" U! L
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
5 A8 L7 N: d9 n+ V  K      }
1 q' D0 O" r  M+ c9 g. A; N   }
. B4 i; q( f( _7 ^   ```2 u/ H6 o* X6 c& s+ j1 g, b

0 k- F) F( E' ?  X   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
" g/ w1 D2 e/ |0 P1 D9 ~( ?# E1 \' n$ u& j
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
+ l; l. G) j# y. f( U/ R, x. O& w2 M
   ```
/ y3 n! h+ W. W8 T7 g- Q   $args = array(
" n9 n7 k, J. R! |      'post_type' => 'site-wide-notices',8 @5 A% f  R& H( r- E
      'posts_per_page' => 3,
, s- T2 S! ]( l      'order' => 'DESC',# s) n( l% ?! ^1 e
      'orderby' => 'date'
2 G" r2 R# ]& c. h/ w   );1 E4 g5 c, I% h, w+ t8 g
   $query = new WP_Query($args);, R- \1 \, M; B0 e
   if ($query->have_posts()) :
# ?/ l7 y2 E# y& o      while ($query->have_posts()) : $query->the_post(); ?>
* e( O) v$ `) a1 F* t: E5 T          <div class="notice">
# }' C0 _5 Z+ y1 B              <h3><?php the_title(); ?></h3>
6 G% u6 w$ _" }  b! n" j              <div class="notice-content"><?php the_content(); ?></div>
: z% e% p& `  Z+ {0 Y          </div>
" x5 e) i3 p& m& M+ A' c      <?php endwhile;8 s5 Q8 w8 Z8 S1 x
      wp_reset_postdata();
! Q2 ]- }& B& K" u+ J( U   endif;, a7 y- b2 v' W6 x  v
   ```
2 ~$ w) y# d" h: ^/ I) f6 }3 ?* U% I  i' x1 v, V4 L
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-15 01:59 , Processed in 0.012751 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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