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

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

[复制链接]

346

主题

559

回帖

3656

积分

管理员

积分
3656
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
- }3 }2 Y' @# m) ~& M% ]+ A- m9 }% k+ ?1 y7 g- M' @
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
& ]  b8 Y5 j9 ?8 D; J, Y! @
1 ?1 j: y# ?( D! M0 {, o2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
* ^7 T/ g; L& c3 k, T% r9 E4 ?  i3 p+ c% @
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
( ~$ m; ?* h2 W" q6 d' M8 V( X1 Q
; Z; C8 c: ]- H9 m. i4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。0 d1 R) e! B- s* t  b& D+ ?3 O
4 v2 {+ R2 S9 ^
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

346

主题

559

回帖

3656

积分

管理员

积分
3656
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?( o# U" e! C4 b

, V& P; |8 M' f6 Q' R! V8 q如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:* e1 I1 i: F+ p# h$ J# {& O! ]

/ r5 H7 N3 c. Z. J1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
; x$ J3 e! i% _5 h- x5 f- G" ~, m: o( J2 r' ]8 W
   ```. Q) }( W# }" l# i5 V8 A
   add_menu_page(
1 Q' H- e; U$ s' q" a* G# A       '全站公告',
( v  N2 J8 m) ?) e& D7 z       '全站公告',
8 e9 v0 n- Y- p; d/ G* M       'manage_options', //需要的用户权限
+ R2 e8 v- |0 Y  p: o       'site-wide-notice', //后台页面的 slug6 B# d1 x# R8 E7 V' _. ?2 U! M# m5 D
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数; d+ @" V8 U9 D. }1 H9 x) X* k* B
       'dashicons-megaphone', //用于显示在菜单中的图标
# j  W4 L. G3 l& p0 z       30 //菜单项的位置& t  j8 p4 Q+ l: l
   );. a; ^) p% x$ W6 G) _* O# l. b4 p
   ```
$ M- F9 h' ~2 n3 k  T- A! {+ I8 P5 j% k
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
$ |. j7 u' y+ N
! ^5 p; Z. N3 H- A+ U7 m- U! B" W2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:1 U3 C/ L4 t  O5 k

, F3 ]5 V4 E: q8 b4 i3 Y; D   ```) r9 o+ p' u' {. @$ O+ ~
   function render_site_wide_notice_page() {; [. N5 [7 U* p0 r; y# [& [) C* o4 ?: n
      // 渲染后台页面内容# E1 D0 `6 }4 Q' p* o# h
      echo '<div class="wrap">0 Z6 Y0 Q; [$ y, k
          <h2>全站公告</h2>
" u9 V0 p) A7 ^) b, N          <form method="post" action="">9 j6 ~' D+ M$ ~  t) r0 d
              <label for="title">公告标题:</label>
1 K. `( g6 [! r1 s6 o' g              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>/ f: U$ h5 o3 e! E: X  ?
              <label for="content">公告内容:</label>  J% ^8 ^. q' v
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>- e' e& q. x7 M2 d' @5 Y% j
              <input type="submit" name="submit" value="保存设置">
: `1 I$ u1 H/ P% e  C2 ?          </form>; `* J, k- Z/ J8 y# p, [
      </div>';& v, |0 D! [' V3 p

: r( w4 V8 e: J: r- Y      // 处理表单数据
* w  [3 R) R7 Y) E% t/ @% Y9 G% A      if (isset($_POST['submit'])) {+ O. g" {: d' K% M& c
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
2 \$ W  e, y& A2 S) ^& E$ V, U: \          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
' Q: x& O9 m+ v5 E; f7 d8 a      }5 w+ i  ~# g) [+ V5 b
   }1 p" h  c& s, Z3 n# e( g' s
   ```
