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

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

[复制链接]

341

主题

541

回帖

3571

积分

管理员

积分
3571
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:+ H* D7 P- {& l, L. w+ n3 d, j

" k* R. O3 }3 `) g8 F- R5 f5 Q6 p) E1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
8 N1 O+ t! b' \' i: @
7 K$ w& l1 \: {: d( o2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
* f; o- }3 F1 m4 [( P
& v$ m- E! [9 O( B3 J6 D3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
% U: n4 L  n5 v- A8 d9 T$ c! s
: s6 |+ V* ?7 d4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
) ]& {9 S. J$ V+ J* I0 H- I0 e# I8 P. X- w& E4 b6 b+ X
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

341

主题

541

回帖

3571

积分

管理员

积分
3571
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?5 s& W" e3 ]. Y

0 _" W/ N  p5 R, ?% z如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
+ r2 N, S9 q) q6 E8 a7 f- P7 f; Q4 g4 a8 o+ a
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
1 v% b& E  I8 X$ b/ n! ?; z. Q! \( c, a" H( ?  c) h1 j
   ```
% q+ ~& x+ B3 n1 s1 b+ }   add_menu_page(, A- k- {1 F- k+ A. a; Z0 ^) ~
       '全站公告',# ~1 ?9 o9 C% B* h
       '全站公告',3 d- j9 C/ O2 L4 y  `  `
       'manage_options', //需要的用户权限
8 f: d# E; F9 n, E       'site-wide-notice', //后台页面的 slug" ]% N- G1 A& x+ r4 b/ g5 F
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
0 }7 j) O6 l/ V3 [/ a" Z       'dashicons-megaphone', //用于显示在菜单中的图标
. f! O4 `6 Q4 t       30 //菜单项的位置
9 v8 E$ {( S8 L0 \  s8 i% I# Q   );
; M/ t. ?/ n  y9 r3 l; I8 \   ```* k# g' t/ C1 n0 l0 v

  e* `, r& f1 J6 p& |  j   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
  c8 n; V$ v# S/ M; }- y# A6 ?# P$ a; {- U. A1 X
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:& k/ Y6 C- C0 v, Z4 ~
/ n, B+ V( h( R
   ```) O% w) b, P; N$ Z& `0 I* o& p
   function render_site_wide_notice_page() {
( H6 W0 M: S5 t; G1 r      // 渲染后台页面内容+ M6 B$ z: {2 E8 Z
      echo '<div class="wrap">
7 y' _$ f. F8 _, t, V3 D          <h2>全站公告</h2>, O) F, S: l  ^6 H
          <form method="post" action="">
9 Y$ d/ {+ _3 |  a  B+ L+ R              <label for="title">公告标题:</label>
8 s$ R. o. |: Z4 s' `* U              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>: j" j2 W5 b% u- S
              <label for="content">公告内容:</label>3 E# U9 Y  D# ~* l0 y
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
7 j2 H, W* V# S$ `, h: v9 }* F              <input type="submit" name="submit" value="保存设置">
3 Z2 n( R4 z" {6 ?' D& n          </form>" {" x6 W" i8 H! p8 g5 S4 p; s9 E4 a
      </div>';8 r, j( a* u* S7 J# w  G/ J

" _, d1 K( L, w7 e& Z5 l& J      // 处理表单数据
* t% a7 M* U7 D$ p" c7 j      if (isset($_POST['submit'])) {
& K6 r0 b  p- {" r5 R          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
7 k) S* B* F/ ]8 l! p          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));) [# K7 L% z( g2 Z- T
      }6 `7 R1 T( p% z) P- s* S) i
   }0 Z0 \! C9 e2 ?, f
   ```
8 n8 }. p1 [; j# f- U1 b- E4 A# z; c- v5 [
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。# ^8 b- t$ Q% h1 `6 C
) g( J8 K; w) I4 |- G0 ?9 {
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
& l6 O/ v7 P; R1 w. X
' O4 c' ^" t; p5 h4 X( F/ D   ```# X0 x- n, P5 m
   <?php! B% E/ t( F1 p  M7 |# B  f, h
   $site_wide_notice_title = get_option('site_wide_notice_title');9 d, r: {2 x" d  p
   $site_wide_notice_content = get_option('site_wide_notice_content');, s& r4 h7 \" N% g6 c1 x. N$ p
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
7 j1 u- F# s1 Y4 x# L5 t1 q5 ^       echo '<div class="site-wide-notice">';( q9 `2 |% s8 x7 q# t) f
       if (!empty($site_wide_notice_title)) {: D' x' @( {  V/ X! D
           echo '<h3>'.$site_wide_notice_title.'</h3>';# Y% p" g2 t- _0 E. H
       }4 q( \: x. \6 M
       if (!empty($site_wide_notice_content)) {" n; _4 U, M$ i
           echo '<p>'.$site_wide_notice_content.'</p>';% m/ a6 a! o5 c9 @4 H+ g% b6 D9 _
       }7 D! t5 S* I; {9 }5 \( O
       echo '</div>';' }* a$ y1 v0 o" Z: `. h+ _- q
   }
% z: [1 c% q, E   ?>
; W9 W8 C4 x9 _, Y' j   ```6 ]% j4 U# O* Y( c

' D) |' x6 k' |- a# u  d- K   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。) |. @7 Y+ C' v

, M$ h3 S2 S4 }6 l+ v6 l' p5 b( M请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

341

主题

541

回帖

3571

积分

管理员

积分
3571
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?! M0 p+ R4 j' c- ~- m

4 H$ S+ T3 N4 u6 n6 o您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
; r; w% {9 w. y; C
3 D8 o5 V' b2 O6 M) f8 {: Y1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:+ w! L3 x- w' N, l
+ g6 b  `; I+ o2 M
```) d& F7 A) r; s  x# }! ~
function create_custom_post_type() {; l1 F3 o! ~+ s
    $args = array(# f9 h$ @- i- X+ s* k2 P
        'labels' => array(/ Y& q) W) f  I/ c' R9 k
            'name' => '公告',
6 `7 U& r' B* Y6 p8 w9 K            'singular_name' => '公告'; s9 S! A$ j, b- c& _7 A
        ),
$ z: V3 f# T7 k3 O        'public' => true,. F- ^* E# r5 k0 G+ q; m
        'has_archive' => true,
; P- q2 z' H0 k        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),, `) u% w+ U9 n0 t: q, t$ D
        'taxonomies' => array('category', 'post_tag'),# _2 i+ M4 {% r* c# k1 b" j: e
        'menu_icon' => 'dashicons-megaphone',, x6 V/ N1 G- _  Q( M" Y
        'menu_position' => 5,
' |- [5 R4 x  U) R5 n/ ?  ^7 n$ H        'rewrite' => array('slug' => 'site-wide-notices')
- F3 T" v- \% F# R. O; G4 r    );
; {+ z0 M- a2 y    register_post_type('site-wide-notices', $args);
2 x3 G6 b! M8 H" f( _7 @# ]}
) r/ D) p. [9 F4 u" P8 Radd_action('init', 'create_custom_post_type');$ d. t/ k2 M) S& A* x  o2 ~
```
, \6 R3 P. W6 i/ j% y, z2 y1 P! z7 s  d& w
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。$ F2 o" Q7 G$ R% o
+ q0 {2 l" Q' c+ k; |  A
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
. X  e6 N1 m7 j" Z1 ~1 h6 p( e' ~4 R2 k: N* C  v
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
! S, |6 l9 r' H- ^' x4 k- F0 l4 r5 \+ b" ]( \
```$ s0 f* r9 S% y! `  [
$args = array() E, e1 q# o* t, R& i- f) T4 P, D
    'posts_per_page' => 3, // 显示的公告数量
6 g. E7 W5 l3 k$ l% [    'post_type' => 'site-wide-notices', // 公告文章类型8 p5 @" ]6 J- A# @( `( \! u
    'post_status' => 'publish', // 公告状态! A1 s8 g6 F/ ]/ U  S2 {8 p
    'order' => 'DESC' // 排序方式
* k* n* N$ N" E);4 o4 K  X% X3 e4 A

" @. C% C* @9 x% h: u1 ?/ j+ E$notices = new WP_Query($args);
! Z+ \& ?% j! Hif ($notices->have_posts()) :& X# A2 B4 x9 u' s3 Q
    while ($notices->have_posts()) : $notices->the_post(); ?>' x( s! e4 J- l8 h: M8 }
        <div class="notice">9 |/ p& ~# @* ^* c7 P5 s% K
            <h3><?php the_title(); ?></h3>* {6 o, S; l* E0 V4 K: v4 n) K
            <div class="notice-content"><?php the_content(); ?></div>) M( W1 x8 T7 s) w$ I
        </div>8 U2 d3 l0 y) D( C" A
    <?php endwhile;
# R' \* d9 T( ielse :' U, H4 h8 h+ Y9 [8 X+ h9 M+ ~
    echo "暂无公告";% i3 K2 C" a2 {
endif;
7 E5 u% S1 T" \6 }1 Cwp_reset_query();
, o, P- C8 b: H8 I/ ]6 t. U```
& }' B5 ]! U- U& g' g, e% {1 L
. C$ C9 R% H2 a% F  o! Z  N( }. w这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。/ P* g3 z) r% g4 [8 D+ B4 m
7 M6 n. I! @$ C5 D" ^. X# v
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

341

主题

541

回帖

3571

积分

管理员

积分
3571
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?% s5 a' E2 d( I

% c% J; R* h0 t- j" n如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。, X6 N; R$ S7 y! f7 X4 {# ~

) W0 {- Z) W4 Y1 J2 D以下是创建自定义插件的步骤:
' D) C4 `) D& {" b$ w
  |, C4 X  Z; n4 N' m+ y2 b- e1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:; D  s; P7 t9 b+ r
1 D: C" X- }4 d8 N, \2 a& [+ I
   ```
# f5 {) f3 R* O9 n2 `5 C8 c   <?php
/ f5 ?7 i( D* t9 Y   /*
: m/ P3 ~$ b9 m   Plugin Name: Site Wide Notices Plugin
& `! m# m$ p* _+ t) w   Description: Adds a new custom post type for site-wide notices.
, ]/ H9 R7 }  V% @+ G1 E% E   Version: 1.01 c9 o# l1 I, T& [/ v
   Author: Your Name& b! _' c4 c/ d1 a5 r' ^( r
   Author URI: http://example.com
+ n3 |) L! C. w& I   */
% e- J$ [" [+ ~  ^" e+ b4 }! X( X3 I9 I; w/ t& a9 X
   // Add plugin code here...
! Q5 R- q# q; S# e4 }2 {7 K- K   ```
: o( B& l" _- W
' n) k6 ]( h) \: ^8 f   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
4 y! f4 C8 x  v7 O  ^) Z# R. v7 |4 m; q9 d3 T* D
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:6 m5 T$ n4 G* ?! E- F) w, D3 T

. D" G  U; }7 C8 B# d   ```
( E# V; k" J' c& {6 l! v. ]   add_action('init', 'create_custom_post_type');6 B  T$ \. A5 e8 b! \( m3 ]
   function create_custom_post_type() {6 H# K/ ?- H3 E# z4 N6 Y
      $labels = array() ]# o: y2 D$ f/ M0 u
          'name' => 'Site Wide Notices',: ^7 a8 g$ ~& j. O$ i
          'singular_name' => 'Site Wide Notice',
  m' x/ N- e2 T, G% C. q" ]          'add_new' => 'Add New',
5 i0 j+ ]* U9 J* @          'add_new_item' => 'Add New Site Wide Notice',
3 b- [8 B+ X: |7 y- J# x1 ~          'edit_item' => 'Edit Site Wide Notice',
, n" B$ D( O: A6 i( U' q: C, D- x          'new_item' => 'New Site Wide Notice',2 J5 P: k8 a5 t0 E$ Y+ P
          'view_item' => 'View Site Wide Notice',
; a# |6 e  R9 S3 s. q% n0 C8 B( w          'search_items' => 'Search Site Wide Notices',
9 t. C0 r, w! k- h# }( u          'not_found' => 'No site-wide notices found',
+ n: E' G& T: z+ j, p7 b          'not_found_in_trash' => 'No site-wide notices found in trash'4 J; C3 d1 S+ @6 f6 a7 I
      );) O, T- w, d1 b) T; W+ [( l& [" F
" q- v- g. j# K
      $args = array(8 h8 J7 h( {7 n' x) V1 O
          'labels' => $labels," k; s& m+ ^( W9 B
          'public' => true,5 I! y% \  S# s1 L" W
          'has_archive' => true,  t0 B& C6 [1 a/ q; g4 F4 I
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),% b7 X7 A3 L0 _, X( Z0 B
          'taxonomies' => array('category', 'post_tag'),1 m3 h3 a6 Y$ w
          'menu_icon' => 'dashicons-megaphone',
5 W2 z6 T5 I$ l          'menu_position' => 5,! q8 o" T* k  T1 `) U
          'rewrite' => array('slug' => 'site-wide-notices')
  U* Z) ~, z. a, @- d! z9 F8 g      );
- V4 _* l0 E+ b% r0 u1 r1 N* I6 b9 @8 r7 I
      register_post_type('site-wide-notices', $args);
& t5 j5 I# I$ x9 R2 _   }
8 U) S/ K4 A: `( V# q   ```. o7 u; q4 {$ G- _% T; Q* M2 ^6 M
' a) |& e' x5 n5 l  d) A: V: y
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
+ O3 O. Z, u/ \/ W) b0 s& M: \) e# C% a. F1 k* Y& b
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
( m  K. G: j: T: ?: D7 p/ i' M  }8 B8 U( p9 q1 h) W
   ```. q% N5 \' X9 g0 |- s
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
' H& i! K. K9 V   function add_site_wide_notices_boxes() {5 e; i# p0 n# P4 e# [1 v% F: G* o
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
3 S4 r' D1 {/ p( z2 E% ]/ _0 y- r   }
# o2 m! c3 F! c, a1 X, g4 A
! T2 R5 B: _$ r5 W, g* L   function notice_details_meta_box($post) {
3 V& ]; _4 I. {4 Y" Q      wp_nonce_field(basename(__FILE__), 'notices_nonce');% a+ j+ z4 p" o$ Q* E, I
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
* Q% T) @( l# l! C4 h% b+ I      $notice_content = get_post_meta($post->ID, 'notice_content', true);! W/ S  d4 _: y) m
      ?>3 }( r: S3 z; ]) m
      <p>
) J  K6 Z  |' q# m          <label for="notice-title">Notice Title</label><br>8 Q: w0 S+ M: p0 A
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">! _# D" S  Y/ p: h$ t' h, \- z5 ?
      </p>
6 i. I- z$ [4 q3 q+ c4 s5 d      <p>
  r3 Y. J" [* W" Z: `. q          <label for="notice-content">Notice Content</label><br>
6 U; u8 ^' r) Y( ]          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
1 `( B+ i# N. p/ M9 |3 A      </p>
8 ~8 x4 [' R0 o( S( U$ n0 X' B4 R. X      <?php' v4 J- |$ a4 b+ V) L; g
   }
7 A* W# h) j/ X% J$ H( H* j( |  {% v' H
   add_action('save_post', 'save_site_wide_notice_meta_box');9 t: \% w5 H. ?3 H2 R$ |9 k# n
   function save_site_wide_notice_meta_box($post_id) {
0 y+ P. g/ j- M. Y4 ]      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
: L% z/ g* ?" q         return;
8 o) H$ h# R/ D: A' [7 J8 {. {      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)4 R/ i8 L1 Z/ d1 L, |0 o. g" V  S' u
         return;/ y" b1 ?) g. W4 w0 i4 X' ?, ^
. b' y% S& C+ ?+ T) v5 Q7 d
      if (isset($_POST['notice_title'])) {- l  C3 }  c/ V
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));# s* c, R0 {! c0 X) h8 V6 p
      }
% K2 p, o' P: g  w      if (isset($_POST['notice_content'])) {
/ \; n1 B; H) K6 r0 f9 I          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
: V, d5 }4 e% p" U8 o! E( l      }6 H+ L: M( o  Y0 ?1 \
   }
$ h* G5 h. M7 [/ r5 B/ Y5 |* W: h   ```$ r8 |2 G) q: s! l! H8 \% g6 L$ [5 P4 U

' |0 ?7 Z( G9 A" L5 R0 l& b* b   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。1 G. \: g; D* e) x, O- j' O6 l! o; @
  L- z3 L( p+ @1 ?' w; O5 A
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:2 ^/ ^. z; g; }! @% V2 }
6 {/ i/ X0 S9 P8 w0 L8 O+ L
   ```, u6 O3 z) _8 j- _' b5 I8 L/ `
   $args = array(
4 R" J" ?' a( ^- F      'post_type' => 'site-wide-notices',- P  }4 `3 ^. g5 p1 O
      'posts_per_page' => 3,$ g& w5 L$ M2 v
      'order' => 'DESC',# }, G1 q1 ]+ q1 d
      'orderby' => 'date'7 f0 a6 m( A' b; K/ l
   );4 ]" F! i3 r# h3 R
   $query = new WP_Query($args);
; r$ x+ {/ J) _  ~: I! u% [   if ($query->have_posts()) :# I. g9 ]' |: x2 M% \
      while ($query->have_posts()) : $query->the_post(); ?>' }1 s, M9 w- J. T# e
          <div class="notice">
/ m" J& \3 x/ B, p2 x# u" W  k              <h3><?php the_title(); ?></h3>. e( z9 p9 O( O0 Q( N
              <div class="notice-content"><?php the_content(); ?></div>! {' O% ?3 `3 z; s- `5 a7 w/ G
          </div>
/ o$ _4 H2 W- k0 T# D8 G) m      <?php endwhile;
, `6 b+ M% H. d$ F      wp_reset_postdata();3 B1 x. P# C# u+ F* C/ ^  \
   endif;
  O6 a' r0 c; }. I   ```: ?& ?8 H# @  a3 @

  ^. i" j3 E( D; K; H6 b- ^, U   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-25 01:15 , Processed in 0.016965 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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