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

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

[复制链接]

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
7 ^* i7 ?  d- J9 {5 s! s9 X# F- n6 d# O8 ^
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
9 o3 G% `/ n+ |4 `9 F* r, _: r% N
  t1 w2 O4 Q! z: e2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。& _- w* i$ J! k3 A
( U8 p7 x# M, T0 E. H4 J: u
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
! u) q- |+ t0 Y& g& x
8 B  @. L' r- |! J4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
, O/ ]9 j' x! N$ a: s1 S0 N, B2 l& W* B
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
  C  ?  \  B" H" E
3 c7 `, @; @2 y9 k* [如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:6 \; ^+ D4 |" ]& Z, s

9 S$ K( [+ |$ E1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:% S2 x; c' h: _

, v" w) g' a4 S. E7 N   ```8 j+ X. L) \+ ]2 Q2 P& x
   add_menu_page(
; ]7 p/ l3 T* a; W; Q       '全站公告',3 o! J7 |6 @1 \) G4 m, r/ {
       '全站公告',3 k; @, R; u. [/ e7 P" Y0 v
       'manage_options', //需要的用户权限/ Y2 b# o$ G8 h7 h0 a9 S
       'site-wide-notice', //后台页面的 slug% l# e/ e" i+ d) H
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数  k) j: S7 u2 m( b0 s6 e6 Y6 r
       'dashicons-megaphone', //用于显示在菜单中的图标
: e' J1 `. Y$ z! D+ T+ L       30 //菜单项的位置
- S4 H2 e, v7 a1 _8 e  b! K   );' p1 N0 ?* _  F- u
   ```6 {% P" q. C, q/ O! M5 j
+ U2 b1 Z9 D" ]7 c
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。6 k! G8 J3 ^% d4 f3 @
( K! E' U; [4 G5 ^
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:: l7 p1 X6 M  u/ j7 n/ ^/ a  k# g

' y! V! }  T6 K9 u. E# u5 @0 Q   ```0 l. x; d4 k( ^( s, [/ _
   function render_site_wide_notice_page() {, a) z# b4 n: N/ u
      // 渲染后台页面内容1 N! h+ n% c2 C: j$ u! K) `- m0 e
      echo '<div class="wrap">
1 ?! e3 z$ F3 [6 N          <h2>全站公告</h2>
1 O6 G: i8 k: w/ Y! J+ t! A- l/ q          <form method="post" action="">5 a, N3 S4 L! V% r  s. T7 r* ]/ G
              <label for="title">公告标题:</label>3 A2 T4 N3 `# G2 Y! O
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
& g. ^2 {  ]0 `, ^* f              <label for="content">公告内容:</label>
. o! M% v1 {6 s/ H: l              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>" a) r+ C( o$ W- I: R5 ^
              <input type="submit" name="submit" value="保存设置">
) M% m: A8 k; B$ T4 ?          </form>6 L$ W$ f- j/ X0 Z' ?( p& G
      </div>';
# y( }: r2 a5 S1 H1 ?) b3 }$ i7 k4 ?; H; v: Y& X8 l* k
      // 处理表单数据
- v% ]( e6 K! |: `5 \3 N      if (isset($_POST['submit'])) {
" i" v$ ?+ x6 l" A          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
% m) V: P* O0 v7 I' C          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));7 f0 V: d" `' _
      }* |8 W* O: P. b
   }3 v0 X9 e' H7 b( g+ B1 _
   ```5 m* o) {3 j& P: ~2 ?& ^' n& U3 a

( e7 [* \$ f) l+ l' K   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
% F+ d: K* }' m3 g: m
6 P8 i# t1 r& I2 \% b3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
& a; a7 x6 z1 ~+ ]% y
: ?7 N+ H& P5 `   ```( P& m3 [  w" i% C9 K4 w% u' i
   <?php
: A1 r; W  ?" j/ V) X! W   $site_wide_notice_title = get_option('site_wide_notice_title');
; B. h5 ]2 Q. ]9 Q4 L0 g: I& }2 C( R   $site_wide_notice_content = get_option('site_wide_notice_content');( V( p% o, R5 C  r- ]
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
: Y- ?# V4 N8 p' J2 f+ A       echo '<div class="site-wide-notice">';' r9 q6 R# h: {1 M4 r( f% N" n
       if (!empty($site_wide_notice_title)) {
5 R0 \4 p7 [% \/ u/ b) y. f( {           echo '<h3>'.$site_wide_notice_title.'</h3>';
9 o2 V; T# ~0 }# Y: ?# w       }
* ?0 A1 B6 ^. R# r: V       if (!empty($site_wide_notice_content)) {: M' E; `$ O4 B! _% S
           echo '<p>'.$site_wide_notice_content.'</p>';6 j/ F' k( x% V  G, r) V- R; ^
       }
- P: p$ o/ y7 U' T; J! ]       echo '</div>';8 _$ N3 J9 Z9 B
   }