. M9 P2 k5 o0 m1 {: D
8 L# z# j  \, s" X9 I, k   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。; v- Y$ y0 b1 I7 H

( m4 N0 V* u" S  U3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
) q. Q: W; v8 U2 G1 M+ v: g+ B# T  B6 E9 U% `
   ```. Z: T' a; H& Y$ S8 H" o" D1 e
   <?php
& H1 P  D; m# H5 Z; k+ @! @% C   $site_wide_notice_title = get_option('site_wide_notice_title');, y& v- H: K' r1 y
   $site_wide_notice_content = get_option('site_wide_notice_content');
! [3 R5 t/ B, g/ I   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {" L* @; }# r5 W
       echo '<div class="site-wide-notice">';5 n2 n! Z0 Q1 B9 A
       if (!empty($site_wide_notice_title)) {$ F7 ^2 O: O8 F9 |( k
           echo '<h3>'.$site_wide_notice_title.'</h3>';  c- M4 B0 |% c1 ~; h$ J6 i
       }6 i. B( C' \2 A: F* q2 [3 B0 f
       if (!empty($site_wide_notice_content)) {; g+ M, L7 V* a; w9 N; W7 j4 i
           echo '<p>'.$site_wide_notice_content.'</p>';0 u$ |" d8 u  ]( S% w0 p+ m, _# N
       }
) ~1 N8 X. D8 t2 P0 m       echo '</div>';
/ t6 ]" P6 @, l, c9 E: f   }
1 t6 j& F4 r" |1 p2 J1 P) A   ?>7 m$ k' S& z3 _6 r; \- i/ Z
   ```$ k* a' P. D- V& _

# O8 Z0 r8 V6 F. E; {% B- w& h   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
% v4 B8 h$ g" G( E& M( {' n$ O: B% N
2 F0 |( q8 }% q! F" M" |/ M请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

346

主题

559

回帖

3656

积分

管理员

积分
3656
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?0 }8 u2 l4 G) a1 g/ Z
! N& s( m; c' W# L! ]* D) |
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
$ o, t+ n# ~, q$ z' B: |: j7 V
7 N2 G* [' I( y; J2 g0 ~1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:$ |4 B0 J9 Z% s( ^5 x0 s
2 ~, f; ^' Y! o; i* D9 ~
```
9 \" P" i+ M+ p" X. a4 mfunction create_custom_post_type() {* I; ^; U1 E& b8 ?2 O
    $args = array($ I* j2 `% ~; }
        'labels' => array(
4 Y6 x9 e% E4 f! l$ N' H" u            'name' => '公告',1 x; t; ~1 D9 k1 r* W
            'singular_name' => '公告'0 d* M# P. S& G# ?
        ),
7 L9 c2 E7 I% Q! s, L2 }        'public' => true,
3 A' q/ r& g: g4 P5 R% p  _        'has_archive' => true,
  N+ d% O$ D2 j- W1 n  h        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),: ~7 a5 x+ O/ K. ~, f
        'taxonomies' => array('category', 'post_tag'),
' G0 N8 M! D; k; V) ^5 D- G" ]! r        'menu_icon' => 'dashicons-megaphone',1 L3 _: z7 N# [
        'menu_position' => 5,* Z- D+ d, G/ I
        'rewrite' => array('slug' => 'site-wide-notices')
* v' |* ^% ?) }5 M    );$ t1 F$ P# b% |! v& b! |8 G; E
    register_post_type('site-wide-notices', $args);
+ ^2 Z% r3 S0 m0 [- B}
( i- P6 B4 V3 {" F% P5 }- ^add_action('init', 'create_custom_post_type');
& d6 T- j# I# ?```  J) O6 X, I; L7 u" X
: [) ]+ A# W2 V4 {: ~
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
6 u& Z) Z- m. C+ Z1 U* Y  O2 R1 f- S
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
/ f* p  e1 N# H0 @
9 |6 S: f/ @' v4 v$ D9 B* c3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:! [* ?' A1 Z4 s9 L$ z3 k4 O* c

, f9 g2 U+ y6 g```% |8 g9 F* G$ M! S# s6 `+ }
$args = array(% P& D4 B9 f% e+ X
    'posts_per_page' => 3, // 显示的公告数量
9 |4 y; u" @8 }7 @/ N0 c    'post_type' => 'site-wide-notices', // 公告文章类型
% z% L2 ?7 n+ ?* e" N7 p* \! V    'post_status' => 'publish', // 公告状态5 c7 J7 \: j& H8 D6 T
    'order' => 'DESC' // 排序方式7 i' ?, H; W& q& e6 q9 O; W" f* v
);
9 m! }6 A/ P, T" L: V" e( o
, B# C0 J$ N5 y$notices = new WP_Query($args);0 X3 F0 U/ F" m; I2 _' A, Z! O* {
if ($notices->have_posts()) :
) i& M$ F7 }: A" ~+ K    while ($notices->have_posts()) : $notices->the_post(); ?>
& c, O4 Y0 p6 }: L        <div class="notice">
* A. F# ~$ t) \" u7 I            <h3><?php the_title(); ?></h3># Q2 m, ]/ B) G0 J- i% a
            <div class="notice-content"><?php the_content(); ?></div>
