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

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

[复制链接]

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
6 w3 _9 C  _9 r4 b7 ]/ H
  ^& @' N  \- ^  n1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。# w1 ]' x  b! Y+ _

# P. H0 @$ y2 x3 l# O: h3 u( R2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
" n) ?$ @3 f2 L1 K$ B- P3 h  Q
& ^1 B3 Z* `4 g' |+ w3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。  m! `5 K: X. l% x" w' F% [) l, ]+ f
5 O4 @  t6 ^* B+ P! ]
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。: F4 y; u  e/ ~9 V& m
! u. ~' T9 ~% T4 `( Q: @
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
7 `% r) }: a8 K' L9 B& i+ M, h+ A# _! I- k
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:/ g7 _  v6 k  N9 A

4 f8 `  E' a4 m1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:( s4 C2 F, k- K9 b0 v+ x
! z6 e+ y1 a% \
   ```
0 F  s; z6 \) k8 `- m  D   add_menu_page(8 \9 J- `& F5 C
       '全站公告',1 m6 }( y1 {7 [. U& z2 `. J
       '全站公告',
/ t9 d' W6 G$ |7 P- \       'manage_options', //需要的用户权限5 e5 d" i* l. \2 K
       'site-wide-notice', //后台页面的 slug8 b) P0 y- c( z$ {
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数5 o+ S% L' B( L' L/ v9 l( j; c
       'dashicons-megaphone', //用于显示在菜单中的图标
, _+ d& X2 i6 N       30 //菜单项的位置  R9 V7 L1 s/ ?2 o: `) m4 v8 V! I
   );1 B, o* x! w+ z$ N: o7 T4 E+ j
   ```+ H* D6 V9 z% O8 N; S/ m4 q

" M% E' J7 a" s, C   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
8 ~, ~4 n, N6 L# ~- I2 I; M7 |; g% ]7 o6 w: Z
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:5 d  g0 x# J3 M, r% Y6 x, j
+ k0 W0 q6 ?. D( \) b6 m
   ```9 ~) c0 g  W- ~* v5 [- y9 ^
   function render_site_wide_notice_page() {
+ ^  B/ j3 l1 q# w0 Z: q      // 渲染后台页面内容+ y% u2 O" M/ N
      echo '<div class="wrap">
: J4 \- d6 p" K, ^6 o! s8 @5 i" j$ [. T          <h2>全站公告</h2>2 Y  i4 ?* u0 u$ L
          <form method="post" action="">
- I5 B$ b  k0 {2 _' G& Z, R              <label for="title">公告标题:</label>3 M- S4 K/ |& o
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
* A& b( n2 {4 I1 w$ q              <label for="content">公告内容:</label>5 g& L7 m/ t1 x+ e! T2 v% z8 t
              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
5 P7 h; Z0 d/ g' B              <input type="submit" name="submit" value="保存设置">
0 h% u( V2 D. E; z' ]          </form>3 w- R4 z5 F9 H$ a4 j0 G
      </div>';
8 }: N" N6 Q9 v( O
0 ]# J" j+ Y: E3 D$ Z      // 处理表单数据
8 Q. t" F- U- O0 R+ Z. f2 p) T      if (isset($_POST['submit'])) {6 t- M2 ]5 l* p/ Z6 P$ r5 R
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
: D6 t  O! S' U5 p7 m          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));/ U) q) T0 w8 {) Q% v
      }
, f9 d7 {2 m$ X2 D. _   }/ ]' P  C/ V# F- x8 o- X1 b% `  n3 H
   ```& \8 ^1 |% p2 v& j

- t. W6 A, R2 w( ?0 h4 [   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。4 d+ \5 j( b+ O
9 r  v+ m4 D, @* j3 F  [
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
* V# |& r1 \! J
$ y9 b% ?% Y: A; s( @& I   ```# Y# P) U% Z# O, r) b$ T
   <?php" T1 c8 V1 M# i+ V1 L
   $site_wide_notice_title = get_option('site_wide_notice_title');
* T7 v2 [+ D) r! z* I# P' ]8 Q   $site_wide_notice_content = get_option('site_wide_notice_content');0 i, L0 [/ Y" N- x
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
0 {, D, M( j$ l/ [" p( ~( H       echo '<div class="site-wide-notice">';
, l* }9 ?, d6 P# F, C       if (!empty($site_wide_notice_title)) {. _, \6 e( d' P' @+ K( _
           echo '<h3>'.$site_wide_notice_title.'</h3>';
9 m1 N& g3 u# H6 w5 F# O       }3 Q' R: X- ^- o0 D" f4 H- O/ O, Y
       if (!empty($site_wide_notice_content)) {
( m1 d/ ?* m, I' O+ ^           echo '<p>'.$site_wide_notice_content.'</p>';
4 H5 `: l! Q8 O       }; R/ F4 O: l0 j; z5 m+ o
       echo '</div>';. s8 N' w; z$ P3 X) h
   }
8 T' f! R0 [. X! g, L   ?>8 z, Z5 o( a3 i; V1 s4 r7 A! y4 t
   ```- H6 O4 D4 a% w6 m

$ z! t. t, I1 d: ~/ h   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。* a( W! U$ s( e( V

  {1 X# P; `1 s% ~1 W$ [请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?& e% @9 G  y: Z5 e4 b+ E9 g

* H- J" ~* L; P您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
8 W& o6 z8 M* h$ m6 J8 W6 B  i3 ^
6 l2 _/ p, k4 |0 Y1 L# m1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
( N; R( W3 p6 b- ?. J) t8 L
/ R; ^" O9 w# [& [8 E( O```1 q& B7 L+ D2 ]. l
function create_custom_post_type() {
& p6 Y* M9 W: K6 s. e    $args = array(! K, }4 D. \: l' O# F  D
        'labels' => array(# Q# t$ V8 Z" I9 A" N( l
            'name' => '公告',5 g4 r* F, c/ ?% f/ m
            'singular_name' => '公告'' m9 u* N5 @" e% X$ j% }
        ),9 _, v' y: _7 Z2 v
        'public' => true,
. C: F! d9 {- u! c2 w        'has_archive' => true,- K+ @4 ~! J! G* N
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
, v! h% s  X% f7 O        'taxonomies' => array('category', 'post_tag'),& G* T! h' C' |
        'menu_icon' => 'dashicons-megaphone',
& j; ?- o% L, U. g9 Y5 |8 E        'menu_position' => 5,
. k: c1 h, E" d4 Q) N7 c; H        'rewrite' => array('slug' => 'site-wide-notices')/ K, g+ y+ c9 s& Q1 t
    );* N& m7 `4 H. }
    register_post_type('site-wide-notices', $args);
( p5 k) m& k) y2 {1 J}
  \" X' {& p4 O0 V. L. [add_action('init', 'create_custom_post_type');/ z' \) U8 @/ \
```
9 l0 X. X! @& b
% G2 v) n$ C6 K/ x" O* m在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。$ F2 K& {3 j' f6 C  o; l3 f2 J9 ?

; C! x# Y% u9 m$ I6 b2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。- n: g7 d6 [- q, K$ v% l0 m
* i4 y, }) C& C) }. x/ m7 \
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:# k/ Z% {# g0 Y

. x( v) v  X4 S$ d```
+ _3 i; w% N$ X) J% ~$args = array(
0 V3 H4 K+ g  b0 x* [    'posts_per_page' => 3, // 显示的公告数量
" r3 M; [! B% ]) N7 S8 h- y: u    'post_type' => 'site-wide-notices', // 公告文章类型
( N  v" z2 }2 J# Y- j    'post_status' => 'publish', // 公告状态, K5 ~; u; M, F* @  x8 K0 d( `
    'order' => 'DESC' // 排序方式
7 G) s4 W& F' ]% ~);
& ]+ h9 V: B6 ^. n3 [5 z) U' {* u" D. f; K! Y2 d2 G
$notices = new WP_Query($args);
  o& p6 f5 b; w" k8 C" c4 oif ($notices->have_posts()) :
0 h/ F- q+ i1 t" A) j3 I; d    while ($notices->have_posts()) : $notices->the_post(); ?>
' o9 |3 F; L3 t1 f; @4 ]        <div class="notice">
4 A  S$ h$ Q7 g' M8 ]# ~            <h3><?php the_title(); ?></h3>
% ^; H; s. y3 q( f1 |* b2 ^* e            <div class="notice-content"><?php the_content(); ?></div>$ U1 P6 \5 l& O
        </div>! s: O, T  q5 P' i. \& n
    <?php endwhile;
- n) u* D8 p* lelse :
/ W! _4 {+ m* Y3 s, [1 g5 X    echo "暂无公告";
6 z4 o( o3 k! t  bendif;
& ^( u& N2 Z7 z" A6 Y( j1 ?7 x& Vwp_reset_query();; f, X) F/ \3 i  d; V- I% H
```6 P0 g$ _1 Q# U5 N' `
' ?. A; I1 L& s" E  B. x
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。( k4 q1 X# M( m' s+ {' M# q+ K

; ~& O- Z8 R1 k: ~以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
/ ?& ?6 @( J2 w* l3 d. Q" q  f8 F/ T
  L+ k  A, |+ U8 [9 f2 n如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
0 I, E8 Z% n% W$ H. H4 Z1 @% N- h% v0 P' [, _- m
以下是创建自定义插件的步骤:% J0 N4 a/ x+ \0 R' ~$ I5 Y& M! L3 P

" y' b1 g1 J: `; h7 _- [# h# g; }4 `1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
" X5 R* I- z* f' r- x
. x$ r" _& g, \# V( r2 J5 T2 t   ```
" i( a) e( q' S6 @6 T   <?php; W( |6 q5 C1 }3 V9 ?
   /*# R: {+ H6 e. C& O- l, {
   Plugin Name: Site Wide Notices Plugin
  [" Z# B1 j: z   Description: Adds a new custom post type for site-wide notices.6 H$ S: H. [4 J
   Version: 1.0
/ `; H+ b$ h+ }4 ]  r9 G   Author: Your Name
1 A/ c2 u8 c3 z) j/ w  h0 A2 C   Author URI: http://example.com6 g1 n& C, L; `" X8 r& }
   */
9 y. P; q2 j& H- Q9 O' P  ?4 x# U1 u1 F" O" c1 }
   // Add plugin code here...! G) [* H- n# Z3 Y0 B
   ```
  _# }3 x/ M7 k) `& S, p$ z# Z% `, x, R; y% L' ^; d$ }1 K
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
% s+ ^0 f/ ~8 _  [" s6 {! l& B
7 F' D0 D" P1 M; E- {% K2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:3 T5 ?. g+ c/ F. E  ]. R* Y/ c/ L

, s- Z* e; h) y7 ^5 |   ```
/ h  X4 V5 b0 g5 d   add_action('init', 'create_custom_post_type');- e- d3 J0 n, e$ A
   function create_custom_post_type() {
( e. O: t+ ]8 k8 i& D, B/ |      $labels = array(1 ^$ C8 k  m3 V2 h
          'name' => 'Site Wide Notices',
) o7 Q) ]* T/ w2 q* q. u* Z          'singular_name' => 'Site Wide Notice',
0 r* t* C3 H3 ~* D8 @, ?! O) U          'add_new' => 'Add New',0 T- A& X0 @# y0 p! s; A
          'add_new_item' => 'Add New Site Wide Notice',
$ H2 ]9 \9 F  x& Y          'edit_item' => 'Edit Site Wide Notice',
. t5 d. z6 s9 ?' q/ h- ]          'new_item' => 'New Site Wide Notice',
& b  B9 A/ m# z$ k3 f          'view_item' => 'View Site Wide Notice',
3 E: [4 F6 l; H/ w& E* r; ?' c  j( r' a          'search_items' => 'Search Site Wide Notices',
. I5 u9 P% q  ?6 @          'not_found' => 'No site-wide notices found',! [6 _: f0 c8 e5 g
          'not_found_in_trash' => 'No site-wide notices found in trash'8 v" s( E5 p& D
      );5 d' p+ r1 w& `% J$ C

) M, s5 ?, R" M8 B7 x9 D      $args = array(
0 C& O0 I( Q+ p) O7 s; N0 k0 F          'labels' => $labels,3 d/ ~: }# s( {6 N9 u
          'public' => true,2 s2 Z. L  z$ E5 X5 ]" L( ]2 F
          'has_archive' => true,
* y4 x' F  r) |* S/ ~8 ]          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),9 K  V6 K' _/ V+ {
          'taxonomies' => array('category', 'post_tag'),
# X7 ]+ e, [: q5 _2 {3 Q4 p          'menu_icon' => 'dashicons-megaphone',
# F, }, W3 h7 x          'menu_position' => 5,+ ]- H- _( L( M
          'rewrite' => array('slug' => 'site-wide-notices')9 Y1 s( \- q6 w; s
      );* [- r( k" `  A
9 V9 Y* E0 @2 a# G# D2 m. K4 x
      register_post_type('site-wide-notices', $args);( s( ~) ]' B  _# G' ~6 B% X5 [% y0 i
   }! h2 l# g2 P+ E# n9 X
   ```
2 x1 B1 U6 }7 _( ?; c6 J- s/ y. w1 X) e7 x3 a( t; t$ @
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。& t) L) H, N/ L6 l: u

: j( z' k3 i4 H$ U; j6 `% u3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
  K" e/ b4 j+ _0 U& B: }+ v: w, j% z4 R2 d* P3 m$ w: O! B0 O7 Z. t
   ```+ t1 T! W$ a- ]! Z3 s
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
  `; F; h' g# g& P: C& e* K1 c   function add_site_wide_notices_boxes() {
$ {  V, G( F, A8 l5 _! I$ Y      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
# j! r  s8 `* `" U6 D5 a, z; d- @- |   }
& }" z3 Q' h: V$ `$ M
2 ]( a! l. v) r; T+ L   function notice_details_meta_box($post) {
. }$ R% A+ @1 B! _0 D      wp_nonce_field(basename(__FILE__), 'notices_nonce');: V5 ?5 {8 w. o: m4 H
      $notice_title = get_post_meta($post->ID, 'notice_title', true);; k8 s# V5 a) W: |7 S
      $notice_content = get_post_meta($post->ID, 'notice_content', true);4 x! P6 t) {/ y& c1 U3 U9 v
      ?>* D( I% G9 J2 S0 V" E
      <p>+ v2 d% r% j$ _: {- a  g: x. w
          <label for="notice-title">Notice Title</label><br>+ h4 m" j0 d+ D0 K
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
/ X' z: x) K5 f/ ], X. U6 ]      </p>( Q# T0 ?8 p* l' X) F) p. }0 E
      <p>
4 o2 ]3 {" H  {) R3 o6 i: L; E          <label for="notice-content">Notice Content</label><br>
# l1 i7 `0 ?9 c0 ^  H+ P  M          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>- n# ^, ?6 ?% }5 z) L, _
      </p>
, n2 P# h( h/ E; m$ L3 `      <?php
, `# d7 y5 p' ~6 \$ e4 Y8 {3 r   }0 m/ ^' j+ [: _9 `5 H
5 Z: n/ Y. D4 d8 z
   add_action('save_post', 'save_site_wide_notice_meta_box');
9 ]6 S3 X5 s) n4 r   function save_site_wide_notice_meta_box($post_id) {
' x3 d7 O0 Y& r  }- k      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
( r  n, o9 R) w" s+ j         return;
1 N) R0 h: D9 O1 t# l9 M& I      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)* f$ n$ z. B  b" n3 |0 P2 ?; h
         return;8 @" V% ]) M" T% l1 _8 u
( q( C& H' l% o/ V& ~
      if (isset($_POST['notice_title'])) {" \8 W5 z% N% W3 k% r; x$ Q3 i- [) G
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));* i# @8 ?& g" E
      }
- s$ j+ o* K3 R) d      if (isset($_POST['notice_content'])) {& C% S. s2 G, l# ]8 D( u9 p
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
1 `. M$ n* \4 c      }
; e# V4 I' v, M' z" a5 Z   }
$ \1 ?3 ?6 i  X6 n  @3 g   ```
( ~; D3 g; o: R+ H% v
/ C5 f, {$ f2 k8 e+ Z8 {  a   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
/ T/ R# _5 z  W: f" M
2 `6 b. ~9 ^  X# G8 i2 k; D4 m5 S4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:, C" M! p2 v' T) L2 u! Z
: m0 W% r: t" y" V- P& \
   ```8 l3 g/ L7 Q! b/ u0 F
   $args = array(7 Y6 f2 R3 h  y
      'post_type' => 'site-wide-notices',
7 H, A* V5 e$ {9 T8 e      'posts_per_page' => 3,
/ a. r8 a: G9 a5 l2 ]9 X      'order' => 'DESC',5 q6 W$ ^" ^0 C% @
      'orderby' => 'date'
5 \1 B7 b  Z/ g7 Z   );
6 @9 i8 i* h* U# c2 {2 r   $query = new WP_Query($args);
5 x5 y( I% `7 M: w2 P   if ($query->have_posts()) :4 n6 p% f* Y, ]  f' d" @# j; K2 r
      while ($query->have_posts()) : $query->the_post(); ?>" r' E, O" ?. l
          <div class="notice">, ^4 F8 x* r8 L# G
              <h3><?php the_title(); ?></h3>3 o$ x% H8 X: S+ m
              <div class="notice-content"><?php the_content(); ?></div>6 @7 o1 h1 e+ B1 K* a5 N
          </div>
+ b! @  `5 i$ e4 x$ e2 ~/ t$ T& M      <?php endwhile;* C! I1 ?1 ^# Y
      wp_reset_postdata();: B2 i. C7 i2 a9 p4 N; N  p
   endif;
$ ~7 Q: F) Q6 A" y   ```, `9 m. M' `# [8 X" O

( ]& D/ w6 [2 q: @   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-19 16:31 , Processed in 0.012573 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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