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

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

[复制链接]

318

主题

482

回帖

3094

积分

管理员

积分
3094
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
4 T& t6 f0 @3 A0 m, _
/ p' a2 y/ ~: Y( S& P, P8 I1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
' s2 p8 v9 C& p6 M
/ G2 |' T: o' L) J" q2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。- T& A9 a+ L8 x1 ]
# _' w6 u! k% L1 _0 I; e/ n
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
5 J, \: B( C& ~1 P
9 E* `: h/ |: S# H  m4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
/ \  I1 F, p" Y/ q7 T( \
9 X9 y! Y; i# V  H8 _6 y- R注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

318

主题

482

回帖

3094

积分

管理员

积分
3094
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
4 z# ]4 i/ M% G6 ?5 l1 O- I- t( c7 R" R* _. e
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
: B4 X" q! ]  A$ }0 ~& E: l7 T$ B% t$ F, ^
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
$ X  D% J0 E8 ~; `1 ]
0 O3 }! c+ ]" c& U6 W" N1 N   ```0 |# U7 M. `9 z/ K
   add_menu_page(
; U) R" S# v: e/ W. r9 r9 u       '全站公告',. p! \  T1 L  ~2 ]
       '全站公告',
  `$ I* t5 _' q1 z6 X+ D4 h1 r       'manage_options', //需要的用户权限
+ E8 @9 Q1 z. d, |! ?9 X       'site-wide-notice', //后台页面的 slug& g8 g6 z/ l8 X& a
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数6 F' X2 P8 z2 r$ b0 s  N. M# Z% U
       'dashicons-megaphone', //用于显示在菜单中的图标( ~) k8 @5 L$ V
       30 //菜单项的位置# C- ?6 G, e+ G
   );
* ~$ {1 A0 [; S2 `5 w7 w8 s   ```
; T" m6 o: A: z$ y" q' v" g& E& I- H
' j" g6 W- c! X3 L   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
8 \: }! y9 P0 H
2 m8 R7 V2 _+ g1 m* n6 u- L! d2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
  S  r3 x0 d7 U& [
  \) s) {. P% X5 d: E  Z1 c   ```* W0 `0 K" N/ U$ g  M
   function render_site_wide_notice_page() {
# @2 k7 f8 L- _7 L; P; W# d& m9 l      // 渲染后台页面内容
. z2 l  z5 P7 `7 N, e      echo '<div class="wrap">
( U  t! D) }' O( H  E# b          <h2>全站公告</h2>
& U6 H3 K1 K* }% g7 Y3 Y) }          <form method="post" action="">* o: e6 I. Y! w1 e4 \& k/ l/ Q
              <label for="title">公告标题:</label>2 _9 D0 g/ H( c8 z! @
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>! z9 {% |- r# [. G6 f9 H
              <label for="content">公告内容:</label>
% ~. ~4 m* _( }$ I+ G6 r              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>- Q& L2 f# n1 z0 D0 l
              <input type="submit" name="submit" value="保存设置">2 z& F# |3 X: A' G
          </form>9 n1 r4 L7 s7 }+ B3 L; f) K
      </div>';' w' ]0 h1 N& ]' w' h/ f7 L1 a/ a
7 _9 g" V- N4 G& G$ i8 C; N
      // 处理表单数据- j( E% m- Y1 _$ K1 `
      if (isset($_POST['submit'])) {' D! W' o; z+ y2 r6 H( j4 [
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));* n( X7 \/ L  o6 m& N( f. n
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
9 p& t, i; X, z  A! |! n      }
+ ~5 `; M# Z. v$ |- v5 m! i3 ?   }
2 g( P& _. p# ~4 j   ```, t  H1 M  ~/ S% |
5 L$ Z9 g2 {. y
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
% w% W) M7 t! y  ^; M8 c( a7 z, b5 P- m1 I+ ]
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
% ]7 w; y: Z) I% k0 J- U
7 d" R- w; I: ^- d. Z7 E& G   ```# I% ]* D3 l' g; U; e: d, [
   <?php
