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

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

[复制链接]

342

主题

546

回帖

3598

积分

管理员

积分
3598
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
% M) N; w( B+ M& m2 Z, P1 R
/ B8 J4 ?  {3 R) ^/ k$ ]+ V1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
( z& ?0 W4 ^4 @6 H; h1 Y
2 B" p. ~8 C" e: l2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。* T" s" Y  Y2 Q  S7 U3 C, W
: D8 Q4 Q7 I$ S" |8 k/ n, B3 `& J
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
# P# x9 T3 v8 P+ ]$ J. p7 Y
0 P9 i0 W4 ]9 j: p! U, t4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
4 S4 L9 Z* R! s; G0 r7 _
2 o" i9 n6 @6 D注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

342

主题

546

回帖

3598

积分

管理员

积分
3598
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
- ], o  V( J9 y4 p$ W( Z1 y+ ^
  S: C- {/ S6 F& K8 q$ O$ P如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
  Q& W- \5 l* p$ l+ H3 w! i' y
' o- Y1 h9 ^& D) O- y. ]% Q1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
  R# i. `6 A) |% t& c- k4 u. V" X; s2 D1 B( I6 E: h- _
   ```% o: Z$ q7 f! E8 ]/ h! S4 K- D
   add_menu_page(. D) }# ?) x3 T- B
       '全站公告',5 e6 b+ G' X' |* E4 c
       '全站公告',
! ~: h. z* D" G       'manage_options', //需要的用户权限
. f( V5 y5 _2 H6 i6 H* r  I       'site-wide-notice', //后台页面的 slug$ F0 n5 q9 J5 E* X. O. x
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
+ y  X) }2 c0 Y/ M7 `       'dashicons-megaphone', //用于显示在菜单中的图标  R8 i1 j' f% B/ b% d7 _
       30 //菜单项的位置
& D: K! b8 ]) r! _: h( Y+ E5 q   );
( B$ g, O7 w3 C" \7 J   ```! K( r1 o& N1 J) s* L+ a
# c9 F+ R( C7 E' q" f! L
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
9 W" M: \, |3 Z% B6 u9 G% }; E/ ?
! J- N+ q+ [7 m$ t  \# r2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:
( x  p, Q. `: S& p/ H) m. R
$ i! _+ ~% D! y0 E+ t   ```
6 W, C. w* N9 H$ w& L* o   function render_site_wide_notice_page() {2 T7 g1 q# C& m" @1 I
      // 渲染后台页面内容
1 _( o8 j# s3 y5 a" z+ ]      echo '<div class="wrap">
/ s8 w# o2 m3 A1 s6 C          <h2>全站公告</h2>0 `2 C  j! n- z# r/ \" B8 L
          <form method="post" action="">
  ?+ I( v; _' T! K; b              <label for="title">公告标题:</label>9 A1 g& Q- O9 D  ^/ f" W
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>- w; T. @8 ?# q  L# C4 L8 Q# Q
              <label for="content">公告内容:</label>
  i8 g7 u% n: ^" A* v              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
7 m9 T) n$ q! A9 `6 i              <input type="submit" name="submit" value="保存设置">) }9 P* J. i5 v' ^, v
          </form>
8 j, E, d7 H4 m1 q+ \+ Y      </div>';
5 a% o4 O- \+ i1 ?' [3 y. j! w- r+ b5 @
      // 处理表单数据
- F) K/ {, ?! r& x% A5 U# y" N      if (isset($_POST['submit'])) {5 \- [9 b% ]$ i
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
# z. ], M3 a5 I( b% u# \          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));% Z# c2 d9 U4 O. _3 i
      }
( o% Q5 J+ ?  X  C4 i7 d& [( \   }
" g9 R$ n8 e" m   ```$ d* m! f, X. ]
; K7 p$ o; o- R! i
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
% A% ?& E$ U- H( R! W6 c, F5 ?7 A3 ?! K: l
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:7 i, q; x" B4 r! M$ H8 u  M# }

3 i2 k% r# X! ^. C   ```3 @2 z, ?8 K+ N  F1 a" d( v5 h  Y* v
   <?php( z9 E, J5 ?0 ^. q9 `$ e- {
   $site_wide_notice_title = get_option('site_wide_notice_title');
6 y8 c/ J2 p) a$ e5 f% M   $site_wide_notice_content = get_option('site_wide_notice_content');
% }5 `# E, d' Y' {7 E" C1 C   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {# q" a7 l% o8 H3 S- w
       echo '<div class="site-wide-notice">';: f, c3 s* R' y) f0 M. {! M! G
       if (!empty($site_wide_notice_title)) {% \2 ^3 b2 P. e/ r( @8 K; M1 x
           echo '<h3>'.$site_wide_notice_title.'</h3>';
7 n# B/ l9 K6 u       }
7 r9 N6 `* k+ d0 a       if (!empty($site_wide_notice_content)) {9 T( }' x# R$ k- ^8 Z" @; l
           echo '<p>'.$site_wide_notice_content.'</p>';2 }7 Q  s9 q" g4 B* J2 q- s
       }
+ `# n$ F* U6 E2 g9 W/ d9 {       echo '</div>';
8 ~7 {6 |; l3 Y" a" ]/ R, K   }
: ]0 C' x- r: q- V' o   ?>
0 j; b* o* o$ |5 w" c   ```  c, O% X5 Z4 q7 l* c

; S  Y& [: e: r) ^3 H% _   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。$ A2 F) L3 J1 {, G3 h
/ C  x9 t7 k8 h) c( b4 x
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

342

主题

546

回帖

3598

积分

管理员

积分
3598
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
3 Y$ v, H3 F: Q0 P- O! }7 A/ v; D1 ^3 B$ t
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
6 y# l, E0 d, O
3 ~( X4 J3 K0 N5 m; j/ i1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:9 s9 K# L% P9 f! q+ L

+ H8 i, f. ?( w) `/ U; i0 Q" {```' h8 V3 D+ S7 u
function create_custom_post_type() {& M( a) X0 H- G4 n& Y$ h6 r
    $args = array(8 G/ S! P. L1 s9 F
        'labels' => array(4 ~8 }! F) L* B
            'name' => '公告',
- ^2 U- a) @" F& Q% H            'singular_name' => '公告'
5 b4 P+ g4 l- `: z        ),
5 ]$ b$ V, Y8 E/ W        'public' => true,
/ ~$ V8 S  H3 D/ e( y        'has_archive' => true,  B- L& C' D" r% N4 B( v$ s/ M  }
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
5 ^' `9 e: k, v4 }        'taxonomies' => array('category', 'post_tag'),
: d" @- D5 f7 G+ {        'menu_icon' => 'dashicons-megaphone',' _, ]7 d' ]! g: \' h, [# V2 D
        'menu_position' => 5,
0 o' \" t( K" {0 w) U; {5 ]8 |        'rewrite' => array('slug' => 'site-wide-notices')/ y( l1 K, _4 C/ r7 \
    );
; B0 Q8 ^1 @3 Z( U7 V    register_post_type('site-wide-notices', $args);& G8 A  l1 N" Y& e
}
: B! a3 W' ]. G$ u2 [add_action('init', 'create_custom_post_type');6 X: M+ X/ e4 o7 N& l# o
```: Y* R2 ~' h  e7 Y# h& M
$ Z6 F  A) D1 a% [/ G
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。/ Q$ `9 g% w/ }5 ^# T7 K: x

4 G. {2 T; P4 A8 D2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
  p3 W, F% X) f6 q, f2 o% i1 N0 s: V2 H
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:) W) E8 w$ C! G0 P) U" \2 r
! t6 ]: e: [6 a1 M5 a" ?
```4 Y& @- n# U5 b  C, x# K, H
$args = array(' `, B8 b' K% E* Z4 u
    'posts_per_page' => 3, // 显示的公告数量
4 b- Y& w" [! J8 q' `7 x) c  d9 W    'post_type' => 'site-wide-notices', // 公告文章类型  _! c% o7 U, l; a8 h" ]
    'post_status' => 'publish', // 公告状态
% c3 i" v, A8 i+ y7 r    'order' => 'DESC' // 排序方式% U" J) E0 f( c) T9 Z
);
. H5 T) r1 E! ]" M* W' N
; y0 q5 n8 o# |8 i$notices = new WP_Query($args);$ u+ j! w1 L2 r; g2 G8 Y. I
if ($notices->have_posts()) :2 x9 C- g% R% s
    while ($notices->have_posts()) : $notices->the_post(); ?>0 r7 W/ Q5 n9 A
        <div class="notice">- \, t1 D  |3 ^! L; E
            <h3><?php the_title(); ?></h3>/ r" H2 }7 ^: Z; c7 x) |. Y) R
            <div class="notice-content"><?php the_content(); ?></div>
