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

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

[复制链接]

340

主题

529

回帖

3528

积分

管理员

积分
3528
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:/ v6 h1 `- N# r- e( g

. W0 E* K+ z% N+ K1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。2 y7 Y( D8 q) G9 r: h

0 n2 G  b: J& Q+ U% r" e6 j& K1 f2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。) B2 Z1 n& @3 f7 D% U$ f
( S' m( P5 Q: Q% D1 D/ b! n
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。: L* v3 h. ?" ~# E+ X$ j
- D) b# k5 M/ Y
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。7 U- U: ]& H) P

/ T! v6 T8 v' \  d0 ]注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

340

主题

529

回帖

3528

积分

管理员

积分
3528
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?( f& K8 b+ A1 y8 C8 n
' r/ J% ]/ |2 z& v
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:. `2 d1 i; S8 Y; S( M" _

; D; I* P0 d" T; e) }# u  j1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:: \3 r8 d! o2 N/ C2 t: U. q
6 v; D, ~8 S- K6 U/ ^0 v5 I* n
   ```
) m/ L1 Q( c' _1 R1 f   add_menu_page(. ^5 f! p( K  ?. r1 f
       '全站公告',
: O" Q- v; e3 s+ t8 [8 x       '全站公告',
$ }3 M5 h7 H( S, f% \6 y- w! C2 u       'manage_options', //需要的用户权限
+ N+ s% J, U7 ~       'site-wide-notice', //后台页面的 slug4 U5 s. Z, P1 s; `1 f! ]
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数! Y' ^" c) r: V' Z; p
       'dashicons-megaphone', //用于显示在菜单中的图标6 P0 q. V5 I' d  k0 m+ S' V
       30 //菜单项的位置( t: g2 v6 ~4 B
   );/ m# [/ J( C0 [5 P1 A; }: \
   ```) I$ p% x& P7 I- T0 N; m' Z
' Q. c/ m& e* Z5 x. @
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
; D: t' a* R. j1 g* }, w: ?
* q  O4 y! E$ ^! R2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
( w& [! M  x! ~4 Z7 d! M: D9 p, \" T0 [. D2 c. \& x
   ```
