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

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

[复制链接]

340

主题

529

回帖

3528

积分

管理员

积分
3528
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
  \6 \" |6 H! o8 Q0 J8 K
) g0 w2 E# |7 J1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。' N* L# h5 W& G1 g7 e' C

* K" j/ L' v5 s4 E- j2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
' x( o. K# Z& `; S2 r; H$ w0 [' J: h7 K2 X, ?, a: x; X
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
4 X* F5 s/ X  a8 A- l& C% P# I+ X& r- |
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
  |! \2 I5 {5 p9 e, j1 v" I6 S
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

340

主题

529

回帖

3528

积分

管理员

积分
3528
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
  w, p* o' r8 \' h- b# q" u  I. v; l6 q% y3 p+ J  T
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:/ s; O9 E; T2 r* x  r, @. h0 Q( Y2 X
" x+ t& _& X4 g5 |% g0 C$ e
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:$ V$ I% x$ h6 q! f4 Z) c
/ K9 F0 Q$ \8 w* I, F9 W
   ```
  w3 {& ^. V" K: J# ]% V2 t/ R   add_menu_page(/ T* i  m9 h, @! `2 w
       '全站公告',
! V2 `  q& \; u9 {       '全站公告',
# v+ _  R8 I8 h, Q7 w       'manage_options', //需要的用户权限" X3 x+ A7 [) [/ K* t' s' U4 J
       'site-wide-notice', //后台页面的 slug& z, z* x1 f3 U! ]' ?, T
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
' A: o. L3 z$ q4 `9 H9 x5 ?% l       'dashicons-megaphone', //用于显示在菜单中的图标
% u2 D6 I+ u3 ~       30 //菜单项的位置' |% `% W2 o9 U" X$ l% I& m! g
   );
, b% W0 S' Q: s) f* a' U' d, w, ]   ```1 f" y) R8 ?8 D0 K
, ^2 a9 b, O! k& t( T0 u  k( F# s. U
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
$ h. `3 h  R+ M
$ y6 ~. \, R( t/ b8 k2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
; I7 O! u! ~- ?  ], ~7 ^
) B! Y8 m" w( F. S8 B3 t, q* y; R   ```+ d) V% N5 g) b, ?+ Q' ^
   function render_site_wide_notice_page() {
/ A. N  C/ o" q1 V0 u      // 渲染后台页面内容0 J& ?1 t$ N& ^: u8 |' N0 ^
      echo '<div class="wrap">4 I- ]9 I- Z, j, Z5 N
          <h2>全站公告</h2>$ t3 G$ j* }; ]9 f' N
          <form method="post" action="">
% Q5 x( N1 J5 A$ `% s              <label for="title">公告标题:</label>
, h8 Z3 Y+ A( \5 ?2 h: N              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>% K- a& ~: ^1 f2 l
              <label for="content">公告内容:</label>2 E6 q/ K5 X* b/ K2 K8 u
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>1 w+ q$ e" ~5 J! @* Y' v& X' Z
              <input type="submit" name="submit" value="保存设置">
9 o9 A' {& ?0 i- k, a9 J2 U          </form>
) q/ Z2 K/ X) O" X. W) L      </div>';
* @0 i* S3 A$ Y7 c, N- X+ g* Y! {( p0 W- S% m
      // 处理表单数据
* H& K/ u$ c- x$ j+ Z5 [( `" i9 [) X      if (isset($_POST['submit'])) {* Y. B1 I, s) w- W5 @; e! [5 M
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
8 ~" C3 S3 d1 j  \' {% t0 N  H          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
% R1 Z" X; r- ?) Q& p      }
8 U8 [5 Q4 a6 e% {: S   }, s/ C' r" ]; [
   ```" _8 [3 U! U, j5 N2 T( V
+ l: V/ Y4 [& P, K, q
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。! J2 |9 K$ o) w1 `- r' x3 k* i. S

. A$ F/ Z  d9 t3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
" h1 [* c; W; \3 J% D9 p
! @$ d7 u* _1 Z4 e' S   ```
) N0 J2 R2 d  s   <?php$ I2 W3 z6 q6 G! T( A3 F$ J
   $site_wide_notice_title = get_option('site_wide_notice_title');
7 y9 e- o$ ~0 I   $site_wide_notice_content = get_option('site_wide_notice_content');$ l4 \+ R# r1 g
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
/ A0 n; P* f6 t' Y) r       echo '<div class="site-wide-notice">';
3 r" G$ i7 F1 }' q       if (!empty($site_wide_notice_title)) {
7 x$ i. @" D4 u, Q3 t$ T           echo '<h3>'.$site_wide_notice_title.'</h3>';& U' J: }$ o' ~/ A" T: g! L- v1 ]0 `
       }
) j' B. N8 [2 Z' p3 |0 S       if (!empty($site_wide_notice_content)) {; j& F/ n7 N8 P3 T; @& Z
           echo '<p>'.$site_wide_notice_content.'</p>';
' U5 p8 n4 I( E# h4 i- }, V6 K       }
# |1 J3 J; ^6 W3 v/ y& V' y6 H       echo '</div>';
2 \, ]# |, f6 }. y: Z; `$ A- L   }
. q) d7 a2 T, c, X6 ^   ?>! C' L# w8 H5 G# O: J
   ```8 k1 j( O8 ]* c
  z' V9 ~" l6 W, G
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
1 c) J& |7 c9 c' K
( \' `% n3 q* J; F; O请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

