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

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

[复制链接]

338

主题

520

回帖

3462

积分

管理员

积分
3462
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:; F) F, a  U! f6 C" o, A$ D8 A3 u0 @9 v
; r; g7 G9 q& T7 D& ?0 Y4 s
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
( `% L; }( l$ c* J% d; N' _# M, X1 N) q8 g
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
$ [, i# N  C% i; s+ v3 q7 I6 |2 W' Q, \8 O3 F, ?) S" I* q7 a
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。: w1 P& O& K5 k+ E
5 U2 ~- t% f  z% r& y
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。! i1 N, m2 I% Q( h6 y* r
) `9 w& E* Z$ ?$ a% i
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

338

主题

520

回帖

3462

积分

管理员

积分
3462
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
3 s! ^, Z$ c& }9 o: Y/ z
: l& e, Y3 d& T9 U) `6 O如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
+ v& ?3 r* O- z4 n0 @
' `8 M) G4 z. T0 f4 o% F( _1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:( G' s# I. D, s3 Z. X' f/ D' j1 y* [
2 A6 a5 J. p8 H9 ^) ?
   ```2 m" P( G5 X7 j% _9 F" i
   add_menu_page(
  B' y( r- y- s2 R       '全站公告',
& ~" l. o* v% n- g2 V( h9 t3 ^       '全站公告',
/ Z* }6 P) O4 G" B7 U$ M+ `       'manage_options', //需要的用户权限
- _6 e  B. X* m1 V3 A: F       'site-wide-notice', //后台页面的 slug  \8 w, K6 L5 H. c8 X  C( }4 I
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数  f5 x) C0 J9 Q7 k: U8 j' \
       'dashicons-megaphone', //用于显示在菜单中的图标