+ x, P) `' S8 ^0 W+ z2 o, \   function render_site_wide_notice_page() {/ i0 s4 ?( s9 Y. k
      // 渲染后台页面内容) V* I+ R: U; \5 s
      echo '<div class="wrap">
( `/ G& s7 ?7 @( E6 f4 t. {          <h2>全站公告</h2>
& t9 _/ ?- z  D/ R0 P1 {9 q6 G          <form method="post" action="">; M, ?4 C2 l: w# b! J; ]' k
              <label for="title">公告标题:</label>
! A% j! `: f- x6 ]              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>0 q$ k# D0 m3 P+ u
              <label for="content">公告内容:</label>0 J! J! _$ g& `8 r9 Y# R
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
4 W4 z0 v/ a5 V' f3 B              <input type="submit" name="submit" value="保存设置">8 o/ A9 w5 R, ^/ ?, ~6 f0 Q( q
          </form>
" A2 {. \/ `# w2 B1 T      </div>';" `& S4 k- h: x7 h: i: ^
) q3 |3 B& p+ P. k& Q. Y4 |% x
      // 处理表单数据
+ [$ X' Q' H* A8 k/ V6 m& E" j      if (isset($_POST['submit'])) {
, g; ~4 _5 m! \, c* r          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
: A7 W; h  i' s0 c9 n  |" ]1 R          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
) f  F2 [( j/ j      }3 E: Z4 u5 |; Z5 h
   }
; n- i) D- \; M, C. s   ```4 t, V7 J- Q! U

0 T- ~+ F% D1 g# W7 ^0 y# r   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
6 Y9 Q7 N) [1 V0 v  }% Y/ i: w
! z( X9 l2 _/ k8 ?8 y3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:% F7 r2 i( }& T
0 }3 e  Z+ O2 P9 {4 Y3 d  R
   ```
! A* K: f' U8 [7 e1 f' V/ E! Q   <?php
! I! S" g, C) z# v# S8 F; G% B   $site_wide_notice_title = get_option('site_wide_notice_title');" B( x6 }- B2 x
   $site_wide_notice_content = get_option('site_wide_notice_content');! T! y" a/ ]3 w
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {8 H4 t" c4 V5 P5 ]0 X
       echo '<div class="site-wide-notice">';$ w6 N; W& Z  I; U
       if (!empty($site_wide_notice_title)) {3 s4 F3 \! e: F+ k8 P1 I6 M2 n
           echo '<h3>'.$site_wide_notice_title.'</h3>';2 _0 c1 {7 F! q. B& _& q
       }8 [/ Y' Z0 K# c2 u1 d& }8 c2 ~& |
       if (!empty($site_wide_notice_content)) {
) Y- r% Z' H7 f9 K- K% ~2 j# p           echo '<p>'.$site_wide_notice_content.'</p>';. F) G0 m) ^3 @! e. R7 k
       }
* b% d& j+ o1 ?2 y. w1 c( W0 D5 x       echo '</div>';
" r9 J& p  a- w3 v+ K; U0 x   }7 C4 D0 I8 ?0 }" e& a! z
   ?>
4 o7 u5 v; ]; a9 I* t* }- o   ```
6 t+ i- U8 Z& t" w
; x& S' c! m3 n( c) Z* \   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。2 }. [) G, v" Y3 L9 h
2 X8 u) V* t5 n
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

340

主题

529

回帖

3528

积分

管理员

积分
3528
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
' m+ O( z! F/ B- m
  t" m' L+ X- j& }! Y您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
0 d# @: f# j! Z# J' B( y$ O
6 c1 N0 x, s# o+ K9 V1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:" e* c/ v: q8 p

; M0 |- B$ S$ D3 y. k1 i& i```
, h- N/ l1 A6 a, Z$ I7 C+ A& bfunction create_custom_post_type() {1 N4 d; B" N+ @& w! ]' J# j
    $args = array(& h2 Y) c/ h, C5 [/ Z' h" I
        'labels' => array(: S5 M7 ]  j0 y$ U) m
            'name' => '公告',8 |% G5 H+ e; K/ j! Q# L4 w
            'singular_name' => '公告'* ?+ R. l) j/ p% @$ b% Y
        ),
+ J$ _5 W& ?  S! K9 w& X        'public' => true,& c; Q! l$ g$ B! \$ o
        'has_archive' => true,
9 w$ J1 Q: E# l  x1 z        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
, H4 j' M. A. V" w6 v        'taxonomies' => array('category', 'post_tag'),% V" h  U7 R3 J5 l" O
        'menu_icon' => 'dashicons-megaphone',
( C7 n7 ~# t* e! P- ^# q9 Q        'menu_position' => 5,
, A  G1 }+ X" ]% G        'rewrite' => array('slug' => 'site-wide-notices')
- x$ i, i; r. l9 b% p# b    );
) s0 M, J# f9 O9 |. C: D    register_post_type('site-wide-notices', $args);
( R6 r2 m9 ]; I! _4 A}9 Y, |2 _1 u/ l' G3 z* ?$ b
add_action('init', 'create_custom_post_type');3 g' {- D# D  N* `, {! u  R/ e8 ~
```
$ ~2 [. b) X3 V. m0 k, W( l7 a1 u) }: A, X' w+ e
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。8 k1 w7 D  o. Z* ?
( Y5 j9 M5 m! D/ e  ]$ Y1 z7 G
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
0 w- D9 r$ \1 \/ {8 l# t' g- o2 o; e3 `1 C' ?5 x8 Z) R
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:" q) L+ G5 j/ x, }3 @- |9 f

$ w/ S" B; J- e  m! ]' H```6 s: k$ ^8 B" y, O% X& D" T. @
$args = array(
& a8 i9 h" e9 T% r9 \2 A    'posts_per_page' => 3, // 显示的公告数量
9 \1 u" V5 C/ E- t. G0 P    'post_type' => 'site-wide-notices', // 公告文章类型/ ~" X' ~1 d' X6 Q- ]
    'post_status' => 'publish', // 公告状态) o/ q: _$ `8 z! m8 B$ x8 t2 k
    'order' => 'DESC' // 排序方式) y- l8 G$ [+ R4 r4 \
);- V3 @& I3 k2 l- h

! d3 r/ s4 Z; |" Z5 V$notices = new WP_Query($args);- x" u; H; G; ]6 o, s* D8 A
if ($notices->have_posts()) :# J. f, o0 u) V
    while ($notices->have_posts()) : $notices->the_post(); ?>
8 Y* d, f: y! n( U( k) f3 g        <div class="notice">* L& Y3 l, `9 _
            <h3><?php the_title(); ?></h3>2 N: P$ [0 a0 o- V
            <div class="notice-content"><?php the_content(); ?></div>7 T6 c( g& R4 d
        </div>+ x, G, A  Z4 `8 w% z( B9 @. F) w' L4 ?
    <?php endwhile;! |5 K$ W8 x. V1 \
else :
2 z0 Z7 z* N0 v" j. w6 r( W    echo "暂无公告";
. P+ g2 e2 ~; G6 N0 v% T$ @endif;
2 G# o8 E- D: z" `4 G0 Gwp_reset_query();
0 ]+ f9 ?: c2 J```9 T2 ^# e; c$ A0 z, s

) A; O/ g) t7 @; @& @7 w7 ~这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。  `3 D8 b7 f1 N) G$ \
7 r. s. o/ x% m# F5 I
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