340

主题

529

回帖

3528

积分

管理员

积分
3528
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
2 ~# E6 G6 @0 y1 `9 @/ R+ B3 g) u
/ C) e; C% ]  b您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:9 p& U. |" `8 H- d
3 R" u4 h/ A; W; w) h, x! o: `) i' R
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:4 A2 J; A! ?/ M4 F/ Y5 H+ \
/ J* t8 |( o, i
```7 [0 G/ }1 l) j+ P3 a* i
function create_custom_post_type() {
6 y% I' E( q1 \" b    $args = array(4 e# a1 W( p) h# N
        'labels' => array(3 b/ d$ V& W+ n; i
            'name' => '公告',
: H- G3 K/ m. N# g0 B            'singular_name' => '公告': h+ L6 g1 s! y9 \" E: @, w
        ),: b, ^) p$ b5 R2 [* M  k
        'public' => true,
" y7 j- N, E" |+ e! r7 j, {        'has_archive' => true,# ^; p% A" i6 w
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),: g1 R) {/ Y! S" M  v& f$ u9 f' K
        'taxonomies' => array('category', 'post_tag'),$ {; s2 k+ ]8 m# x% \
        'menu_icon' => 'dashicons-megaphone',% w& x, Y9 w& f( z, e
        'menu_position' => 5,
/ d' L, K) y& g; Y" a4 q4 ?* ]        'rewrite' => array('slug' => 'site-wide-notices')
' R" N3 H7 }1 w: o3 F    );: Y+ e6 o) j/ h: P! Z0 b
    register_post_type('site-wide-notices', $args);
( P* H" C% B* M/ F6 p}0 ?7 O4 p0 d$ d/ S
add_action('init', 'create_custom_post_type');
# r# x( X9 c/ O! v```
& j) _1 J) V2 H/ C4 H8 J; Y! N" O
: m3 R5 g' y  n" `在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。+ N0 E3 z9 i/ c' g

/ R0 K& b) n4 ~. B# U2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。+ {; F5 A, ^5 z7 G/ x
$ s1 N/ Z- b) C/ r9 `6 R, U. T
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:) B7 M+ W& [' d' ^' @0 e% ?

8 }/ P: k/ l1 Z7 a( F* E```5 N. X) ]* j' O  t3 o1 \$ N2 y
$args = array(* v$ v- u. u2 R  E; w3 O4 A: C2 D
    'posts_per_page' => 3, // 显示的公告数量
% ^! [% a2 l/ |4 T' W    'post_type' => 'site-wide-notices', // 公告文章类型
8 N" z9 B" W2 s# A6 B; h1 M) x& p0 t. X$ m    'post_status' => 'publish', // 公告状态
) I5 Q3 O$ f1 z    'order' => 'DESC' // 排序方式; q( s& e( W8 K: @) A
);
- c/ _  {9 v+ ~7 @* B1 F6 u4 G# ]5 t: z- C# n' M% I
$notices = new WP_Query($args);  {$ _& s5 O4 S+ o# |- W( G+ o
if ($notices->have_posts()) :' o9 f6 s% @3 B6 g2 {9 D
    while ($notices->have_posts()) : $notices->the_post(); ?>/ A) m2 G; r1 `& [; V1 M0 k
        <div class="notice">5 Q0 O$ }9 t" F# |/ I  ^
            <h3><?php the_title(); ?></h3>+ ^7 L; R1 h: ~, d
            <div class="notice-content"><?php the_content(); ?></div>% v: g  e" j, v) _# u
        </div>4 c5 m5 D3 }/ V- Y
    <?php endwhile;. E  C2 [$ D7 k( T* i/ S5 R2 C
else :
' H$ H3 ]5 |0 Y    echo "暂无公告";
( a# F9 n# V" R% _8 Q. Z! Oendif;
0 n! N  i/ T: s& ywp_reset_query();9 r" L& r3 C; n* {6 h
```, H5 B; i7 X) v+ {5 O3 V
* U. ]) v4 E# s. x7 j' O3 m' v  I0 ^
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。# E. f* ?# e- C9 m3 W  L