1 P* Y: w! @; o  u% Y4 Q: G) ^* z4 w$ x        </div>
* u) D9 k: w3 A" G    <?php endwhile;: ^) u6 x  T' ^
else :
5 N) K* x. K, R1 G$ s# c- J8 r8 P5 W    echo "暂无公告";
" h, V' o* [' J. P. W! \endif;& l+ J- W( u& n) r( O
wp_reset_query();1 Y" Q% k* y7 b) w
```
' f/ d. z) ?  S' t' U
5 B3 \) G9 Y" [; I" |" A( v这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。9 ], k! L4 E- u) j' P; G
8 {, ^1 z- p9 D) K2 P
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

342

主题

546

回帖

3598

积分

管理员

积分
3598
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
4 T$ b2 u# J" H: }; X# R: B  S& s6 r! y" W7 E2 n* `
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
4 V, K% b# S; J: {% r, d3 R- R# L
7 n$ L0 a4 ?! H5 U) c以下是创建自定义插件的步骤:$ T5 ?4 a8 u0 p" D. p

  u  q1 \" n* E$ x1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
1 I& Y- b5 y2 J4 V/ E1 J" c3 c: i) S! f( |& q
   ```5 y  t' B% [4 a: ]* V/ k% f. H
   <?php
& y0 w, S1 D! E2 g- d7 t   /*0 ~1 c' \4 Q: [' A. B8 V) e! t
   Plugin Name: Site Wide Notices Plugin
5 C' t% ^& l" k4 l   Description: Adds a new custom post type for site-wide notices., x* `( `/ a% Z
   Version: 1.0
  C- J* ^) e4 T- u+ z3 B& q, D  q   Author: Your Name
. O) }/ Q# b; p3 h  P0 ]   Author URI: http://example.com' U3 D, \5 J- V
   */1 \" t5 z2 y7 ]8 Y  [8 _

, y5 Z, v0 n6 e# G; x% O7 n   // Add plugin code here...
! _/ [  S3 L- j+ M; j+ B   ```
% e4 L3 ^/ w' \; l# P( W- K/ ?$ v8 _& g; L
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
9 |+ h' e- f5 q+ Z8 g! ?% d0 R7 ]( ^1 o7 P, k8 P/ y
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:/ F) D* n1 m; O. q/ T* a% d