! [0 j2 |% r; i( W; w   $site_wide_notice_title = get_option('site_wide_notice_title');
  f# B; S2 e, w* s" F# t% U   $site_wide_notice_content = get_option('site_wide_notice_content');8 M: C* j" F* v8 k! v. `% s
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
! e$ z7 \2 b; W% N  B/ S       echo '<div class="site-wide-notice">';
* i  Q2 T. d6 ~% x       if (!empty($site_wide_notice_title)) {: }' ]' C# N" P
           echo '<h3>'.$site_wide_notice_title.'</h3>';
1 Z" I! L+ S$ o2 g$ ~: h. i       }* B7 n# l* D% A( `: n
       if (!empty($site_wide_notice_content)) {/ o$ j$ G! k4 p. A
           echo '<p>'.$site_wide_notice_content.'</p>';, K( `: Z5 L& `/ ~% I# ~! m
       }
" S% m. J+ ?; c       echo '</div>';8 b) Z# ]1 ^8 _3 u
   }: c3 z, U/ s! s( O$ m
   ?>
+ l0 Z6 a8 r2 I' b- p+ M9 s0 B3 i   ```1 e) k1 b$ J% f! A- Z  B3 {1 T( n7 r

* ]) Y9 r4 {( I0 [' l) z, |! ~   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。! U- I4 g8 F6 V# W' P: W" a
9 h* m$ y2 B* t- d6 ]$ a( a
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

318

主题

482

回帖

3094

积分

管理员

积分
3094
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?/ H# d& q" s% f) {* u& K& e
$ Q( y0 i* C4 M; ?2 S, `7 Q
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:5 X- [# j7 L0 p* N! z1 P- \; ^
- s, b7 K0 w1 n1 u
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:0 M& O/ x/ d! D' b/ P; H% i: @2 A! b
+ j- l  {4 \) G* l
```
4 i/ Y4 [3 V6 M, r: V/ @! H& `function create_custom_post_type() {4 s/ E$ P0 Z# ^: C7 `
    $args = array(2 U( y8 G3 k7 s0 {
        'labels' => array(
! y- d9 p! w# e3 [9 e9 N            'name' => '公告',5 g. N8 x& l. f" z; d+ y$ f
            'singular_name' => '公告'
- e- C6 t) M4 s' I        ),6 Y* l& b* K: H7 |5 R  n
        'public' => true,
+ }  E7 S7 ^$ i5 a8 p2 g( p' B        'has_archive' => true,- S, _' o: R+ f6 {+ ]% k8 {
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
$ Y/ J9 @- E" o* a- h        'taxonomies' => array('category', 'post_tag'),9 i  @" b) o. H& o6 q) P# k
        'menu_icon' => 'dashicons-megaphone',. I! y5 }7 n( u7 \  P( X
        'menu_position' => 5,) k1 Z( ]8 \0 r8 ]/ h' w' ^
        'rewrite' => array('slug' => 'site-wide-notices')
" O- C! ^7 H7 g% @4 q    );
! u9 L1 {. @$ `$ M2 r" f; y% t    register_post_type('site-wide-notices', $args);
3 }( o# j4 h9 b}' a/ t9 E" B8 p1 M" f7 W# s
add_action('init', 'create_custom_post_type');
3 R% N# B/ Z( B+ }5 ]9 P```
4 ?3 |  U. P' ]8 l  x
. ?$ @+ d2 g* s7 K) A( i& \2 j在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
" T; y) X* H  E0 W6 S+ ]8 `- i2 g5 N5 B) s+ q
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
8 m7 C2 i; N0 g' ^9 Z
1 x: c; u, d, q" \. v4 U1 B3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:- ^7 x$ _8 z0 l: V# P
. J4 d( u; _% F6 h" P+ ^; b) `
```' W. }, }, _9 o9 ~/ w! M, `5 f
$args = array(
9 C% j( g  Q- P) \: I$ y7 D% Y% u    'posts_per_page' => 3, // 显示的公告数量
% [3 J( E1 d. i    'post_type' => 'site-wide-notices', // 公告文章类型
+ D; M' z+ |8 s$ _6 ?    'post_status' => 'publish', // 公告状态
/ x- d6 s7 j2 J1 Y- l' f% B* x, E    'order' => 'DESC' // 排序方式
: w) ?* j# ?- y, F; r4 [) F);' O/ {) n- ?( r4 b% ]9 w* D3 g
# O+ A  p/ ~8 Y# a- t
$notices = new WP_Query($args);
* f3 E6 I# z! {1 U! U1 pif ($notices->have_posts()) :( c  n# |4 g. I7 j$ A
    while ($notices->have_posts()) : $notices->the_post(); ?># x6 u2 f5 g- X7 a
        <div class="notice">
/ |' ?" p9 p8 O6 \            <h3><?php the_title(); ?></h3>8 j9 o5 s( i* v$ ], i
            <div class="notice-content"><?php the_content(); ?></div>
/ n& D+ p. C4 F& H9 m* X        </div>$ \9 j7 c7 `1 W9 Z- z( w2 ?
    <?php endwhile;
5 t2 M) O- Z3 T! E; f$ a( q. S5 |else :
# L" D/ S: `6 u2 s: O7 h, h    echo "暂无公告";
- z8 S- [( S" z. a1 _endif;# C' n& e  X, e3 Y
wp_reset_query();
4 d, u( K' l5 `' i: |9 n```! Z3 q' J; ^1 {, F; ]+ j
+ r- @; t7 i8 i% M6 q
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
& ~: H# E- B2 i* B0 k0 M3 ?! E. [, @5 n9 n# M6 o
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

318

主题

482

回帖

3094

积分

管理员

积分
3094
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?: U( \: S2 u8 S% {5 {

/ [/ W; v+ K- ]( b5 u如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
1 R" @8 o3 h% P3 F" O8 m
0 {2 u5 b+ Z4 ^6 P, m! I' _以下是创建自定义插件的步骤:# D5 Y; t, @# M" m; o

, |% R0 |! R& l" H1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:! i6 ]( t2 x# ~4 s
$ s  G8 R4 q! G, j6 ~% ~4 ]! j* ^
   ```
6 G! k' B9 W5 T) y   <?php6 j) ~: V' q" P9 U" k0 F4 U# N/ u5 M& p; Y
   /*
, [, Z1 F( t1 u0 ]  R3 u6 o2 n   Plugin Name: Site Wide Notices Plugin
+ Z7 ?9 M5 x, i2 y. l9 R8 o. V   Description: Adds a new custom post type for site-wide notices.
- @- x2 o1 I- }: j0 N. w! N( w   Version: 1.0
  c' A% T( B" [) a   Author: Your Name. p& i& z/ G% Z! b7 C9 V9 a3 ^
   Author URI: http://example.com
* V' ^) T/ T" {# R  X, D* {. l   */5 ^& M; v8 `6 ?, c
  h3 m, T9 m' f" @/ U5 M0 e
   // Add plugin code here...( D- ~1 f# _* l; i2 q5 y" V
   ```# Z1 R8 q. G3 a0 C9 q: c
% o; m/ M! x1 [
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。6 X. }7 y+ o3 P2 v8 E1 _

8 c& t! W) |$ m" P+ R9 b2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:7 W1 x( n3 S9 j
( R+ @& c% k% k, \* x
   ```  Q; e6 _5 J) T0 D" S
   add_action('init', 'create_custom_post_type');& a; u* H- `3 v2 }  y$ n  B
   function create_custom_post_type() {* s. ^4 R  W. I/ T
      $labels = array(
0 V% g& |5 U5 e          'name' => 'Site Wide Notices',+ K, R) A! X) W' {- D
          'singular_name' => 'Site Wide Notice',
" H0 R2 Y) @6 |. w. m8 Z" g          'add_new' => 'Add New',  F* E: s+ u3 r0 J
          'add_new_item' => 'Add New Site Wide Notice',
8 J0 Z4 j! B7 M1 U; H) t          'edit_item' => 'Edit Site Wide Notice',7 ]0 _( Z7 c8 ^. y6 `
          'new_item' => 'New Site Wide Notice',
5 Y+ g$ E  G: g6 R          'view_item' => 'View Site Wide Notice',
, ]& a2 c. y# ~          'search_items' => 'Search Site Wide Notices',3 Y8 d- t( y8 S  F. I# z
          'not_found' => 'No site-wide notices found',
2 T' V* J- J9 L( s% Q" t, ]          'not_found_in_trash' => 'No site-wide notices found in trash'
2 Y! d$ ]7 K" P7 {  ^9 R      );6 D- ?5 |7 F4 \, Q' A( |+ Z

- a( i8 X, d2 y      $args = array(
, e0 e' I& M3 h3 _          'labels' => $labels,
; ?1 F% J8 v* o" ^7 @: M& e$ g          'public' => true,3 x: x- B) l8 \' A) |
          'has_archive' => true,- c6 B# z# K* K5 E9 a% ~- v2 a
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),' ?; V0 d( ~' K& `- m( i
          'taxonomies' => array('category', 'post_tag'),/ t9 f7 ]# L6 B7 b
          'menu_icon' => 'dashicons-megaphone',3 h) A& `: P" Y* u: l/ [
          'menu_position' => 5,) R$ i8 R+ [6 c, R0 T
          'rewrite' => array('slug' => 'site-wide-notices')
7 `5 g( D$ A6 n7 n- @1 v# w! Y      );
3 Y  c! S! J* n2 l, c
8 t3 i# o' j& v7 E; W; V      register_post_type('site-wide-notices', $args);
9 q$ y. }& w& @, s- @   }
! i& j0 P, G" L* y   ```
( f5 Z' b8 j# Z. ]* ^
% b9 k. {! J2 \   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。/ ]* g5 z9 O) M8 ~
- W5 h: i( O8 ?& s2 d
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:3 n0 B( F4 g) v0 Q2 [3 @7 D
% h0 B  h* O; o6 T, [0 h4 x2 F
   ```
1 y4 D' v- f& e" V! H   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');" I9 W9 k2 E# l
   function add_site_wide_notices_boxes() {, W: c# g$ P. k( a; b# ?4 E1 u3 h" r9 g
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
5 o! U4 V; M% ~$ H8 n9 r2 s   }
+ A5 z& U/ i8 R$ o$ `4 I6 s
* e- |/ H2 c, g8 Y8 Z- Y* c   function notice_details_meta_box($post) {3 E* s8 \2 K; s3 g! t3 s
      wp_nonce_field(basename(__FILE__), 'notices_nonce');# H" q9 Z' N% x
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
3 S. H) z  r6 T5 j; K2 b! G      $notice_content = get_post_meta($post->ID, 'notice_content', true);
" `2 q1 u& l6 Y) T& ^; Y      ?>
: J% t7 o9 p  X      <p>
9 z/ ^8 R2 {/ s. X9 G          <label for="notice-title">Notice Title</label><br>
5 n, j" X! z  g6 g3 V; a+ P          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">& ^2 ?8 v9 W. c% w7 R
      </p>% `* f2 n$ v# [+ K, |& m# D/ ^
      <p>
- O8 g: A: ?0 M( J: K( f  q0 F          <label for="notice-content">Notice Content</label><br>
: _- q* y3 U0 [; l. a3 D% Q          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>1 }2 r# Q1 }4 i3 J  L7 d& |
      </p>  P- `( I8 z1 c5 k
      <?php; n2 h8 h7 J( f* R5 c
   }7 A" [. J( F. X8 ], ^' [$ e
4 n( K' P: R2 `: f
   add_action('save_post', 'save_site_wide_notice_meta_box');
4 q7 M1 ]* q7 z7 Y; f   function save_site_wide_notice_meta_box($post_id) {3 F8 R2 p( W" {- s& G
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
3 A! Q& Y0 l( d  t9 e# k         return;
2 E" K1 Y/ }0 r& i, S1 m1 V1 H      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)/ G) j* v! h: W
         return;
5 w, f6 \' w; n  d& j  ~- h, [/ T2 K
      if (isset($_POST['notice_title'])) {/ h" d1 Q* X2 n' n0 g9 F
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
$ ~  S0 ^$ c2 A. q" f* I- W- E      }
7 l# k& f1 f4 y      if (isset($_POST['notice_content'])) {
3 m9 o3 v4 r7 V' Y          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
5 N" ^6 r, t+ l      }
* O# V( Z* n4 r! p! p2 y1 U   }
0 z+ O. E" F- C# i$ e% `5 v   ```2 X% m% X) A" G6 l& k, _

+ K4 z4 K3 r( T# }1 g, I+ e. O   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。9 j  {: e+ e5 |+ t3 }. n* I

% ~, O: O( W0 E- N9 P4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
# |2 J8 X& S, Z: [7 N8 w
$ e8 e, j! {8 H   ```' c0 r, w& \) `. P& e9 n; Z" i
   $args = array(
8 p1 \5 D& ^! l      'post_type' => 'site-wide-notices',3 g2 D- ^. W& b: D- Q
      'posts_per_page' => 3,9 N1 z# l& w0 [, [% B/ @) f
      'order' => 'DESC',% S5 K& I' R* I( R$ s# E2 T+ ]
      'orderby' => 'date'
2 b  z6 k$ A$ D2 d: O9 K  }   );
. ~4 H7 k; _* g, w/ l   $query = new WP_Query($args);
. R! |% c9 w1 j   if ($query->have_posts()) :
+ Z4 @5 q& z# Y& P5 Q      while ($query->have_posts()) : $query->the_post(); ?>
; j: L2 C8 N% p          <div class="notice">
6 ?6 J7 i4 y$ |0 W% l              <h3><?php the_title(); ?></h3>, Q' W4 I; C4 G: k
              <div class="notice-content"><?php the_content(); ?></div>- p( [* A5 Y, c3 m+ x. R. s
          </div>% Z9 E7 b% J9 E) r. F" |
      <?php endwhile;( R5 b* a8 c/ Z9 d4 b3 ]- n  D
      wp_reset_postdata();
+ s9 e% q) I7 e: k   endif;
, }' z  D* t+ L* M" i# h- l   ```
6 B8 I" P7 D; h5 ~+ S5 V, G" v2 X% e4 x1 d; k; |
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|通达产控投资 ( 粤ICP备2023021749号-1|粤公网安备 44030402006137号 )

GMT+8, 2025-6-7 18:08 , Processed in 0.076713 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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