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

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

[复制链接]

332

主题

513

回帖

3376

积分

管理员

积分
3376
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
; N# h# l! P( h7 t! R( x! B- N+ Q
% b4 e7 [- Y6 O; a! Z7 b1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
5 m( W+ H2 `  r; N- K" y
  E& _' [9 r% ^- H' ?2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。: i4 |5 q% D3 x4 ^1 r/ g0 s8 x
( X2 q. N  n# H7 I2 E
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。: w% R4 h3 b- \5 t

9 c6 p2 l2 p2 x& P% x( a8 T$ e& Z4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
" q5 R$ x" c1 w0 H# e8 G: X+ j& r4 \
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

332

主题

513

回帖

3376

积分

管理员

积分
3376
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
2 L4 D  L0 T6 x) U; u4 I- Y: ^
8 `) J' S0 x$ g4 x) u' V$ j6 `如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:+ v' T7 H3 N2 G+ v. Z  ?# R8 a
, T7 g7 H0 V) R3 m+ s; J1 j
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
/ s+ g7 Q1 _$ P0 C
2 \* a+ |: l( {8 _$ O   ```0 I6 p( [8 D9 \% M$ o
   add_menu_page(1 G. ^3 P' w3 c: O
       '全站公告',( R  s% l- F! m' e' C6 w3 X/ I
       '全站公告',
- I1 R3 P5 q7 I6 B0 D% G. F. F: c       'manage_options', //需要的用户权限6 b" @9 y, p, L8 y4 U( K/ n
       'site-wide-notice', //后台页面的 slug, G. m4 L6 _3 O) s6 a* X
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数6 g* C% j% z5 W# \! i+ H. h; E/ [: u
       'dashicons-megaphone', //用于显示在菜单中的图标7 _* V8 r3 o# R2 s1 t; o+ c
       30 //菜单项的位置
6 x8 ]5 f# F/ k0 u" R/ B   );( `5 d* w: X. h  n
   ```
3 O+ b' g+ }0 K, ?4 I5 O+ X, X" @+ E/ _/ W
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
0 w$ D* S6 X$ P: R$ M6 b/ J+ E- q0 [3 {
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:) P% Y2 B$ k$ M0 d
" n3 Z" h6 R6 T% \
   ```
1 o5 [) c/ Y4 r   function render_site_wide_notice_page() {
9 T* a$ L2 x# R9 N4 U9 z      // 渲染后台页面内容
/ h/ U) h( ]8 O: M8 G6 ?# ?      echo '<div class="wrap">
! R0 y! \9 R0 i7 V          <h2>全站公告</h2>
& S9 d  f4 b( J          <form method="post" action="">+ H: B7 ?8 j. [2 D
              <label for="title">公告标题:</label>- e0 H; L. b9 s% E1 c, p
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
7 A& b/ A1 Q$ u0 [1 C6 R# G. [' |# E              <label for="content">公告内容:</label>
/ f. X! x" n4 d              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>6 y; D, m' S. ?5 k
              <input type="submit" name="submit" value="保存设置">
4 F; t6 a- C" [* x. C4 G4 c          </form>% d% N" ~2 d! A% G) S! r
      </div>';/ t; |% c, ~) \/ l7 [
& P% V, \6 z9 N  \3 G
      // 处理表单数据
# y' V) J! K% c5 n      if (isset($_POST['submit'])) {6 H+ W1 `; {7 N$ {
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
' P( @& Q; ]$ ]& R- @, h" v7 z9 \          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));& u8 t8 d; H0 q1 {  Y. A9 T
      }* r3 V( q" M( r$ D% c
   }
  `8 A: O) C+ q! _   ```
1 I0 e2 w& V4 k. B# r  t% K8 @5 }/ q% y0 l
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。5 _5 `6 N  |) i6 D$ m( f
4 z4 A+ X$ z0 B
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:/ I  j* _6 T/ K( Q- ]
5 Y4 q4 z' u7 f9 i
   ```
* z8 o$ \% l# s9 U$ j   <?php
4 w: d7 ]$ H; C& Z( [* a   $site_wide_notice_title = get_option('site_wide_notice_title');
( b) E7 X: O5 t$ S. m   $site_wide_notice_content = get_option('site_wide_notice_content');; f/ ~7 g3 g3 L( `/ z3 h
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {3 z; |3 g2 j9 t- a2 K% j
       echo '<div class="site-wide-notice">';- i( j" `% }" b" Q9 `: v5 G6 i
       if (!empty($site_wide_notice_title)) {
$ w4 t# B) M* y4 x3 w' l7 {           echo '<h3>'.$site_wide_notice_title.'</h3>';
4 p" y! g4 Z  n3 h3 o       }; Z  i  c8 s, V& ]6 X% k- J
       if (!empty($site_wide_notice_content)) {" Z5 I) e. l0 w4 \; h7 D- A
           echo '<p>'.$site_wide_notice_content.'</p>';
3 A1 O5 U$ w/ f" O( R% ]  P: J. i       }$ |9 |/ O$ B' A. {- B, _" n0 L
       echo '</div>';% i0 p* v4 ?4 B$ i1 X
   }
- _5 }' G+ X8 ]+ o- |   ?>
. T* X: B' U3 I. |6 m+ ]+ ?   ```' N  l* _, W, W5 O: W0 Q' x9 ?
. i: l& u, ~% c7 I* l8 w
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
, C! l1 F* q8 D  |! s8 |0 }/ J" Z2 C4 \, @
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

332

主题

513

回帖

3376

积分

管理员

积分
3376
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
) j/ P# i5 W8 q  q% ]
+ q3 o  `; w' D3 J5 u您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
' ~7 ]3 P& O9 g# j$ o$ s0 m" f5 H! a+ I" w  ]: o! Q( a( s. W4 @
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
6 c$ W" n8 D8 T. u2 D' U/ q* r+ A0 o
```
1 i% ?8 ]  n+ e4 ?function create_custom_post_type() {
$ h- l5 Z" e1 E0 l! D    $args = array(% P/ L" C* x7 k
        'labels' => array(
0 i+ X# J6 I4 l" l1 b& z* n            'name' => '公告',
5 b( j; f& j$ o* n) ]' y1 W; r            'singular_name' => '公告'
* d6 l2 v6 ~; @        ),
/ k+ }7 h8 K8 ~9 a1 ~* W. ~        'public' => true,
+ q' c' v. I2 s2 u        'has_archive' => true,
" {) |8 N  Z5 M( [7 N) u4 y/ i        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
- S& s% e5 p9 G6 r        'taxonomies' => array('category', 'post_tag'),
7 k7 b8 c7 Y& s& V7 J) t1 _        'menu_icon' => 'dashicons-megaphone',
: `9 T$ A7 Q6 |; U" B7 w$ ^1 [        'menu_position' => 5,
( h4 E- ?/ n0 C9 i; P# P, [& U+ H        'rewrite' => array('slug' => 'site-wide-notices')
- i/ K% }( B/ w# O. \1 h    );$ G, G# \9 C- W, ]0 j: N- F7 E
    register_post_type('site-wide-notices', $args);
7 ~% [' E2 ?, t3 a. F. n}6 Y3 T1 ]5 E( D
add_action('init', 'create_custom_post_type');
3 `. @9 _- R" ^1 f7 q3 ?( d# ^+ a/ V```& `% R; Q% m+ N2 Z

( J$ ?$ Q, j2 n) u9 K, `$ @在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
0 K: ~) x5 ]7 N  u6 |. K
6 R3 e2 B1 M9 ?2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。  F! m/ w9 O1 m3 [
9 L9 e3 r$ ?+ [. e& h) |7 |* M
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:. K0 p% \. e1 t

' h; I+ r6 d* `1 o```: ^% g' n9 u" W4 ?" m
$args = array(
: R) H0 F- f7 J, m    'posts_per_page' => 3, // 显示的公告数量' L( r& ~6 a! ~+ x1 T3 m
    'post_type' => 'site-wide-notices', // 公告文章类型! w: e& z0 }& Q' H/ [+ _, r3 L' G
    'post_status' => 'publish', // 公告状态3 t8 H$ g1 n& s( h: t
    'order' => 'DESC' // 排序方式
1 h$ G1 ^! Q; N! H9 L2 f; b);# Y2 C) O. o0 N2 ?7 s9 p/ w
2 s6 C( d) M" A% A; P6 O
$notices = new WP_Query($args);% N( I1 t* U5 ~$ x+ }
if ($notices->have_posts()) :
* _$ ^  q" c, K% d# f    while ($notices->have_posts()) : $notices->the_post(); ?>
! j7 n3 I+ h- N# [; \/ A; G2 s        <div class="notice">' x$ L4 U- w( t( r1 R
            <h3><?php the_title(); ?></h3>" o& j7 T6 M) J6 I* _4 T
            <div class="notice-content"><?php the_content(); ?></div>% `* d6 B& ?; _5 H$ V! K: H4 ]' l
        </div>6 c) N. J8 k% N
    <?php endwhile;