: R& i8 R9 Z" q8 k  v   ?>
* I7 w! ^2 Z* g/ Q   ```
+ f9 j" u: K9 y4 v- }+ m- H: s/ ~- Y& \* f3 B3 l; ~
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。: F' d+ U( v9 w! J& a8 I8 z* s. w
& o, h" R  z' e& U5 g5 H' s8 b
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?% n8 l! Y+ X- I6 ~: j2 g8 o

+ b0 J# x: c6 |2 q/ D) L7 N您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:+ _0 c" _! e1 B9 i* ^  f
* X6 k/ p3 {. B6 m' M
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
4 U1 X* o; }$ G4 [" ?2 l" c* l3 ]+ X3 r. k6 S
```
4 S( S8 O  t* [9 o$ q  |& ufunction create_custom_post_type() {8 \8 r: T$ B' [4 M2 H3 \$ [- ]
    $args = array(6 c. b( }0 |2 r  V( Z- e
        'labels' => array(9 J- \8 q( V  y$ T; c' I0 l8 Q
            'name' => '公告',- M9 y% P/ I# L$ D2 _  X
            'singular_name' => '公告'
8 e5 ^" d! L% D4 D7 L        ),4 X- c- e9 u. O8 n9 K  z
        'public' => true,- {' s1 L1 {: C& j) |' O
        'has_archive' => true,
4 ]5 K7 s4 n) N. u' L        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),. O  P3 P9 d, R2 }+ D. e2 A  B6 ]
        'taxonomies' => array('category', 'post_tag'),
8 `& Z8 A8 h* z7 ]3 s$ V        'menu_icon' => 'dashicons-megaphone',
0 P) L, N5 e% K1 y) @        'menu_position' => 5,
# F# K& [3 F$ K' L' |: }& i- p  d        'rewrite' => array('slug' => 'site-wide-notices')
6 m) {0 K9 @/ a0 N3 P  d4 E/ \    );
$ d, e% h+ P3 U0 K    register_post_type('site-wide-notices', $args);3 d$ O& i8 g( {/ J! [
}) F& U0 w. C& u& b: w
add_action('init', 'create_custom_post_type');* }0 K  b4 R2 e- V7 i; p+ F* z, ~4 G
```" \/ Q' h6 F" N8 \3 {5 \  H
4 G: e7 m6 g! T$ j9 j9 d
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。3 |/ j7 x0 z" P3 G8 c: a

# ?' @# }( k+ Y) `# S2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
+ M. z3 a7 A( C- v8 x/ N. g4 ?- ~+ ~8 y
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:. t$ j/ i4 W1 a# Z6 x

  X" O- E& M, |# N```/ p8 h. f, Y8 R( h" `9 C
$args = array(
  v, X$ t% r3 s: O5 K    'posts_per_page' => 3, // 显示的公告数量& b" ]9 m, w; g
    'post_type' => 'site-wide-notices', // 公告文章类型
5 s7 X0 O4 c5 B2 k    'post_status' => 'publish', // 公告状态
  a  }% T9 b* w7 y' k    'order' => 'DESC' // 排序方式% O6 E- {+ X* C  K  n) a0 n# j
);
7 x" I; `- b3 r3 H
. i" R% f! `5 y' q2 X( J$notices = new WP_Query($args);
7 x, N1 V3 t& J  k& {3 Uif ($notices->have_posts()) :
6 p( ^6 D( z' j: ^( c; Z    while ($notices->have_posts()) : $notices->the_post(); ?>$ r/ T0 ]8 @0 D( M
        <div class="notice">
' e: c: _- f, W4 ]            <h3><?php the_title(); ?></h3>" ~' W9 u( N! o& ^
            <div class="notice-content"><?php the_content(); ?></div>- W% p7 C! _4 Z
        </div>0 j8 n% T& M' h5 b) g
    <?php endwhile;% i( ^/ b$ q! k3 a6 m. ]
else :9 V0 @  f: G  f* T. \2 r
    echo "暂无公告";4 i* k! V& b' S' }
endif;
' q8 {8 T( d  H! M2 p! j+ owp_reset_query();
$ b. H9 H& L0 g& _/ u% M```
3 N$ @1 O0 P/ t* h1 N7 b- d# t( Z; L0 e0 i4 j
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。# V+ ]8 c0 R: }
8 H$ `( _; i! P0 l
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?# J5 ?% @) n' t
9 L2 M$ o* w" q) U
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。$ i# ~! z' T& _; [6 B
! G4 t0 [$ `5 G3 B) w) ]  T
以下是创建自定义插件的步骤:
$ b+ A; E% k; B6 n9 h4 u4 D) C
) p0 B' q5 f# `3 q/ f$ ^3 K( j9 r1 |. y1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
6 ^) `: t; H0 U7 B+ }, ]
: P1 f, e4 v0 S4 j5 Y$ U; T+ d! z0 a   ```
9 Y; Y4 J+ t$ C4 i. @: y9 I   <?php
2 `* L7 Y) Y8 ]2 l! Z' b( |   /*
3 j" `+ d' ?; q2 K   Plugin Name: Site Wide Notices Plugin% x7 ~, I5 n7 {& S
   Description: Adds a new custom post type for site-wide notices.. R& s7 i( C3 c# m& z$ O
   Version: 1.0- ^; f4 L8 J2 e
   Author: Your Name: f+ t! x7 S2 n% m' o
   Author URI: http://example.com  j/ s. \! ~! H
   */' ^1 J4 v% N1 O; B

! l2 T# D; a# b, O4 k) K+ Z   // Add plugin code here...
6 E/ t) Y2 @# g+ ^. L   ```& M+ z+ i5 u, z. l6 R8 F

8 D6 _; G) w5 w( a5 O9 z   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
9 B; ?$ A4 R. G9 q/ S( t
0 x4 T9 ~* l3 V2 ?3 Z' z2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
( M6 Y# c2 p. l, u# P. ?- T7 M) c9 ?  X) |+ X# P
   ```) n: _- l( z/ L3 L" {1 s' d: e
   add_action('init', 'create_custom_post_type');2 U# _' o. ~; r! m. b% G0 ^0 q
   function create_custom_post_type() {# V& c2 c; J2 w( f; P
      $labels = array(0 m1 y8 p7 P8 d5 Q  B* e4 C
          'name' => 'Site Wide Notices',  i0 U3 |1 j8 ]( S  V  c# X, I
          'singular_name' => 'Site Wide Notice',
3 ]% @/ C. Q/ R4 S3 K9 W          'add_new' => 'Add New'," H! O) H+ L, X9 Q+ A, G4 K
          'add_new_item' => 'Add New Site Wide Notice',
2 Z( K& h& h; f3 A          'edit_item' => 'Edit Site Wide Notice',9 l# l$ F$ I# |6 c7 m% m) n
          'new_item' => 'New Site Wide Notice',, D8 Z. D- T4 Z0 z2 ?; [
          'view_item' => 'View Site Wide Notice',
4 m+ X  c" {# K( |; T          'search_items' => 'Search Site Wide Notices',6 E' s, e3 Z6 U7 s6 l
          'not_found' => 'No site-wide notices found',
3 T+ S% n" a! B5 y          'not_found_in_trash' => 'No site-wide notices found in trash'
$ \3 T. p, j; q# e  X1 V* L" v2 K      );
/ `" _& _6 n- w, w) J5 G4 L. }& ~: g* |' V
      $args = array(7 a7 t9 W3 q; P6 Z: ?3 {
          'labels' => $labels,0 V% c9 j4 @' J/ M
          'public' => true,. g9 p, N: A! N. e4 g1 R- C) H
          'has_archive' => true,
3 x" L/ H- u5 g8 R/ |& _; W4 U" n4 N          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
! Y9 ~' M; F1 g2 g% k% W          'taxonomies' => array('category', 'post_tag'),
) p7 ?0 [( g# x          'menu_icon' => 'dashicons-megaphone',  ^% A  u6 W* U0 T0 l4 O
          'menu_position' => 5,
- P* X$ h2 U( W  `# B5 F          'rewrite' => array('slug' => 'site-wide-notices')
* K. B& Z. R9 M: S$ c; ?      );
9 N2 }8 D: P- u' D( h- i% e# A
" e, d3 J. U/ I; T9 Z      register_post_type('site-wide-notices', $args);' I+ }- Q% Z3 w
   }# o" m5 ^" ?" O& o, n4 s, U
   ```
0 K  z" U3 _  |/ s/ y; A$ D+ I  a  K3 h! r7 O' R, m. p( l
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。& W; m3 O7 d& @+ b: V' J
- U$ u! C) q4 H3 Y( c8 [
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:2 J/ E' ^' F; Z2 W9 a
' Q. e7 Q* E) `, }
   ```1 u% z3 [# l$ ]# n1 e' ~* h
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
% O. l1 V: y" M9 e   function add_site_wide_notices_boxes() {( o# H) x" U+ V3 X
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
( c+ o, g2 F$ w. t# v   }- S4 T3 A# g$ V$ ~8 ]- \

# q/ @5 S$ v/ t  T, P   function notice_details_meta_box($post) {
* Y" I& S" p" K1 c4 y" @      wp_nonce_field(basename(__FILE__), 'notices_nonce');& D) U/ A2 ^; L2 H; r  `
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
1 s' l) Z  M+ Q: L      $notice_content = get_post_meta($post->ID, 'notice_content', true);
# X1 q" Z  u& f5 h      ?>
- S7 @, e! k) W- L" C" J2 v2 g; [) S# P      <p>0 G9 @% j  p; o' D
          <label for="notice-title">Notice Title</label><br>
3 o3 T. E# L9 T2 ^5 F7 Z# X. F          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
; g' ]: f  `9 B7 r      </p>
' z/ [8 _6 W/ M: N' \  J      <p>. ^% q: F! j( o* |& R7 P! k" Q% V
          <label for="notice-content">Notice Content</label><br>
3 F8 J7 r" d+ U" G1 {3 q+ {          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
. q6 I3 |+ w+ N: _$ W      </p>& D4 G/ S6 e9 b5 K  G( x
      <?php
( C+ c5 r% _& O6 D& c" a   }
% S) E2 A! y& V! i
9 q1 j5 z- u7 q& e$ P   add_action('save_post', 'save_site_wide_notice_meta_box');
* v( r- I! t/ S/ w1 o8 m   function save_site_wide_notice_meta_box($post_id) {
+ V2 f  u5 @; Y      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
4 V) q& I: E% N8 u5 @6 |         return;  W8 Y! A! v+ C$ J- o& r* D
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)( s, g2 X% W0 I, _# b" d
         return;( c8 p8 r; ~; _( n" J* a; n: [/ i
0 Y0 v; S+ C. G9 _. Q! S* x2 s
      if (isset($_POST['notice_title'])) {
) B/ `! b8 m/ B5 k' Z9 N          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));/ t1 P- |0 K7 G& K- w' j% x
      }# T9 q/ R  E# J; A
      if (isset($_POST['notice_content'])) {
. w. k! i6 ^# C* F# B          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
5 c/ v  @: C+ v$ N! {- S' Z' R7 V      }, y$ F+ j! j6 ]2 Q! A
   }. t# o9 `7 ]7 F
   ```0 a* O$ \8 S7 f7 Y; w: S
9 Q9 m( t0 L4 d3 @6 y- o
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。3 G0 D& }1 K. X7 u
& z; _. m: M% i- `) H( p1 r
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
( y, j7 k2 k5 p; D  ]. y' y- J) x! S' \) y. Q, ^9 \5 z
   ```/ V  m& H) E/ b% P& f
   $args = array(7 ]! W, _' g* s
      'post_type' => 'site-wide-notices',
8 n. O6 H# U: D6 T% K      'posts_per_page' => 3,
! h9 @* X) n6 e' U# g      'order' => 'DESC',
0 m8 W, Z. j  H( _4 n3 Q4 s      'orderby' => 'date'
# \, Z* K8 ?6 C; b9 w: d' r: b  v: I   );
. l/ R& }) I2 s0 @/ u   $query = new WP_Query($args);
6 a) ^( k4 _/ \; T  Y' `) l+ z   if ($query->have_posts()) :
6 C) A3 G2 j* `2 d4 X      while ($query->have_posts()) : $query->the_post(); ?>1 m$ p; Q0 }+ {+ m5 j5 g
          <div class="notice">0 Z+ J+ u/ O" G$ H
              <h3><?php the_title(); ?></h3>
+ |7 z4 v& ~7 |1 E              <div class="notice-content"><?php the_content(); ?></div>+ z6 }9 W/ A9 i, F- B+ e& j; C& W
          </div>
3 y' d  r3 g, d      <?php endwhile;
7 F7 M8 Z! ?% f6 n3 M, z      wp_reset_postdata();9 R0 w' K9 b. l! M
   endif;
7 G7 b4 k1 a. q' A- b4 C   ```7 {, k3 K$ T8 t& A/ \

" @) b( [- N3 D1 J   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-20 05:44 , Processed in 0.015016 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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