- I$ i, x/ j5 d7 s8 e/ N       30 //菜单项的位置, o6 U, o! v0 N
   );& \  K; i% y+ p  p, {
   ```
6 y( O; ?* g3 t% q
/ _9 I% J% F  |: x! o5 ?   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
" u. ~2 Y, d) K+ U0 {* X" {; E! c7 y* N( w; k- W
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
% w1 |# D2 W' j/ z; g2 m% y2 n, b
9 u; \" F  t1 _, X. v- L   ```
' ?1 e' [# n) D# w* r# ?   function render_site_wide_notice_page() {
! g; b/ X7 q% R" |& ?5 ^      // 渲染后台页面内容
# h' X( w# C( L' w! c6 Z% a      echo '<div class="wrap">* M  G1 r) m9 O6 j7 d
          <h2>全站公告</h2>
$ l' `; v0 p( [+ \          <form method="post" action="">
% D+ {# R( L/ }, X* B/ k) Y) N' y              <label for="title">公告标题:</label>( ?" o  x( s3 X1 ?( Z( h5 e
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>0 G; r% m2 n7 @. D; Q
              <label for="content">公告内容:</label>7 [9 x- Q7 V% q& a, K
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
5 r5 V+ Y( E. E( G9 S( o              <input type="submit" name="submit" value="保存设置">3 b4 Y9 J! ^6 u5 I5 ^4 b
          </form>
* f3 x" b: K0 w$ w% u4 S9 B      </div>';8 V5 E, b" l, ^% y# D+ u
: M, ^0 Y9 R- @5 B+ I9 I
      // 处理表单数据9 I4 Q0 t+ B/ A$ w# Z0 Q
      if (isset($_POST['submit'])) {
8 S1 E  T2 U% c, A, @$ D+ o$ U5 e  o          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
8 W) k4 I2 ~2 z. l$ G8 @! g9 A1 o" _          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));* ~" l' \3 Y: J6 U0 D- j! |) F8 J
      }4 `  ]8 y7 B. X* Z9 u
   }, X( \) Y  m1 g7 R
   ```/ g" v3 c7 [2 e3 g9 {! e
2 b; Q; a/ p  t# e
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。- q( X/ D2 u6 a  A

9 N7 Z# H2 `5 E9 Z3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
6 K+ I4 |: ]& g$ C& Z* S9 C  }- s3 C
   ```: e# J/ G/ F/ Y3 L' Y! w  z9 N% l5 s
   <?php
9 _- O0 [! K& p( z) I   $site_wide_notice_title = get_option('site_wide_notice_title');
8 S% `8 k- ^, N- Q" W9 r! ~  k" o   $site_wide_notice_content = get_option('site_wide_notice_content');
$ Q2 j" N$ \$ k5 R. {   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
8 W% g; W0 w1 j0 [       echo '<div class="site-wide-notice">';
+ l; b$ y- j; g) y5 y       if (!empty($site_wide_notice_title)) {( Y/ `) u6 A, Q; t: v% O2 l. P' e- f
           echo '<h3>'.$site_wide_notice_title.'</h3>';
$ p# V- m8 g- J+ a       }
+ n. p3 T* G  A( ~, B       if (!empty($site_wide_notice_content)) {
. u# Z: h" X9 Y' y! a0 y           echo '<p>'.$site_wide_notice_content.'</p>';
$ i5 A7 @5 s5 U       }/ J1 ~! }' {& z# X; ]8 O% K; i. a
       echo '</div>';) q$ e3 j) g; J
   }
1 G' I9 Z% K. j5 E; V4 h2 {2 T   ?>
0 u5 Y6 m! C: n+ g1 d   ```; P+ l2 [% W. v

: G8 u9 M! d" M5 {+ q, D& O   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。8 b. V3 H/ g/ Q; n
8 e! L/ M" d0 d! t
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

338

主题

520

回帖

3462

积分

管理员

积分
3462
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
' B' ^" a& M1 ]1 @  O# C$ N
9 ?/ v( R6 M; N: f# h7 w' w您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
5 U! J' d5 R9 K! D+ i( V# _7 c9 j" A
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
) \5 `0 u4 d. [( V6 T5 `/ C3 |
1 h& ~& J9 P. h3 D4 Z' D* W```0 {& u) f( ~0 q2 ]+ G3 }3 o# _
function create_custom_post_type() {; Z2 I, x2 c( S9 h9 T
    $args = array(
: |- H6 q, H5 _5 {" n        'labels' => array(
( P: M( @/ ~( @! Z- n            'name' => '公告',
. ^9 d. m" e% S% V' I/ S            'singular_name' => '公告'3 h8 t: q( I, K8 c" V
        ),. |% L; v# b* c2 [
        'public' => true,
5 `0 M* ^( {! Z7 i3 V5 v8 x        'has_archive' => true,
: a) T% q4 _& a# Q        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
5 ~2 s/ P6 W1 O8 ?% ^0 O: b        'taxonomies' => array('category', 'post_tag'),
. |% R1 Z3 U! L        'menu_icon' => 'dashicons-megaphone',
/ g2 D; n0 \0 H6 H9 x        'menu_position' => 5," @& i' o1 O5 H7 H
        'rewrite' => array('slug' => 'site-wide-notices')+ |8 |' o5 `2 `5 F
    );+ A8 u. p5 f. W+ m/ t/ e$ C
    register_post_type('site-wide-notices', $args);
) j; D' H5 W6 X+ ~}
" m, r* q8 s$ d  h' Madd_action('init', 'create_custom_post_type');
4 ^1 ^! U3 z& }  g7 e: ^```
- i# H5 w8 u/ c4 ^- p! F2 ^" y! n- L* u2 v+ u$ W
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
( C) G; y1 a) v1 ~
# r- G# ]* I2 k6 T3 w2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。) x* o1 _8 M6 A; B+ p$ N9 L
7 }  S9 w3 R$ f; I. w& i. M
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
; _- P- o- ]3 R( M. O% x! [# W( @3 ~: Z2 f1 g, r& O
```
; e# B% I  f6 ~: F; r$ |7 V$args = array(
" b) y% Q6 o4 s; Y    'posts_per_page' => 3, // 显示的公告数量. J. _! [& ^$ [# J$ m
    'post_type' => 'site-wide-notices', // 公告文章类型
/ b6 f& v+ L- C8 T+ I& ~    'post_status' => 'publish', // 公告状态
& f5 e: Q$ v4 G    'order' => 'DESC' // 排序方式0 i, }9 y  c. B2 y( H
);3 J% a/ _. `4 E1 a& G: Y) S4 O

  U5 R6 J7 H1 z4 E% c1 u8 e$notices = new WP_Query($args);* E  h9 d7 B8 f$ o( k. V( X
if ($notices->have_posts()) :
% L- h: F. {( x/ Q    while ($notices->have_posts()) : $notices->the_post(); ?>3 C7 w4 B' }8 P3 w
        <div class="notice">
8 n3 r9 }" m( n. h            <h3><?php the_title(); ?></h3>
* S( w  u1 T7 B% [. f& f. z            <div class="notice-content"><?php the_content(); ?></div>
. S* F  l# ]! k7 p2 N) s5 }+ u        </div>9 H+ e% j" c, _. `
    <?php endwhile;
2 W0 t8 A7 X$ U8 W# n8 M6 Qelse :& a- K. I' ^( D7 G( x# i9 {5 B& P1 \
    echo "暂无公告";
3 Q! L# Y& C: M( N0 yendif;+ P9 A+ Z! U, A8 Z& o. D3 k# t
wp_reset_query();
; h* `& z: y* W- i3 _2 o. S```
6 h* ?7 g) x5 C2 i2 ^+ u) r, c) _: o8 z( y
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。# C6 o0 L6 Q+ E# D  p1 [5 n
* I1 i2 I! O/ |$ \- r$ }  a/ K
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

338

主题

520

回帖

3462

积分

管理员

积分
3462
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?- l  R& o+ D) E: }0 i3 b
& Y) v9 ~6 d) }, H
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。. [! K, [- t( D5 E1 V
# p$ P( M+ p. a- F
以下是创建自定义插件的步骤:/ a. c, B4 Z8 i9 V: F% V

5 b& U( z5 ?! d; E- D, R: X1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
& Z5 H3 h; P% i% \
; G( _( }5 P3 P5 i; P- K   ```
+ D+ z/ Q. ]9 z- @/ I$ N0 t' P   <?php
6 @/ _$ X: u( c! S/ c( u   /*& [5 X. i; h6 m, c* Y
   Plugin Name: Site Wide Notices Plugin9 a! T0 F! z. V" [0 L$ @- L' f
   Description: Adds a new custom post type for site-wide notices.9 E( b4 L1 v, `# s9 R
   Version: 1.0$ v- w+ Y! T* M# V5 b$ K" y+ {
   Author: Your Name- z( L4 T& X, {, m/ J' G
   Author URI: http://example.com3 @  o! i7 M0 f) f, o4 F4 s
   */0 P0 ~$ d& }$ j2 ~& i
3 T) I2 @; f, N/ F# @
   // Add plugin code here...
: J5 [) X. g# i$ j4 [3 n$ N' P   ```1 C! U7 {' R7 y5 W% g

  e- k2 R$ U7 B, h: Y) \   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
/ m/ X  }( y4 Y+ L# e! j/ y3 T5 A; U1 D( c: G+ m
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
5 ~2 i9 p8 F, \+ J+ c8 b1 L1 ~# z" f+ ]3 X7 J+ I
   ```/ I2 s0 P) V. P- h* B. j
   add_action('init', 'create_custom_post_type');
, O: k$ l! t" \# }0 [7 {   function create_custom_post_type() {5 {5 g5 c' o1 ~  u1 E$ R
      $labels = array(
% Y: {/ @& e) W1 M1 r* h3 e          'name' => 'Site Wide Notices',
- D# U% d) ]! }8 w* Q* p2 x          'singular_name' => 'Site Wide Notice',
/ V, S, S* q4 T8 U8 t          'add_new' => 'Add New',
7 w. N% j; C& d" @          'add_new_item' => 'Add New Site Wide Notice',
) P1 j$ O& s; J) N+ X3 N. h          'edit_item' => 'Edit Site Wide Notice',
8 M0 P2 E% I& w; C7 K          'new_item' => 'New Site Wide Notice',, d+ _1 E/ \4 e* n5 T5 {
          'view_item' => 'View Site Wide Notice',9 t$ ]1 ^- C8 j) O) s# k
          'search_items' => 'Search Site Wide Notices',4 l, i; E5 ^9 T2 a
          'not_found' => 'No site-wide notices found',
& a6 N9 A8 N" L8 W% ~7 c1 q9 c          'not_found_in_trash' => 'No site-wide notices found in trash'. p; {5 n" A# s( F
      );' A3 g) v' Z5 s: J
) x( ?4 i% l; B# ~/ z
      $args = array(
6 m6 h7 y$ ?7 l/ q6 j; @          'labels' => $labels,7 w4 D  K" \4 A9 `2 O
          'public' => true,
# V3 n8 V9 t* [          'has_archive' => true,
$ |6 w2 m. b0 `& C          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),& c9 x9 R0 R4 o1 O7 `' N
          'taxonomies' => array('category', 'post_tag'),; Q: W' n, D6 U4 I+ R) i
          'menu_icon' => 'dashicons-megaphone',
% A+ j4 W* E" {8 ^* B# t          'menu_position' => 5,+ K8 p/ Q; I0 A& O" @' r
          'rewrite' => array('slug' => 'site-wide-notices')
8 h4 t0 X4 P; H5 F' w' C      );4 w; T, a/ N$ }) p
5 x4 H$ V% D2 n. h2 }$ U
      register_post_type('site-wide-notices', $args);
7 y/ p6 w% E/ |2 b2 ~( c5 H   }2 |" i) j- P3 q
   ```
! y+ K) L3 `5 w! W) }" c, o( u5 j9 U/ B+ r& Y0 {3 s3 r; r
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。: r& w; M$ @0 I

" k2 j0 p8 _0 q. q3 F3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
8 f$ o( ^! f1 ~* q' R; E+ u" ~- Y
- u% ~; {4 Z+ `* Y# N- W- b: J2 t   ```
  }7 @$ }* p/ B5 d, V   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
$ f/ e5 u4 T( D. c5 g' T   function add_site_wide_notices_boxes() {
; m# D# t$ F, m* }& T      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
: s0 c% _) V2 a! y  C% a* u) B8 J: [   }
" j5 R6 S+ Z' F, C" M
7 C% j+ z+ W. k* ~* y6 ^   function notice_details_meta_box($post) {3 m" g0 {+ G6 @* f' i  [9 {: `" H, N
      wp_nonce_field(basename(__FILE__), 'notices_nonce');. l8 X( B( T. N7 A  Z* G
      $notice_title = get_post_meta($post->ID, 'notice_title', true);6 N: H# ^6 m1 f; x, l4 C
      $notice_content = get_post_meta($post->ID, 'notice_content', true);: t' C: T6 r5 |
      ?>7 c9 S, n4 q& K5 a# E7 x5 a- z6 A
      <p>
4 y# U! ]" ?7 I' p' |          <label for="notice-title">Notice Title</label><br>8 \$ ]( U7 X: e+ ^& X, R* B6 {& W) |
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">1 p: F1 d: {" Z8 f
      </p>: C- j' a3 U4 t" z! W
      <p>! H; d( E" l: I
          <label for="notice-content">Notice Content</label><br>' s! K' V  H3 R! c
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>0 D* W% r1 z1 j, r
      </p>
2 k* e: p) @* F3 Q' n      <?php
5 Z5 \% x3 k, P   }+ Y+ ~3 W% S, p- h
& f4 P3 f( q8 @/ ?3 c
   add_action('save_post', 'save_site_wide_notice_meta_box');
: U( q% ]( R# s4 u9 \4 c   function save_site_wide_notice_meta_box($post_id) {1 ]. h! ?; q& |. `8 ]
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))* h( n; S# F" A1 C1 Z1 w; p
         return;1 P+ a0 ~% U; D6 a# l4 I
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
7 A7 a* ?! [8 L1 z" A- M" k         return;
7 ^+ ~8 F9 F9 h) @3 j
4 P4 W" u2 B5 {5 s& q      if (isset($_POST['notice_title'])) {
7 O/ C: ~7 A& ~  `4 U          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));9 f6 G# J3 X$ Z8 T
      }
" u! ^! O  _2 |" R' E6 B% u& A      if (isset($_POST['notice_content'])) {
& q8 w! h4 n& B8 V' z! ^. D          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
/ y! ?& q$ H. i* j' U* z% u      }
  D" M/ N0 Q: v+ T0 g   }
$ i" R3 W  ^7 L6 @5 Z% N   ```- T6 P: A0 i  D5 {4 R4 ?

. v7 s& p7 S9 J3 u) W   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
& |1 G/ s  U/ D* y* [$ G& ?# k; E5 z' j. M  @) n  J0 j1 k
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:2 J  N) K" P2 u5 B# k
6 s4 d4 J$ d5 v  g. K) h
   ```& E9 ]$ ]8 q1 U
   $args = array(
+ ^. E. K1 ?3 a- U/ D      'post_type' => 'site-wide-notices',0 Z" I; u! }# J# ^0 d
      'posts_per_page' => 3,
% H: S3 e+ o2 Y# a4 j      'order' => 'DESC',9 l6 {* @' h$ g, x
      'orderby' => 'date'1 T6 @4 z% J  ~
   );3 Y/ }5 G- s4 d0 ~
   $query = new WP_Query($args);
0 M0 f# P% s) j) C4 J7 v) Z3 u   if ($query->have_posts()) :! R1 T1 }5 \- r4 G9 }
      while ($query->have_posts()) : $query->the_post(); ?>
+ Q0 G3 u% P4 e7 U          <div class="notice">( \; d5 {& Z: H
              <h3><?php the_title(); ?></h3>1 ~0 U9 W; d& h; M3 ?: L
              <div class="notice-content"><?php the_content(); ?></div>
* u- t, v$ n3 W: x) Q( U          </div>8 {1 V" M9 t, i7 ?+ F4 o  j4 g" a# v
      <?php endwhile;
0 \" f8 s4 m! {9 F" _, c% B) {      wp_reset_postdata();; e$ v( Q4 ?1 g7 \  z  l' f
   endif;
& A' F- I, I% K4 h1 b. W* a& ]# x   ```
( X4 P- h$ _  V5 i
& d$ j& V; P1 A0 j   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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