/ Q! a6 ~- I3 J0 x* T. E3 Eelse :% F- ^$ x; _8 \' L9 Y. F
    echo "暂无公告";1 c; A# j8 I1 M3 V
endif;
$ b" u, U9 g. N! i* C1 \9 awp_reset_query();
3 D# C4 C* C/ t$ X, I; q```
" Q2 y% O+ b) v/ {
) E" r! Q9 h: a, ]2 a1 T这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。! z1 u$ D- L! c- c4 v
' r, m( ^' W" S- U5 Z
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

332

主题

513

回帖

3376

积分

管理员

积分
3376
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
+ l& ]0 [+ Y% @) H- Z6 X
$ v  e  r. u/ P# H如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。! M. k. R  G7 A6 v% l1 T

3 {/ z8 Y4 S6 S: k% Y, I- c( l以下是创建自定义插件的步骤:( V* t6 s4 g$ X8 H4 }6 u" T# {
) x. Z" Z! w7 G0 @2 ?/ K
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:6 m  T, a3 S7 F' D

& I4 @. J( ]9 F   ```
, {+ a- k6 |- L/ e2 K! l+ N   <?php8 C( |, D0 T$ z
   /*
# r1 ]# h( h7 `0 q, d' F   Plugin Name: Site Wide Notices Plugin
) w  P5 P6 Y  u8 y5 a   Description: Adds a new custom post type for site-wide notices.
" O0 l6 m+ P7 p7 s, H  x+ i& }   Version: 1.0
. k" k$ X$ X, }4 \0 [! v   Author: Your Name
% X; l. B, I  g( T$ ~5 S# w5 `   Author URI: http://example.com. w: ~; ^$ r( f+ _1 y' @
   */# c6 p, b5 {" U& _9 n; U
/ C' ?3 p9 B5 V; s% u  f( _+ I
   // Add plugin code here...' u  B9 g* P0 [8 m! P9 ^
   ```$ E# D6 L# x( o% K* G
9 d# T+ y' a% H* |  E
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。) L+ _  }3 T0 u

( O2 ]( I# u; n) A2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
8 `( }) V4 x6 {' d# x
; x/ ~! |$ E$ \0 D% b, L/ F   ```$ Z" Z) M8 m5 V
   add_action('init', 'create_custom_post_type');
. \; p6 C/ J5 I0 p   function create_custom_post_type() {4 r, U5 U2 E) l- V$ n
      $labels = array(
" P4 j& n! Z+ P. S& ^" g          'name' => 'Site Wide Notices',
! e  E* I& P$ B; N6 a! o          'singular_name' => 'Site Wide Notice',- V: a1 y8 [  A2 q6 w2 M, C% }
          'add_new' => 'Add New',8 N) E* k0 b7 n( o2 c! o
          'add_new_item' => 'Add New Site Wide Notice',
: H- ]& `1 ?# B/ z9 @4 y8 i5 n          'edit_item' => 'Edit Site Wide Notice',
- ~) E1 K, c/ w0 V          'new_item' => 'New Site Wide Notice',
! g2 ?$ I; t3 Q( ?" K5 u          'view_item' => 'View Site Wide Notice',
/ D/ W. r0 ^+ G1 F          'search_items' => 'Search Site Wide Notices',! O0 e! }4 Y4 l/ ~5 \$ w4 l
          'not_found' => 'No site-wide notices found',