7 E  H7 S# c- f1 _: Z   ```1 D: N6 \. w2 T
   add_action('init', 'create_custom_post_type');' C, [& ~" O: m& }# X4 H& P, }8 R
   function create_custom_post_type() {" g9 R1 d" e7 V" `; F! G$ m
      $labels = array(4 p4 I/ j# p) O- A; \% F
          'name' => 'Site Wide Notices',0 Q1 ^' G: t7 p
          'singular_name' => 'Site Wide Notice',; a5 k, Q( W! M5 s5 m
          'add_new' => 'Add New',
1 \( G) t; }4 T& W- U  s, Z$ u+ Q* F6 S          'add_new_item' => 'Add New Site Wide Notice',
9 S* U2 c% x+ u4 z0 @3 Y          'edit_item' => 'Edit Site Wide Notice',
; V, B/ M0 Q# k( U# G          'new_item' => 'New Site Wide Notice',
- j* J4 F9 B( G  E6 h' Q          'view_item' => 'View Site Wide Notice',
4 e$ C/ y8 O$ d- v) `          'search_items' => 'Search Site Wide Notices',5 a  Y  ]! c% W3 Q6 O$ x/ b0 ]* J
          'not_found' => 'No site-wide notices found',
  [, j; r- B& J; O+ K, t6 H, m8 C          'not_found_in_trash' => 'No site-wide notices found in trash'
* R: t' }& |  n      );
- u. J& c! D) i. M8 K' @/ k* m( h5 D7 M( Z( X% ?. H
      $args = array(
/ |$ }% N" V/ b5 K1 n4 v" @: b6 J          'labels' => $labels,- w+ \. ^: F- N  e0 u: u8 k
          'public' => true,$ p6 @9 z8 C/ q" r5 B" U  T4 ?% j
          'has_archive' => true,
, e. n3 D+ B9 B& x! e# h          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
: V- j& P. G) J# C0 A          'taxonomies' => array('category', 'post_tag'),; {6 P/ S. Z4 O: F
          'menu_icon' => 'dashicons-megaphone',
( }8 A9 `8 ^1 D          'menu_position' => 5,. |% a9 D( L% W1 I, V# u) X
          'rewrite' => array('slug' => 'site-wide-notices')
8 [6 ~6 d3 d: A/ _) e) W- K: u      );
/ |9 i% K4 f" n" P) r- g; A  ?7 y7 u2 Y
      register_post_type('site-wide-notices', $args);6 P+ v3 `! v+ }$ m) h
   }( L* N, d1 x& j0 ]7 O/ m; o2 X1 _0 c
   ```