340

主题

529

回帖

3528

积分

管理员

积分
3528
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
1 o" N* \2 E: H, j3 f7 }3 M. g7 a! J, s2 ?. O
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
0 ?$ ?9 G4 K7 h( |
2 h! U. _$ h2 v以下是创建自定义插件的步骤:
( R. r( q" H" {0 |' u. S" O
1 u) F( B3 H" r$ L! v7 n1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:; s/ [* m+ {5 E! E" R/ y

2 F3 y& N" x. V0 {5 F   ```5 i. Z' O- H( \7 I& d
   <?php
/ }/ Q' b- ^$ l4 O- x* t   /*; c/ a2 v/ T% k5 t& I" s! ?
   Plugin Name: Site Wide Notices Plugin; b, T5 [' g! [
   Description: Adds a new custom post type for site-wide notices.* o" C3 d% G! c. t0 \
   Version: 1.0
% q( `9 ?2 l- f, }   Author: Your Name
5 p# _+ A: [5 ~6 }) C; K   Author URI: http://example.com! {7 r" ~! E% S3 E- [
   */6 _  @" I2 {8 q2 ~

/ y$ ?2 v: O+ K/ S, ]   // Add plugin code here..., T% z$ Q$ y/ o
   ```
! E5 F; W9 s7 j9 a# F. N. \' p( T5 Y' N' Z
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
. [, |* B6 c' e1 T" f' {( P- e  z" x4 \1 W: c9 u* G$ I
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
8 k3 S0 p; ]" n9 G  V) e
' }% o- v' }% g% k) E+ ^* m- Z; [   ```/ C( q$ H: l" [" s, ]# S- ~
   add_action('init', 'create_custom_post_type');
1 r% u1 ]! h+ L6 @' C5 Z   function create_custom_post_type() {3 n8 g3 d6 ^7 Z, `# K$ O" N
      $labels = array(1 h: I/ X( i9 j. q8 D
          'name' => 'Site Wide Notices',
! S4 V' F/ D' Z          'singular_name' => 'Site Wide Notice',
4 Z8 y, l5 ^) d8 H* ?          'add_new' => 'Add New',
4 W& B9 i/ I  {; V) z' Z' \          'add_new_item' => 'Add New Site Wide Notice',6 t& R- V0 p, m4 D' \7 Z6 j5 Y& b
          'edit_item' => 'Edit Site Wide Notice',; x$ x4 y3 t! }* g0 s( R# v- |( _
          'new_item' => 'New Site Wide Notice',3 w- o& b1 H3 ]6 y
          'view_item' => 'View Site Wide Notice'," u% B* ?9 K' W' U; Z( Y9 m. i' f
          'search_items' => 'Search Site Wide Notices',+ M4 o8 B/ Q. I. c9 ^; S! S
          'not_found' => 'No site-wide notices found',
* Z. |$ i: E: f9 D          'not_found_in_trash' => 'No site-wide notices found in trash'9 g/ G* L: i: q* y& ?% h
      );
% R1 ~, C3 @- j! f3 s* S: M; O3 G7 f( o! [7 F! u
      $args = array(. v* {- [% v8 a& Y
          'labels' => $labels,
: C% X7 |" H/ {3 }5 @          'public' => true,& }# X( _3 G. Q" C
          'has_archive' => true,8 i' P& A3 k. l# D+ A
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),! o+ o, o- g8 M" J! A- f
          'taxonomies' => array('category', 'post_tag'),) F6 [. K- D7 }  H) C
          'menu_icon' => 'dashicons-megaphone',7 K: S" h6 i7 w5 L
          'menu_position' => 5,
: E# T& t: A) P' h          'rewrite' => array('slug' => 'site-wide-notices')0 {3 D+ |. {& |. r  K# e' t7 ]# C
      );
( y5 a* c3 v' A; `% T/ d! |& J, _4 _. c/ p) k7 ], U
      register_post_type('site-wide-notices', $args);' |; O7 M$ k* p
   }% }5 i; c/ ?. _* s% h
   ```
2 y; ^7 X, ^( r% O+ I
( \* `2 `1 h6 [   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
' H) z  U8 g$ ~
: F! j1 M9 c" }9 V# |8 r) [3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
8 R0 Z8 k* A3 V6 M2 \
& h0 c- _0 S3 @1 \" v3 h7 b4 G   ```/ J" t& m4 x3 B  r0 O3 u5 z6 J2 c# a
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');9 k& f( Y  k5 z1 K0 j/ ^% g/ j8 v$ A# F
   function add_site_wide_notices_boxes() {
( q6 Z! I' ]2 m) S4 ?      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');; [( b* l4 b+ G- K4 Y0 G
   }6 W. S% w% t9 s  X

( B9 A. u3 L% V  U& i( P   function notice_details_meta_box($post) {
# e) R7 q- U/ k2 \& M& }8 z8 U      wp_nonce_field(basename(__FILE__), 'notices_nonce');" ?  @, p+ o% z$ P3 h3 T3 b$ T
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
8 A! }$ O' |7 t8 X' m0 r      $notice_content = get_post_meta($post->ID, 'notice_content', true);
, H. E# V2 h; z$ W      ?>
) t% [0 P" L2 i5 m/ y+ W; j& W      <p>6 u/ C! L7 v: q! H0 k) |
          <label for="notice-title">Notice Title</label><br>
) j  _, H* i9 \, u5 T          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
+ D  `1 ~! F) y; i. {( C0 E      </p>
$ U% A: E/ m1 e. i      <p>
+ a/ Y1 l  n: \" `8 c4 A) n5 }" p          <label for="notice-content">Notice Content</label><br>
4 H+ d& `$ K( Q' Z3 d          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
3 U1 o& y  G$ ?5 z* b      </p>
9 n% K* d3 D) C      <?php
( w+ {4 x2 d, w5 t0 R6 x' \" S   }
& v9 M5 T6 U" V: U. r* x, A
- Z1 V; g9 A3 T6 @   add_action('save_post', 'save_site_wide_notice_meta_box');
. v/ F" T: i3 B$ m   function save_site_wide_notice_meta_box($post_id) {! i+ j8 ~4 q' k& [# \* E* N
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))" O$ Z* G9 R+ K; h0 G1 T7 G
         return;
. G7 Y6 s% i! K( @7 a      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
1 [0 Y6 [7 ~' C         return;: s3 o) Z0 t. D1 b3 h
2 p! U3 O; v' q0 d( F
      if (isset($_POST['notice_title'])) {( p: i! {% q7 a! h1 s, c0 k
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
/ H! j+ z& v( O7 k8 V1 v  ?      }
' g/ B  v6 Z9 ^: O5 }      if (isset($_POST['notice_content'])) {1 Z% E# R3 l' ^  y3 |
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
# [" |' w6 R' p9 J  B& l5 C0 U3 T, e      }* l$ p) |2 m5 c4 a5 w0 l( g
   }
; T7 ]) i7 u. V; t" G   ```5 e5 o. K) m: _) k# @) g: ^( h2 M# k

, f) `( F6 ^& u) _' S   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。+ p! u0 q$ X' l2 ~  r
$ A6 W7 U  P, {: |
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
6 E8 M9 g+ V3 j8 W8 }& X* Y* c- A: l4 a5 u# b
   ```
( @: \1 d! ?) A" y3 O3 e( J   $args = array(
; C) {) h& L& ]/ ^, k/ w0 y2 X      'post_type' => 'site-wide-notices',: r0 s5 ~% K% Z" A
      'posts_per_page' => 3,& |2 L. g/ l! }
      'order' => 'DESC',* F3 ^( ~2 r7 R2 o9 S2 @! r
      'orderby' => 'date'
% Z8 W1 Z: j$ v4 t* {# Q   );, H* k* G) V4 q3 l' S
   $query = new WP_Query($args);, X% ]; F# a2 c2 N" Q
   if ($query->have_posts()) :
& L$ m& n2 P: @. p! L8 M0 a  J      while ($query->have_posts()) : $query->the_post(); ?>
0 W1 X+ W# Z, f8 N          <div class="notice">
  |( A! P& Q# R! `( X' [1 c; p/ E              <h3><?php the_title(); ?></h3>
9 q) @2 [5 b% p0 A6 o3 n. r              <div class="notice-content"><?php the_content(); ?></div>
' \: _1 L1 |2 H' T          </div>
$ T& _. L' A* f) G! g" Z- ?      <?php endwhile;7 U  G: {! J/ A7 y" O, ^
      wp_reset_postdata();
% |- @2 y4 f& l. W; ^0 k   endif;4 P+ \/ r4 w7 N6 V# G4 x
   ```
* {( D8 F! Z1 V9 v2 b  L
: y: P2 f9 b' C& B& u   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-18 19:21 , Processed in 0.015076 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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