/ @; s$ [6 s" |, W          'not_found_in_trash' => 'No site-wide notices found in trash'
5 k7 n: ~( p( O, J      );
# J5 ?; f' N3 Y* q5 Y0 T
! H% S4 x/ }. O: n      $args = array(
7 T6 ^4 Q0 r3 g; r/ i          'labels' => $labels,; O+ A, k/ ~  w
          'public' => true,3 Q1 f6 ~8 G" l$ i' r: p8 ]+ b
          'has_archive' => true,
" }( f1 H8 G5 f! g8 b( \          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),, F8 U( d  A! m: u' X- ]
          'taxonomies' => array('category', 'post_tag'),/ S6 w4 C1 n* Q0 P
          'menu_icon' => 'dashicons-megaphone',+ V# J( A" [& r, V8 R& m
          'menu_position' => 5,: T# s4 U0 v* o2 |- |/ ]
          'rewrite' => array('slug' => 'site-wide-notices'). z$ C, O- \0 N4 j
      );
4 B& Q$ g3 `( Y* T+ d* ^+ j
6 I7 S7 R; Q0 q" n: L, f0 r5 G7 L      register_post_type('site-wide-notices', $args);
+ B* v' L( K- V; Z* q" [1 ?   }
6 q# o8 u" P4 E4 a' p9 c   ```
' u' d% P7 X" [: l0 x' S8 i$ Q; v% f, E! `; E& r
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。9 u) L1 I- W  Q7 I' B
& _: q7 h9 g' A" @2 z$ j5 G) {: X
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
8 o2 p9 y* S8 v2 m! `/ Q. r7 ]% L' ]# j0 k
   ```