. e" p% ^; b$ J. q1 J3 F
5 c1 I5 x8 M$ Y8 D. K" I0 P/ D8 R0 }   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。$ g1 X( [9 U* x" u
# A1 t: t( n: |" C! K$ v, s. M
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:% C! s( o% }5 \& M1 V2 l8 O
! A% |- i6 N; X' h6 ~) M6 k
   ```$ q8 ]& L" k+ Z" J1 L
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');
* y1 m2 ^, @* _4 B- u   function add_site_wide_notices_boxes() {# ~1 F% k% R7 Z# L% \
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');& g. m5 Y0 g/ ?/ z# g1 x
   }
: b! J% X5 p+ @; u" K8 I% r  q' T: t" Z* M4 M1 n
   function notice_details_meta_box($post) {
2 \+ U" Y$ Q* }1 ?  a0 F      wp_nonce_field(basename(__FILE__), 'notices_nonce');
" ~, `* o+ h$ Y( {      $notice_title = get_post_meta($post->ID, 'notice_title', true);
6 o6 w* [& S# y: S9 o0 v      $notice_content = get_post_meta($post->ID, 'notice_content', true);
1 }9 K$ n, a: n3 l      ?>
: {% ]' ^0 Z+ F      <p>
6 \7 R: M2 M" Y" X+ j0 O, i, K          <label for="notice-title">Notice Title</label><br>6 V$ _% x2 m7 C2 A
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">& T4 H+ N7 a- H2 s+ m4 N# L! o. [
      </p>! O) V+ u# X3 g
      <p>
& [5 D/ G) N+ Y2 B2 V" }          <label for="notice-content">Notice Content</label><br>$ E& j$ u3 I) P' L  O  r
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>& H7 `9 i  D: \! l* g2 [: [
      </p>
. C6 c$ L: s6 {8 S      <?php- d7 x$ f. J7 r& \4 w7 [% E+ b
   }( Y0 n) {2 G, C) M: f- H  _* ~
4 J9 l9 a. b. ?
   add_action('save_post', 'save_site_wide_notice_meta_box');
0 r5 _) X5 K; T! r5 a6 _9 `   function save_site_wide_notice_meta_box($post_id) {
0 {) ]2 ^! X2 b% H+ Q3 ?- X- P      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
* w" [+ d& m: h+ {8 t1 c         return;; X+ L" l& E" j; P
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
! ~5 S6 Z/ l. z& e         return;
9 o; Y2 b+ R3 X( l  l. q
9 I/ z0 p2 Y4 U+ l* m      if (isset($_POST['notice_title'])) {
$ d* M) }7 f& E0 A1 Z* p          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));$ ]0 W( [3 l7 y( V
      }
; J# x5 s$ b: I- G* Q0 e. g+ z" J      if (isset($_POST['notice_content'])) {
- p5 G: h# k$ g9 E2 Y          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
! f0 J0 ^; \4 J" J      }- T7 E) _6 r/ K7 h; k
   }8 P# I' o6 f$ @& m  e7 Y( ^1 E
   ```; X" L. e4 l( `7 `( g

2 e# Y0 x5 i" Q4 W. p. ?  v   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。4 A9 v& x+ _1 x8 I
. T' e! n+ H2 [) y" N+ [. J
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
0 K5 r- }4 `, P% x! `- H. L( T7 l2 i! Y
   ```
+ h9 t4 h6 p" R   $args = array(: P: J  Z9 W4 ]' @0 m- t% \
      'post_type' => 'site-wide-notices',
$ w" q' j6 |3 Y) K+ `3 O6 H      'posts_per_page' => 3,
) h& C  c* g9 T/ t( C( E4 Z( C* |      'order' => 'DESC',
  P3 S! k3 r! k' d6 S/ I      'orderby' => 'date': y3 n( W7 g: x- l0 \& s
   );
! V; o7 m2 J. i8 V9 M   $query = new WP_Query($args);" N; p' e# w) K
   if ($query->have_posts()) :/ y; V& w) B! _8 v8 @4 _4 T
      while ($query->have_posts()) : $query->the_post(); ?>
! u( \7 T4 `4 |! x. q          <div class="notice">
' P0 b  `/ m; m0 l& o; @6 w* `$ B9 n              <h3><?php the_title(); ?></h3>
1 ^) C* G8 K+ `) t& H' ^* L, c              <div class="notice-content"><?php the_content(); ?></div>9 {6 c( ]3 u5 s$ r5 C
          </div>
( A4 ?8 q( B. }& w/ ]; x: T      <?php endwhile;( s" ~) u! v* g8 Q
      wp_reset_postdata();6 M: N4 _: p6 c- e/ k5 T
   endif;
: X& @9 ~! a' P   ```
$ R$ E. C  |( [  e5 L5 y3 ]5 g  Y: c1 j1 m* J3 L
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-29 10:14 , Processed in 0.020309 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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