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

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

[复制链接]

338

主题

520

回帖

3460

积分

管理员

积分
3460
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:* e& P4 j# s' g: v
+ V& _# q  n; v( k' ^! H
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
9 z( O+ M. x; B) n
* t$ s3 Q4 o3 ^5 v7 |5 n3 |2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
# E- o- U1 g; i4 J3 d" k4 o5 ]& E2 {' w; o: M
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
: ~- M9 v8 O) j( e) ~) Z: E
+ Z( A& j& \5 l+ o# M6 L; I4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。! h# D1 R  Y/ O, e2 ]

6 S9 K9 M" b  p4 o0 l注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

338

主题

520

回帖

3460

积分

管理员

积分
3460
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?. @8 E4 M; U2 S8 F/ Q! |
! c0 @2 ~  Y, r9 }' g& |
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
7 `% i9 D) b+ [1 Z8 b  f! K
. f0 H+ x: |5 e0 \5 v1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:  n- J: |, [* y+ A- q
' c; k/ x! ^7 J" u0 Z# N
   ```
% V2 Y% v% K. w% ]5 v2 V/ p   add_menu_page(
" C$ W" y2 E* S8 J) r       '全站公告',3 w( L6 Q" y! ]; _; \
       '全站公告',
4 G! O0 E; I$ i4 Z7 `0 y) t       'manage_options', //需要的用户权限
. J2 j, R6 f$ Z5 S+ p       'site-wide-notice', //后台页面的 slug
. P1 [0 ^5 C  F2 U6 L4 J$ U       'render_site_wide_notice_page', //用于渲染后台页面内容的函数2 s, f' }* ]4 }
       'dashicons-megaphone', //用于显示在菜单中的图标3 R  ^' D7 C$ X$ X
       30 //菜单项的位置% o% C4 W6 A; q. f/ [
   );" F- g3 Y- K' E4 c2 c1 J0 M
   ```
9 v0 w2 a- \* Y3 q+ b
( z7 M0 t, Y) v2 x( X& p1 z   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
2 x4 o, g/ o3 u2 p0 }
  j; O( K( |/ H4 D: e7 G2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:- h5 `  W8 @4 S: c& L; Q5 Q9 s

2 m3 n6 F4 [' e7 \3 `; T   ```3 r5 ^/ r5 x- ~% s6 C, [
   function render_site_wide_notice_page() {
7 C9 V% R/ P0 z# X, O      // 渲染后台页面内容
: X% ]* r0 {. V) X- M; h+ D      echo '<div class="wrap">4 w8 t: d1 d3 o& N* [
          <h2>全站公告</h2>
% x- G  \. E! F! c4 r5 L. J3 ?+ W; d          <form method="post" action="">
( C8 j* U: }" ~5 s: ~              <label for="title">公告标题:</label>
0 y5 X  H6 ?3 Z              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>( p% o2 Q2 Z+ q* A" M
              <label for="content">公告内容:</label>% i" D; R+ C0 n5 H  o
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
! [' i' D# `- |" H$ }/ Z: N7 c) {              <input type="submit" name="submit" value="保存设置">9 ?! v7 H% c7 k( i: I8 v
          </form>
: v9 \6 C- f" L5 c2 W1 o      </div>';7 y& U7 E" T& D2 V* N! t2 z8 Z
, Y. }( S1 _4 \; u1 H- e7 r
      // 处理表单数据7 X" i2 z- W& D3 f
      if (isset($_POST['submit'])) {. J+ O' @% d( D  X
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));' A/ y+ r/ k; Y
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
) o) M# ^2 ^1 o      }
; j8 m6 ]0 w3 J, b" W% R   }
( Q& _1 s! Z, q9 m: [  S4 R   ```$ n; P4 F) o6 q. w7 V2 o' g

3 l4 X$ {0 p& U  N2 m) {   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。# S' ]* L( v, a' \

8 u% v' I' v3 U) Y6 _- P6 L3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:. o3 \. z/ C1 D

5 x6 h7 O( D3 E) ~1 t* G5 J: X   ```! n. x# E" P- ]7 l, h' c' R
   <?php
. ~; B$ b0 Z6 T: x/ |: g   $site_wide_notice_title = get_option('site_wide_notice_title');
6 n' o2 R2 h; n7 A+ D   $site_wide_notice_content = get_option('site_wide_notice_content');. ~9 [2 ?. [! X- j0 f2 _
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {! s, c" e9 |+ [$ Y2 t) d
       echo '<div class="site-wide-notice">';
. n+ p0 t2 o) ^4 l+ z       if (!empty($site_wide_notice_title)) {$ J/ i1 G" B& z4 g$ H# b* w" E
           echo '<h3>'.$site_wide_notice_title.'</h3>';
  l4 e9 h6 r* z. G0 W       }
9 A# d- b5 }7 r0 a! B       if (!empty($site_wide_notice_content)) {
1 m9 C* n0 ], o! s+ w9 K           echo '<p>'.$site_wide_notice_content.'</p>';
" G; t* ?7 W! j( \0 q9 p. G/ G- M       }$ e8 q$ u; @" P8 j1 @/ [7 f
       echo '</div>';( Q! _  ?9 a; ]& r6 i0 c, z! T
   }
  E, G+ x+ y- a/ Y   ?>
5 l0 P: M1 |: o, u1 V9 z   ```7 M4 R2 @5 E# @* b, X4 f1 L# R

! [2 s) f' {3 d, \# s6 Y4 i2 \   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。: m' X" u. Q- C. G
- O! _8 M6 h2 D! {
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

338

主题

520

回帖

3460

积分

管理员

积分
3460
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?# w6 d4 x! J, w4 o3 V

" ~( S; }, q0 G您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
6 A# n3 p9 }6 X6 i
7 C9 r' I7 v; Y0 `  L( p% e2 I4 m3 M1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
; F  M  a0 F: `/ ]8 B3 W# W1 D4 G. c: c/ p8 B' p0 r. M. G2 o4 A
```
1 x6 _9 V" r5 r% r3 u; ?7 Jfunction create_custom_post_type() {
, I' c: o: I, |: ?  I    $args = array(7 I9 ~5 a  P+ X' q9 J  b
        'labels' => array(
/ W9 D5 e! g4 o$ Y            'name' => '公告',& I8 B+ r' w! h; \( w, E
            'singular_name' => '公告'; O. v! ^' C1 `9 m* j5 j* |
        ),
/ g; f; d9 S: x2 ^1 N5 j        'public' => true,2 z: _! B- |, e6 G: t. @& t( [( u
        'has_archive' => true,5 Q+ X4 W! J% [3 x; c6 S8 }
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),. U( a+ |- K5 ~* F+ c! l3 |
        'taxonomies' => array('category', 'post_tag'),
; q8 o7 e2 b4 K        'menu_icon' => 'dashicons-megaphone',: j2 |# g) g+ X- R
        'menu_position' => 5,
% F+ [9 r  Y/ q; E        'rewrite' => array('slug' => 'site-wide-notices')  n) Z' H; G- T, |! r
    );
% C* Q3 y2 \% t    register_post_type('site-wide-notices', $args);; |) b. t  T4 h% V/ m
}
  Z8 s2 A; O3 j; F! L' Y2 zadd_action('init', 'create_custom_post_type');) L! b) Y  n5 A4 q9 z% q
```9 o% m/ o+ q* O* X* g2 o+ f
, n; t" [: I( Y6 ^1 I' n7 n4 T
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
5 X0 e5 V* ~6 [1 ?8 {6 [5 b2 I- s/ U7 Y; W
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。1 S# I) `$ v- `* h% s' I

7 V. D5 U* E" }3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:5 [& N( ~+ I) }3 A4 m) |" c
6 O5 x7 r& Y) f# y5 |) r6 S6 Z+ \# J
```
% w0 Y. N- Q  i: r$args = array(
  f1 m1 Z( b; t/ V  F  G* q    'posts_per_page' => 3, // 显示的公告数量) G% k7 r1 o5 N& R
    'post_type' => 'site-wide-notices', // 公告文章类型% e" c& f0 Z: [0 s' J- _
    'post_status' => 'publish', // 公告状态
; q( E4 S) N2 r/ m, |; S    'order' => 'DESC' // 排序方式
' L9 M' N" @; V4 q+ l( \);
2 j9 _% v( `0 W. w2 d2 f# X, v  B% c: Y; y% L; U
$notices = new WP_Query($args);
0 s  s+ z8 _, d, n1 K6 Qif ($notices->have_posts()) :
2 f0 c7 e+ o# z- k  p    while ($notices->have_posts()) : $notices->the_post(); ?>
+ V! ]5 @% Y3 ]9 r. Q        <div class="notice">
* a: e, _* T& l/ z            <h3><?php the_title(); ?></h3>
: ^) R0 _  V5 Z/ c$ Q" B4 ^            <div class="notice-content"><?php the_content(); ?></div>6 X# h: ]5 n% U  \9 Z
        </div>/ {4 V+ f3 X& s+ u7 w3 p5 [9 D8 `. s
    <?php endwhile;
. I% d& ^& W: k: ?2 `! uelse :
7 I8 p6 _+ O3 \- G1 X) i$ d& Q9 `+ X4 }    echo "暂无公告";
9 n4 B6 U  C1 o! Q6 S5 |# b3 x9 Lendif;/ ^: @) n' |' Z
wp_reset_query();
7 h, K' v; p9 ^1 p0 s& l```
, c7 M* C, |2 S) l; W1 T
: G/ K8 S! T! k, w8 j. ^  @这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。6 _' N9 \0 G$ Z' \

- _4 t- C0 Q. Z% c' x% q; `" \以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

338

主题

520

回帖

3460

积分

管理员

积分
3460
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
5 `0 e1 i$ \( P, K: _& C9 A4 }
/ c/ n: i3 B1 c5 \( a如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
8 D3 D8 V1 R/ u- b& z8 f+ u2 Y3 S: P4 n# v
以下是创建自定义插件的步骤:1 g( ?4 c4 `5 @$ q" o" D  x
6 c% j7 e* b) S' q6 c
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:* }: ~6 N! v# i8 y6 L& W) f

) x$ [' T( E, u% a- s   ```5 T' k1 T# n2 [- Y1 [
   <?php- G! L; H3 w5 O# b" {3 d7 J
   /*3 ]3 p2 n! n+ u5 X4 B( ~
   Plugin Name: Site Wide Notices Plugin
) h3 |9 b3 e. a   Description: Adds a new custom post type for site-wide notices.. j" Y. h; H/ G1 u! j' Q  J
   Version: 1.08 ^# Y- V+ ~! W' C& c0 d! n/ s
   Author: Your Name, z  m& e0 P0 T( N/ c
   Author URI: http://example.com8 [- i+ I/ g5 l5 s
   */2 p) z. s% h4 `# m3 S
7 j8 N# Y3 @" h) X0 V: u+ ?2 u
   // Add plugin code here...
' ~" m5 a7 Q- I& B: R   ```
! v7 c, ]; V  `* t- b: i4 ?+ a( L5 `* l6 A! Y0 S' H. L
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
( Z( J* m; f8 u3 [+ h
3 p( g' f0 F6 ^2 U" f6 C2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:0 T9 e1 `7 s3 J  \  N) V6 R

4 t* A# K- U! u8 N1 @   ```
0 C+ x% d" G% a# Z   add_action('init', 'create_custom_post_type');
4 E" a0 n* G  [8 D! C4 v   function create_custom_post_type() {
6 a7 L& U7 @; ?8 s' A# j      $labels = array(  O1 a; K  F4 s$ P
          'name' => 'Site Wide Notices',
/ w- U8 @( p. {/ W  l          'singular_name' => 'Site Wide Notice',
2 H, o" p7 f5 W) H4 r          'add_new' => 'Add New',. o5 m6 t# h* @
          'add_new_item' => 'Add New Site Wide Notice',
1 M1 z# j+ U* R+ S          'edit_item' => 'Edit Site Wide Notice',
% R6 y9 @9 V" ^4 X  e7 I          'new_item' => 'New Site Wide Notice',
& z: ^, [* C( i- ~          'view_item' => 'View Site Wide Notice',4 F4 }5 n" M$ g8 w: e  g( j# k
          'search_items' => 'Search Site Wide Notices'," i) u4 j5 R, T
          'not_found' => 'No site-wide notices found',# E( F8 }7 n3 R+ e1 C
          'not_found_in_trash' => 'No site-wide notices found in trash'
3 ?, A( O) V/ U3 X7 S      );/ b4 B# y. O- }) R& s. H$ m

& J& l$ g. k! t      $args = array(
5 p' S# x8 T0 U+ A) a" q          'labels' => $labels,: I* c% {- S! @
          'public' => true,
( L1 J$ j. m/ q/ p5 s1 a          'has_archive' => true,' Y2 U% b6 A6 i" V3 {' e
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
9 t2 H4 A- W0 v: B0 W          'taxonomies' => array('category', 'post_tag'),& m9 I  q% F! {& g
          'menu_icon' => 'dashicons-megaphone',# s9 q) C! d- u$ _/ Q. e
          'menu_position' => 5,
( Z3 A( j  R8 @( S- v! f* f          'rewrite' => array('slug' => 'site-wide-notices')
2 q4 ]; [3 {( a; F: h5 q% n      );! g) N4 U8 i4 L0 c6 k. y. x& {
* ?+ `5 z9 E2 |3 n: ~
      register_post_type('site-wide-notices', $args);2 A$ ^- Q% g6 I& f3 Q
   }
' |: h% q: Q$ Z1 {  I   ```
2 T0 ]. g9 l$ B: l% V! |6 f& P+ n9 w6 Z& |$ m0 ?
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
- y! l- ~) I2 f" g* W1 m! D) o" D
& N$ U# R1 x: T( u; ]& N! Y9 c3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:3 ]! I# M. v8 P/ m4 I: Q

! d1 |; O% d: c. I( A0 A1 c   ```
" ^: k2 t1 P% K' @, r$ n' {   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');2 Q! {$ A$ s  J* o- h6 S
   function add_site_wide_notices_boxes() {  E9 E' z( |% B4 J
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');% F2 D+ K9 w5 P! L5 l+ g3 w
   }4 ]; q; D2 U. m$ P
3 C. |  {& ~4 e( k6 O
   function notice_details_meta_box($post) {
2 ~$ o: P& y  l$ t& i5 {9 p      wp_nonce_field(basename(__FILE__), 'notices_nonce');
" A" J( N, N# Y8 W      $notice_title = get_post_meta($post->ID, 'notice_title', true);
) b( A5 K* h( Z' Y, q- c/ R      $notice_content = get_post_meta($post->ID, 'notice_content', true);! O( k9 {( \0 b- ~; N1 B
      ?>
5 \2 v" }/ ?+ X' N      <p>
# C, d- M6 q3 V% N- Y' g          <label for="notice-title">Notice Title</label><br>! Z) q& a7 U$ |6 t  u
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
  B7 Y4 v1 H- {2 i      </p>  h$ d" R% n5 K. @3 I
      <p>
- X+ f. [$ I; W5 f1 ~# B3 P          <label for="notice-content">Notice Content</label><br>
1 G" e  ^, v! b8 W          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
" w) p7 R9 f' f3 [4 C0 I      </p>
+ F. {# f, G  u; b% [' D9 }      <?php% C3 a1 {& K0 p6 @8 T) ]9 f
   }* V! y5 o; W( S+ m  O1 a* t3 k

5 l9 m4 f5 ]7 m' @- \. t   add_action('save_post', 'save_site_wide_notice_meta_box');! j* z, H5 _, D4 |* j5 w! \$ o
   function save_site_wide_notice_meta_box($post_id) {
% A3 [0 ?2 A/ U" z5 ?: b: J% z      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
/ Y6 h3 k# i+ f) ^" \. j, y' K) ?         return;8 U* j8 A) b" c( _1 {7 v' p
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
" y% _7 ^* l/ r8 i" O8 ~         return;
+ k/ ^4 J1 r1 [4 U) @$ A- H2 I9 m' w' _9 e1 }' ^
      if (isset($_POST['notice_title'])) {) z# W; a9 t# O# i
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));. d! V/ P* |+ d
      }& a- _, U: V) j7 [1 Q
      if (isset($_POST['notice_content'])) {
& X# v9 x# Q7 W$ |& W) x* Z          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
/ x* M8 y' C% I- N4 C: _      }
5 T. S+ @$ y( R) L6 i   }# D, ^( m' z' w0 Q  F; {6 A
   ```
' S  W& x4 n0 H% j& \! _" b9 E7 ]$ t4 O
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
' h2 M& X5 h! {, L0 z3 ]8 w, N' x+ v0 [! ], Q
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:+ A. W: N# n" J# h/ `7 a

+ u' Z; f1 U0 s& r! P   ```
8 P' e  j! O: f1 f! Z& D9 b   $args = array(. x" o# A3 ?+ ^! f* f
      'post_type' => 'site-wide-notices'," V5 p* l3 b$ i2 ?' }7 \
      'posts_per_page' => 3,
  L+ N* T5 Q; x      'order' => 'DESC',
2 m, I- R% |4 G$ {      'orderby' => 'date'
* y0 g1 J3 N3 ?# x& |   );
# ]) M+ ?4 c! b7 T2 `% L' h: H! u   $query = new WP_Query($args);0 I9 w) m* }4 O2 h% ^
   if ($query->have_posts()) :! s  a+ J6 L) l8 \7 l
      while ($query->have_posts()) : $query->the_post(); ?>
( S- \1 n  |% q% Q. `# {          <div class="notice">
  f  g+ P1 ~2 a9 A! z  ~6 b2 ]              <h3><?php the_title(); ?></h3>- {( [1 b6 N# Q
              <div class="notice-content"><?php the_content(); ?></div>- {; X% C9 V5 d1 A3 Y
          </div>2 `$ M  R1 \  k0 d1 M( H8 m
      <?php endwhile;) v+ {9 C+ P) ~. o; C1 }
      wp_reset_postdata();' E7 Y/ h4 j& O6 @
   endif;
. W* D( S( K8 M   ```; L  s9 Q8 d; ~, D4 o+ j  [
9 T% f  [) A& f7 ]
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-2 10:12 , Processed in 0.019704 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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