" g& v! D* U2 O+ F/ O以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

340

主题

529

回帖

3528

积分

管理员

积分
3528
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
; x9 C' k$ p* M; o! r6 |& C$ B3 N+ i  |2 \
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。: Y* V4 |7 C8 D% \, h8 B% z! P3 T6 j
) |* d( ^$ p: }
以下是创建自定义插件的步骤:
* X0 p! _+ B6 |& o) n' P6 {3 O0 Z! ~' o) s" F4 z% Z
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
. C4 g, k+ c* ^0 |) ]. I6 U/ ~7 T  y' A
   ```4 s: E  N) k  {( |, L# m$ ~
   <?php
6 Q3 a3 y( ?, ]* `+ d9 L   /*5 w0 T$ ~! X$ h7 P" T( X6 q% r
   Plugin Name: Site Wide Notices Plugin
' ^# n& i" H% ~/ K$ ^   Description: Adds a new custom post type for site-wide notices., [$ v; ]% `* g' ^, E! u
   Version: 1.0
! R$ V8 S# H: K0 s- }, I& R   Author: Your Name
6 T5 a' p4 N8 {  n; T, E   Author URI: http://example.com7 b  P' G; }. M- p" `2 v4 l3 X9 d
   */
  R" r4 J9 N" o# n9 c  B5 d2 y' y2 A$ T3 R
   // Add plugin code here...4 Q' Y& u  d( D, J. v2 |( {7 a, N
   ```8 a5 s/ K6 N  G

1 A/ T4 q) s. T7 g3 L6 h1 g   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
% B$ e1 P  {. E4 e7 w: N. A4 ]- I7 M' F( _
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:8 Z) w' h9 h! k) w

/ w* _  N1 H  Q* G8 R   ```
# O3 b5 X3 x7 f; _! f6 C   add_action('init', 'create_custom_post_type');
" O& j% R8 J" u1 O1 v8 f   function create_custom_post_type() {$ x% h9 v+ x7 S/ h* p& B6 ?
      $labels = array(
$ ^4 y5 y# ^" o          'name' => 'Site Wide Notices',; w  `: J% o8 U6 j
          'singular_name' => 'Site Wide Notice',- \4 @5 C1 z. I* K' ^+ X. z
          'add_new' => 'Add New',
. p, |5 B2 B7 }* @' f6 W# E$ C4 e          'add_new_item' => 'Add New Site Wide Notice',
7 w$ e9 k6 l5 I7 v8 Y$ p          'edit_item' => 'Edit Site Wide Notice',
$ u2 g! s' T% _. }          'new_item' => 'New Site Wide Notice',6 Y7 z2 T$ f: r+ [  w5 Q- J/ R
          'view_item' => 'View Site Wide Notice',9 p2 A) n5 t8 T6 l( E! L
          'search_items' => 'Search Site Wide Notices',
# S  S" B7 S! Y9 r3 p9 c  D          'not_found' => 'No site-wide notices found',5 y" {. S& i, X$ `9 d" V
          'not_found_in_trash' => 'No site-wide notices found in trash'$ S2 ]4 w# @# N8 S8 d/ j. e4 L; f
      );+ C$ ]+ [' W  b0 F& G" B  s) T+ H7 N
9 t/ e4 o( h3 l
      $args = array(
7 Y& m! z4 N0 a3 S( L          'labels' => $labels,/ @* f( x/ |! c
          'public' => true,
1 M+ f0 c$ O+ l5 g- S, p& u8 m' |          'has_archive' => true,
% E% Q8 B" i  Q          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),5 O8 E* S% g0 j: `5 ~/ g( w
          'taxonomies' => array('category', 'post_tag'),
0 Q- }" \) e) \6 e% B  C          'menu_icon' => 'dashicons-megaphone',
+ z% B- p. C) D, m9 I+ l; o0 B          'menu_position' => 5,
( J! k! {/ d, }2 {4 E. ~3 ^          'rewrite' => array('slug' => 'site-wide-notices')/ ?6 p+ n0 J. o
      );& |+ h; o% p7 `" Z

0 C, d! k2 q  i5 D( W- ~) x& z1 f$ O      register_post_type('site-wide-notices', $args);0 x' t- i4 i( G4 C
   }
- U( }9 k# v  T- n, t+ z   ```* Y0 C3 s. X% F9 d. Y/ Q; l& X5 ~% V

: G" C) Z% u. ~& B* F6 \8 q   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。1 d' _7 c8 V1 m7 A% O! k; L
, Q: P% i5 ?8 L( @
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:; R- J; D. M; k9 G+ `2 z
6 H0 w, v/ O/ _3 D4 b: K- Z- K
   ```
  L- @8 X, w, Z7 f+ S+ J/ @" A   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
$ T4 }+ g" @: Y   function add_site_wide_notices_boxes() {
4 m! M) `; O. y0 ?; E- U& Z      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');+ ^- f* [4 K( Z* y
   }
0 s; q: P" \" K( l, Z4 \* v6 l1 o' k: S
   function notice_details_meta_box($post) {
) M7 u- F) Y, c3 `9 k; z      wp_nonce_field(basename(__FILE__), 'notices_nonce');
8 q: \- z2 u1 @' P1 x      $notice_title = get_post_meta($post->ID, 'notice_title', true);' [% k" o% L* H/ A( e, c8 x
      $notice_content = get_post_meta($post->ID, 'notice_content', true);  A: [  x5 v4 X
      ?>- F3 H, }4 A# `4 u* q, n/ U% u
      <p>5 [+ |5 L) r, p6 n
          <label for="notice-title">Notice Title</label><br>
( s, u+ n) a" C& }6 [          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
! C% H0 F) S9 x0 D      </p>* J& L: ]) p0 @3 }$ L, y2 P- s( k
      <p>$ T# z2 W' V6 b3 t8 U
          <label for="notice-content">Notice Content</label><br>
- W! p  j# x. P# R" D          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>$ ?/ x4 z% m6 ^2 Z: ]6 ?
      </p>% W! }4 @7 J# X9 I& l
      <?php