% E2 b* U/ H8 d) G3 T% G+ F   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');% k9 m! z) f9 f3 t
   function add_site_wide_notices_boxes() {& s% E$ [6 h6 R! f; P1 f" r
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');* a- n, S" p1 j/ Z" u" v* `
   }8 j7 i! P2 Y7 s. S; d
" b) x& M) L& `
   function notice_details_meta_box($post) {
6 i: c" E+ U3 n  k) U      wp_nonce_field(basename(__FILE__), 'notices_nonce');
. V, X, ]# p# _0 C( H/ E* K      $notice_title = get_post_meta($post->ID, 'notice_title', true);- r1 r( S% y# f" j4 y5 S3 F( ?2 c
      $notice_content = get_post_meta($post->ID, 'notice_content', true);3 ?' O0 ^3 d/ @' b
      ?>- g! U: R# i! U
      <p>
0 ^0 a% F' B+ z: G, A          <label for="notice-title">Notice Title</label><br>  K3 Y) D2 ~$ I# H$ m- g& Z
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
! L1 t  N) g+ P7 ~      </p>
* @) \; t; c+ j: `1 L% Y      <p>
5 i5 i  h& l/ A+ H! c3 o; ~          <label for="notice-content">Notice Content</label><br>
0 H5 A, b" f* J, b/ A          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
6 T  q- [9 Y* L6 t, g2 q      </p>
, O2 ]3 @9 o4 U& T+ b% i: j      <?php
1 n; w% i7 r8 f* x& f" \9 y   }
, _  `( g) u3 P% O# ]( M! A( I+ J, O7 h( t! L* r
   add_action('save_post', 'save_site_wide_notice_meta_box');
8 J8 H- b* ?8 V' l* P   function save_site_wide_notice_meta_box($post_id) {5 v; m3 n' K1 s+ W8 e' ?. S
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
# k8 b, C: J' F9 a( G% u         return;, ~  p- l7 ]0 C) m
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)) e! F: G5 g, X% ^
         return;7 @* I' q# l# V$ @) W- T$ d

& _; |1 S3 E! t" p      if (isset($_POST['notice_title'])) {
7 H. n& j4 E! ~! e2 T; A          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));! Z3 r. ]' h+ `; p
      }9 a! t6 h  n! A7 q% R
      if (isset($_POST['notice_content'])) {
4 H& K8 O1 R) S) x7 E2 G          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));" D2 m( X6 b+ x* v  n" C. R6 F7 P
      }1 }: ]0 h; m9 u8 K
   }, q- z* x( R% e5 F7 B: k7 f
   ```# A& ?2 B0 x+ `3 h8 i

/ F3 d4 ?, y7 w, {5 C6 @5 I   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
1 W" G6 M1 T- c% `8 B+ k6 z( z! v
! C! |' O) A  G& @. K2 R; s& Y- F$ @4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:( j0 m# T6 e4 G+ ^0 o6 [
8 H) f) P9 H: f0 ]
   ```
1 U' V, f6 m* |/ t4 G' M   $args = array(4 A0 A% B+ [2 k
      'post_type' => 'site-wide-notices',
1 ]  {  I$ t9 M& D      'posts_per_page' => 3,& @9 \/ p. ~- p- G# {' i5 F) g
      'order' => 'DESC',; Z- E4 X4 y  @$ U" }8 e
      'orderby' => 'date'1 T! f( |+ n' ?( ], W
   );; X" D; p( j3 h/ t/ U, J
   $query = new WP_Query($args);- j) d; W- S& M- y' t1 E
   if ($query->have_posts()) :
* G: F4 o0 I; c      while ($query->have_posts()) : $query->the_post(); ?>0 d' _: T- b1 d8 U9 y6 `3 Y) O& A5 I
          <div class="notice">5 O% T5 Z$ w( I5 ]
              <h3><?php the_title(); ?></h3>; R' ~+ s2 C) \. |0 C/ i: `
              <div class="notice-content"><?php the_content(); ?></div>/ w9 ~! I4 {+ _% ]. H# ~
          </div>
: s3 J+ G, V2 ?6 b/ \2 E+ Z5 k1 `      <?php endwhile;
# x. A2 b# x; }( W7 V7 O6 I      wp_reset_postdata();$ X, G: g3 m1 H. k& W
   endif;( G; o4 U$ j' i. @% L
   ```, f; I3 I% ?, j% X

6 G3 Y& W5 o6 z' R0 Y   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-26 10:13 , Processed in 0.080032 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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