( a+ g3 a% s2 w! o: F' ?0 A; v- y2 y        </div>( o. R/ q/ p9 p6 Y( N6 X7 P
    <?php endwhile;
8 }0 G- M( A2 {2 g7 m' Qelse :0 S  b' j4 z4 |1 W* s' w
    echo "暂无公告";3 {3 f" ?, z5 T  v2 N. |
endif;5 Y; y+ ^" T0 R" Q$ j
wp_reset_query();& w5 n4 b* y3 _+ V& N1 P% G
```
" M5 _! _+ F0 O) t. l9 h1 K, k! R# W  v# c  l
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。1 `7 C3 u" Q: U

' A: [( d% H3 O' p2 _以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

346

主题

559

回帖

3656

积分

管理员

积分
3656
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?* ]% Z( {/ V# `/ p- x" X

6 f' Z3 f# H! {5 r如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。/ _4 T! s- F4 D  t: F2 [
& t# h) H5 j' `7 {9 L
以下是创建自定义插件的步骤:
0 L  n( W7 Y- D  m) C+ b; R$ E; u5 ]6 S' R
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:4 k0 w9 a* v0 b( K
# m9 u6 N2 J8 `+ e9 j; I4 o
   ```
" ?' g+ N5 l1 K/ }/ [" j   <?php
; ]1 Y  p$ B. Z/ O   /*
: U( l9 N% d3 V, v5 o9 [   Plugin Name: Site Wide Notices Plugin$ D! t- M9 i, j' G8 Q
   Description: Adds a new custom post type for site-wide notices.8 j! P  L; A* y" F9 c
   Version: 1.0" J0 I( I3 @+ T7 T. D
   Author: Your Name  v6 V6 L# e! m% C; o
   Author URI: http://example.com
  ?# J9 D* U- x7 E: W! g! r   */
3 Z) ~3 a, \$ E* {$ h" Q  j$ D  n8 K8 H) l
   // Add plugin code here...
+ @% e$ g) @" l0 j" t   ```
8 p3 j+ F7 f/ \. |7 }  Q/ }" d3 D5 k
, f( {. O1 ~5 w- o( q   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
# |2 z8 S, ^! k  j' [1 Z/ J. J+ {4 `& j3 M, g
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:  U5 p- E- a$ L1 h! `: A9 V  s

6 j% b5 X7 A, j8 J( H   ```" e  O+ C$ a% E5 H7 e7 ^
   add_action('init', 'create_custom_post_type');
4 G/ {' x& x+ c$ _! Q   function create_custom_post_type() {
% R4 ~  o& b  w8 c      $labels = array(
# F: ~4 `% l. n. F; d3 P) j          'name' => 'Site Wide Notices',: t! j- K, N# L6 ]( |! Z6 ~
          'singular_name' => 'Site Wide Notice',- Q7 U' W, l+ Q6 q
          'add_new' => 'Add New',
0 D  E# R  L9 A          'add_new_item' => 'Add New Site Wide Notice',
6 C: j8 c' {, e$ y- Q6 ?+ @- x" T          'edit_item' => 'Edit Site Wide Notice',
' f4 ?+ V3 k7 C          'new_item' => 'New Site Wide Notice',8 }% t1 u# G; A4 F3 M
          'view_item' => 'View Site Wide Notice',4 O, |+ V1 E5 |& O' S4 |# T
          'search_items' => 'Search Site Wide Notices',
6 F) |1 v  |$ y1 }          'not_found' => 'No site-wide notices found',
" f5 s! e* h4 g" d$ ?          'not_found_in_trash' => 'No site-wide notices found in trash'/ O0 z! X. h; t5 j5 F5 p9 K: ^
      );
& V$ ]$ f. C& y$ y+ l7 Y. }# a# [) O( K
      $args = array(6 E$ x* q& f: e, J9 e
          'labels' => $labels,
- c3 h" A8 e3 N# q          'public' => true," x: z8 `0 p3 `" c' z+ ^0 A
          'has_archive' => true,9 h+ v+ f1 _) K) i) g
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions')," q+ Z2 Q- O7 @! N
          'taxonomies' => array('category', 'post_tag'),. M7 N9 X4 A' O
          'menu_icon' => 'dashicons-megaphone',
8 R3 w5 {2 i' }/ \6 z. O6 P, |          'menu_position' => 5,
% Y2 J; v/ f  Y, S2 z2 j          'rewrite' => array('slug' => 'site-wide-notices')
" q" J7 A. _' D/ I# |  b1 j; J      );
( E3 m) D4 B5 r' J0 |2 T" A  i; Q% |& c# b  i5 e
      register_post_type('site-wide-notices', $args);* F+ p& |/ O! G6 C1 o
   }