9 B+ J) X4 Y/ p1 u* r& r: g   }
1 T+ v$ j$ Z/ T, j  f( g
# X3 G7 }2 ~3 j% A   add_action('save_post', 'save_site_wide_notice_meta_box');
5 R3 k9 k8 o) R# e. i0 }# D4 {   function save_site_wide_notice_meta_box($post_id) {6 D: m. i, ^+ r# Q0 T
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
) \) G) t# p! u) ?         return;
' w: ^8 V5 Y) U8 y4 _2 R8 m( M      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
4 m7 |$ `: s+ E         return;
4 ]1 {" Y  f4 O3 `7 k; r
' d0 _' z# u! v% Q2 s; ^! j+ z      if (isset($_POST['notice_title'])) {8 w+ l: X) O6 x# [" u3 Z7 l9 H
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));' }5 F* M, h2 M0 ]! Z
      }
) @6 ?0 B! @- T! k1 L      if (isset($_POST['notice_content'])) {! K' H+ T4 J- G3 W+ h$ C
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
. r1 G4 m2 _. }- G! M0 [6 }8 ~      }( o: ~4 s0 Q+ ?6 R- k# P+ {
   }
# H2 H8 \+ H# T2 a8 N9 i; U   ```
* j. `1 k, R! E% X3 g
8 @' O: r* [3 c+ f. Z   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。  B' y1 u" P9 P  a

+ `. W# Y. p+ T# {4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:% Z9 O8 F: _! z" n

; v$ E' C. B3 l. C2 U6 q6 s1 i   ```3 r8 L( C& ?% Z+ t% ~% h+ z  H% `8 D
   $args = array(
& u! g2 C5 p. n$ r      'post_type' => 'site-wide-notices',$ n. G3 z; E: b
      'posts_per_page' => 3,
# t. {# p( B4 T      'order' => 'DESC',, i% D: n. r+ u8 M
      'orderby' => 'date'+ D  M, D/ ]- f  e* K0 O
   );
* `. A9 N6 P' V4 i" j   $query = new WP_Query($args);4 F% O4 n+ _# u- ]5 F
   if ($query->have_posts()) :
& X2 M" ~0 H2 ~2 _2 `      while ($query->have_posts()) : $query->the_post(); ?>
1 j/ O% @" R, [. M          <div class="notice">$ V* X* S7 J/ D/ t* s
              <h3><?php the_title(); ?></h3>4 K- l2 A) I! B. m+ c
              <div class="notice-content"><?php the_content(); ?></div>0 {# ]& }7 d! q6 N5 L$ p* V% V8 o
          </div>- c4 H! S8 h! w( I
      <?php endwhile;
3 G1 r0 }9 {/ o  O$ w      wp_reset_postdata();
; G6 k; x' Y' F7 a   endif;
$ b% D0 ]3 q) d5 O. U' w2 P" \   ```$ f0 e3 t. M- F* w0 w
3 J- ^$ M/ W& ^$ t8 u+ b4 ?
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-17 10:39 , Processed in 0.025576 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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