+ l* B( O. V( O' Z   ```
9 R! ~) @  I! x6 l3 A9 J+ `. x5 c( m6 v% T, L
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
1 ~. \- c+ p0 i6 T+ r  G
9 `8 n' Y" K# g0 L3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
1 M, n+ U- p, U8 d7 a$ R& X( i% w8 R7 H" E
   ```
1 J+ L0 P/ S! q2 y  m) K# ^" c2 U   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');* N  D+ \  M" {- {; S  {
   function add_site_wide_notices_boxes() {
7 G- Q/ t. x  f8 k2 K' M      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
! k: r. V9 T( x- B  g   }$ R9 h' `: {* c, z% S
6 D: c6 E- Y* w9 c& S' s. e
   function notice_details_meta_box($post) {
7 w$ \* d- g' ^8 w" h      wp_nonce_field(basename(__FILE__), 'notices_nonce');
5 d1 m2 _: \: c$ j  [5 L  `3 a      $notice_title = get_post_meta($post->ID, 'notice_title', true);
0 i; Y4 u/ H1 V1 T9 f      $notice_content = get_post_meta($post->ID, 'notice_content', true);
# z9 q, e7 ~" Z& A      ?>
- f& b. a2 @1 m* y: ^2 W      <p>8 e+ e# ?8 |2 L1 Y2 S9 Z' E4 h2 ]) S
          <label for="notice-title">Notice Title</label><br>( v0 M6 n9 H/ z/ v# J
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">6 ?! e) j7 [* p3 ]
      </p>  D9 a: z1 Y  [, [6 {
      <p>, H% d$ W  p& W! @8 R
          <label for="notice-content">Notice Content</label><br>
. i9 U5 y0 n# B8 c          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>* Z) J: p+ K( j  q' }; r* s2 n
      </p>6 P+ g" o2 F$ y2 g9 J
      <?php
: l; @" E6 ]3 [   }
4 L: i8 _/ [% n, E1 ^8 Q
; ?: A2 {. |& x5 D8 h   add_action('save_post', 'save_site_wide_notice_meta_box');
' f5 S9 n! _+ n# ?' y1 @+ f) {   function save_site_wide_notice_meta_box($post_id) {
1 v0 N/ r- m0 w; l& m; v7 {      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
+ Q7 f- r6 ~: k9 s& O- G; J         return;8 u! N% I1 p3 O
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
0 V- b; @9 K' N5 Q. r/ |) i         return;
/ _$ [6 h% ~3 H0 \
8 x! I" l+ |5 S; }  @" S1 S      if (isset($_POST['notice_title'])) {- b+ w* d# i/ }5 G
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));0 ?0 I, X% R" X$ p% R
      }
  Z) E) ]" o# @: |# L  x      if (isset($_POST['notice_content'])) {
7 j, \2 F( ~9 Y9 `7 A2 \          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));6 L8 Z  ^' l5 m$ q0 ?  y
      }; _5 v2 J* O7 ~- a  ?) X7 r
   }, {' w! A) T( Z8 j) D& I
   ```
: u% Z5 |9 b& j$ _9 ]+ T9 {  @  _
# d; p& y+ v+ [* P& J9 K   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
1 M2 I( c: s/ `( T
, B  Q0 e& v! W% D4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
3 N1 l; ~! v: B4 W* N5 ]  Z7 o& l/ N0 b6 p( g
   ```) `: R6 n9 _' @( N  y1 c. Z+ S' {
   $args = array(
3 G/ r8 I& B3 A      'post_type' => 'site-wide-notices',
$ d/ [1 X5 z" u      'posts_per_page' => 3,
! H5 H& |% ?  b  |  r: _      'order' => 'DESC',+ j1 O7 p2 v$ ]" N5 F, j% P7 _
      'orderby' => 'date') v6 V2 m* ]5 s, {9 ~
   );4 L8 a- z: E" F8 J% m6 r
   $query = new WP_Query($args);* U1 P& M7 ~3 x6 S! V
   if ($query->have_posts()) :8 z% n& t/ }; |+ x) [9 p' D+ b
      while ($query->have_posts()) : $query->the_post(); ?>
* ?2 Z( s/ Q$ F) U          <div class="notice">
' ?9 [: N( A# r1 U& |6 q% x* _              <h3><?php the_title(); ?></h3>
4 f, t  m0 m' @              <div class="notice-content"><?php the_content(); ?></div>1 B0 _# P" A: b1 b4 R6 d6 A
          </div>" s4 F" t+ L* {1 N3 m6 z1 \2 R* g
      <?php endwhile;' V3 y, P9 a% A7 f3 A) y
      wp_reset_postdata();" b" T, C4 U5 g" c3 ^: l! C( v5 Z
   endif;
( o4 ~1 f% D+ ~9 m   ```0 N$ F0 X/ W2 R1 N& m% `

& ]  R  V; w  j# F0 m" o* x   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-4 02:17 , Processed in 0.013540 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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