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

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

[复制链接]

347

主题

563

回帖

3671

积分

管理员

积分
3671
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
' ~9 r1 M( n, f5 }. J, q3 C: M
6 W$ a- T- d5 W, p1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
) }* k- c0 Z9 S7 y/ O6 V9 U% J6 H) Y
* z) J  e* i9 c, ?2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。3 s; H+ Y3 W' S$ X$ Q8 w1 E3 q: O# X
# a4 @) ]& ?$ i$ T
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
7 X5 s# W" M5 n/ K5 h. j- A0 L: {
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
) m; {4 x. V9 Z: O& a3 M8 E( J& ]/ e! z4 D4 K8 |
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

563

回帖

3671

积分

管理员

积分
3671
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?8 V$ |& S$ S5 Y. ]/ K# H
: _$ `, t5 H$ D: V" C9 t
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:1 i+ b4 X+ O% n# K3 T6 {+ p

5 h; g' F% s" d% d) ~" \1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:; y# \& f) q9 f5 p! F3 n2 K7 `# E- b

5 T, l# L- ~  w4 _4 w   ```
  y' X+ j3 w7 |   add_menu_page(% }6 Y7 K% X  x( C' u5 p
       '全站公告',
- w0 W5 n& ^+ ]       '全站公告',: W# X! {6 c3 t* _
       'manage_options', //需要的用户权限
4 x' j5 P. I" [% Y/ ?       'site-wide-notice', //后台页面的 slug
* x& q  c3 O, R, v0 D8 @2 B) S       'render_site_wide_notice_page', //用于渲染后台页面内容的函数6 M0 x3 P3 w5 h8 c9 o
       'dashicons-megaphone', //用于显示在菜单中的图标  @( E& g8 s- d9 l4 V6 }
       30 //菜单项的位置% B0 o4 t2 T" k3 ~& a
   );
& l8 o. B6 X  p& q   ```4 d% v& b* ^7 B' o! G+ E

" `0 x5 s0 u7 i; E   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。5 X7 t6 v1 z/ p( x# y* d

) u7 O, i$ k; R0 U4 l2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:# T1 Q. C- t6 Q2 u4 Y

! J$ g: E  l$ C( G: Z   ```; [; d# i% g8 S) |. y0 b
   function render_site_wide_notice_page() {
6 g% @8 @' a1 l# q$ w  I      // 渲染后台页面内容
8 C/ M" A6 b1 T. C      echo '<div class="wrap">
- O2 D. D  Z% @  P          <h2>全站公告</h2>
! G' [6 u( Z7 R8 Q+ _2 r& z          <form method="post" action="">
. `. A  `- f( w              <label for="title">公告标题:</label>& u. e, ]6 l+ [/ V
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
, `1 Z: R) ^' s) ~) G, a6 {5 H              <label for="content">公告内容:</label>
& Z! K5 n0 f, p' \  A- C, `              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
" Q* s6 P% }/ g2 H5 S3 Z! u* ]              <input type="submit" name="submit" value="保存设置">
( [% K9 a; Q. T; R) X6 K3 {8 u          </form>9 j/ ^6 L2 ~: U! p6 A
      </div>';' {7 t, n% Z* @5 m5 D# W

8 w6 C2 r. q2 n4 q      // 处理表单数据8 t; t# ~8 C& B- j: Y
      if (isset($_POST['submit'])) {
* A3 ^0 ?$ c# N! F  l& k0 Z          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
( g* [8 K6 L3 s" l          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));* f  e# V8 M0 \/ c/ v) S
      }- h- N8 w/ ]/ n+ b0 B7 _
   }: J  r/ r& M9 \; u; X! _
   ```
* z7 i! u7 w( V- E! \8 ~3 B7 X- ^  g3 K. }' H# D. H$ r' `0 o  ~
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
6 q& {* _& t$ l7 T% X, V  A; f6 }# M- Q, [2 t" Q
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:  g8 s2 }. x% ?& ?) P: d
$ x  E8 S* H" m( a/ z. w
   ```3 t& H" U; O- `
   <?php
7 g5 d; B! ?( H6 ~- j; {   $site_wide_notice_title = get_option('site_wide_notice_title');. A/ h. A1 e+ V$ z) t$ n% W
   $site_wide_notice_content = get_option('site_wide_notice_content');
% U! X& p/ G) d# B3 M1 }2 ~   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {
( }7 O9 J" h) b! _' a       echo '<div class="site-wide-notice">';
$ y' b7 k) L* R' p. G       if (!empty($site_wide_notice_title)) {( G$ a$ F( V7 R% o9 S# c
           echo '<h3>'.$site_wide_notice_title.'</h3>';* Z3 S7 V0 S" O
       }2 b( o5 m! E, w: k
       if (!empty($site_wide_notice_content)) {, \! n. w. e  y5 j6 Y: p
           echo '<p>'.$site_wide_notice_content.'</p>';
4 m. N/ H9 C( P+ M1 ~4 x0 ~8 j5 M1 W       }& F) d. D9 W& t" S
       echo '</div>';
0 m3 l9 E  L; B4 g- |  H   }
# c) q6 a% \7 g& A8 B2 Q   ?>6 u! H1 \& I, z! X: \/ c
   ```
  ~% E' E' t' ?( g6 L% U) x1 t5 j
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。  q$ ]" r6 e1 ?* X
& f9 K8 `$ d1 Q- c
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

347

主题

563

回帖

3671

积分

管理员

积分
3671
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
5 h  r6 o% g) R; C' u# N: s9 u" S' t' C  U; {0 f
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:6 Q" X% M. P* ~) d- C* M% W! M

5 M" L8 P' g. Y# O. V% W1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:. P. b! d8 P% K" j

2 {4 `. Z! g- Y+ g" E+ D```' h3 n, O$ X3 G4 [4 F* N5 ?
function create_custom_post_type() {- K) s& L5 a+ `$ L4 w* e
    $args = array(8 X; y* l. b) M  i7 \+ h
        'labels' => array() \% S3 N5 h* U( t6 g; O* t
            'name' => '公告',
, a/ }) V  }8 Z  H) q( k( O            'singular_name' => '公告'+ x0 o8 R0 s( m6 H1 `
        ),3 W* D3 O  ^0 g
        'public' => true,- H7 D6 j" I6 s- Q
        'has_archive' => true,
" j2 a8 H( J! a4 t8 M( a        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
7 S1 f& T. w0 B5 o2 r& q" G        'taxonomies' => array('category', 'post_tag'),6 K' |; V7 M) \4 [. _
        'menu_icon' => 'dashicons-megaphone',1 k! T# u' p" _4 T$ y$ X" o, r
        'menu_position' => 5,* b4 W; M, W) x8 j# Q( y3 ~# e; I
        'rewrite' => array('slug' => 'site-wide-notices')  _8 E* B; N8 y0 r% G
    );
% n2 T7 F7 W4 ]% d" Y6 M2 m! U    register_post_type('site-wide-notices', $args);
4 r# ^* ?; G. M1 E, n% x0 A+ h}: e" y4 q: {* @! h
add_action('init', 'create_custom_post_type');
, Q# |; s" z' ?/ E```  K1 J1 r7 ^! {
, R: W9 e! _& ~8 M* f8 R8 Q# [- h/ F
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。
# w4 I4 ]2 V) Z% p
+ b# g; }9 a4 V; m6 U  n" C  s2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。
" n9 G# S; A. R* H+ R* [2 u5 v/ u- d" ~) s6 ~4 t
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:- r( J2 `# x0 ~3 A2 ?
4 M" z/ l1 |" K$ l; h4 r
```
3 G2 ?8 S% h8 T* T* G  J1 {( |9 o/ u$args = array(
  [5 V: v! j- `$ P" F" F    'posts_per_page' => 3, // 显示的公告数量
( ^' E) X" @5 ~" E4 N    'post_type' => 'site-wide-notices', // 公告文章类型
* A, h: G' V; G. s0 S! d    'post_status' => 'publish', // 公告状态6 d$ L* U0 L( E# Z! F0 n: d
    'order' => 'DESC' // 排序方式
9 K/ J7 m( i4 R* G- K( {& [; _8 [) E);4 I# [; T# P5 z" C! e8 c
) Q* V. Q3 X, x9 T1 b
$notices = new WP_Query($args);
4 p4 o  Z% y2 n! N/ W  uif ($notices->have_posts()) :
+ O5 O) S9 \- X+ I$ b    while ($notices->have_posts()) : $notices->the_post(); ?>
2 O: \7 I$ X) z9 [/ w2 P        <div class="notice">; e$ }4 S0 b# m1 X: J
            <h3><?php the_title(); ?></h3>- S% ^+ B7 Y+ {# H
            <div class="notice-content"><?php the_content(); ?></div>0 U) H8 }+ {4 u: n& c
        </div>6 k4 {" ?( W7 o& @# f7 p7 p+ u
    <?php endwhile;
. \/ g5 Q. U( ]" ]* Kelse :
7 o4 d1 e7 q6 Y* Z+ n! I    echo "暂无公告";
; k# p) @+ O2 A9 Q" d2 n/ I3 Uendif;0 u0 s6 ^  S, J2 z9 F
wp_reset_query();
9 v/ Q6 a1 D4 U# H3 z```' L$ V, |9 l/ ^+ O) R
9 F* `6 H: r9 ~5 F+ K, z" y
这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
9 S4 V- l( }0 ]! Y; o% J1 N
$ i  [; D: n% N2 i  s' F以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

563

回帖

3671

积分

管理员

积分
3671
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?+ C. v$ h. P2 T6 \, n$ U' n# v
/ \% u0 e$ ^( Z$ p9 R  b
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
, b7 ~+ b, p6 D) i2 E8 w6 R, r7 o" v+ U
以下是创建自定义插件的步骤:
1 P# K; O6 M1 J5 ?/ {+ V; {5 R- v. B
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:5 o7 z) q) ]7 O5 o1 m- j
6 }2 H. S4 H6 q3 Y
   ```* p: _+ N; A! F6 P# E
   <?php8 p/ N8 m: k3 r; i6 Z( U9 o8 D
   /*4 p0 \% r! b+ X( v
   Plugin Name: Site Wide Notices Plugin
$ L5 _1 }9 y- r   Description: Adds a new custom post type for site-wide notices.
/ N: M) k5 ~7 m" s+ c   Version: 1.09 Z$ v  X. M9 E- F! W8 P, t
   Author: Your Name
+ M" x/ _/ \2 b3 h" Z   Author URI: http://example.com
( j2 v  e0 D- Y; \) k& u( U) U% Y   */( `+ R' C& c0 [& w! D
" {3 r7 i; h; H
   // Add plugin code here...* a; z5 a4 B% B2 u6 _7 B. G
   ```
9 K, d, i* y7 {% B1 J4 u" a- y3 A. X: @; V  h0 c
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。! w( T! W% w$ N+ L8 Q

4 n, x0 u1 Y9 a) t, }# X2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:3 D9 l8 k9 g: y
' A: C/ \% s/ ]4 k# i
   ```
4 j( G+ }3 o% U2 Q' F; J2 j   add_action('init', 'create_custom_post_type');6 `. b4 p3 J9 Q9 a3 R
   function create_custom_post_type() {
! t8 E/ ]: k; \! T& x      $labels = array(4 l( K+ C3 p- a, ?" F! L
          'name' => 'Site Wide Notices',
& R- @! W3 B& p" \2 w0 h          'singular_name' => 'Site Wide Notice',
8 R$ j$ B7 t( R7 g5 c+ M          'add_new' => 'Add New',! C. D  j( h8 q2 Q; a
          'add_new_item' => 'Add New Site Wide Notice',5 E9 D3 o: X5 |/ }
          'edit_item' => 'Edit Site Wide Notice',; H( C5 G/ h+ B1 w8 f
          'new_item' => 'New Site Wide Notice',
; I1 N! _, z* u2 C/ G          'view_item' => 'View Site Wide Notice',
# F. C9 q9 A- \* M          'search_items' => 'Search Site Wide Notices',
5 ^0 o5 c% ]1 ?          'not_found' => 'No site-wide notices found',6 l/ D/ {/ i4 h1 h5 D
          'not_found_in_trash' => 'No site-wide notices found in trash'
4 M7 ~: S; y, s. P6 F8 Y4 S      );8 X( [" }1 X; i9 i; p0 ?
; D' s% A! }& ~. y3 v* Z: \- x
      $args = array(2 w: U+ E& Z& O
          'labels' => $labels,6 b/ t7 [. w: Y' P0 f. s
          'public' => true,
7 p. P: b8 j8 ^: E  a$ U          'has_archive' => true,* I* x1 s3 d% R# w8 q/ u' `
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
: v0 O8 f1 D6 z. Y' B% a% Z5 d9 p- Y          'taxonomies' => array('category', 'post_tag'),9 e: L/ g* R% ~- |# l
          'menu_icon' => 'dashicons-megaphone',, [/ Q0 j% w; R
          'menu_position' => 5,. v' R8 V# K: [% C( i9 n, C% W
          'rewrite' => array('slug' => 'site-wide-notices')" |! T$ S! I3 D. H0 \0 l
      );
/ I- V+ E8 x$ n. h  b, G8 o& j! z+ A# @0 r, k8 f9 g0 G0 ~9 G
      register_post_type('site-wide-notices', $args);
& i+ s" ]9 B1 x% y   }$ Z' t, c1 ]5 b& @- t
   ```, t( y3 l& n' d- N; _9 l3 S
/ b) _7 ^& I7 E) P
   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。# H) j' m! q5 C/ a7 G. }! i4 B

- g! v/ {: H% D6 r  S" y3 ~  ?3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:) ^4 O8 W9 V% R/ `& F6 t

" \, A4 h" }0 L- T7 v9 @   ```9 ^9 w. N( u* U+ c2 R- j
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');+ n: Y5 L! E. ^  _2 p
   function add_site_wide_notices_boxes() {
3 N' l- U$ {- Q/ N2 m      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');; x! Q8 p# k) i$ E# |- U; `9 k
   }8 n/ b& R: m2 ]  @1 }
* b4 c7 n! D7 h; u
   function notice_details_meta_box($post) {
& w( ^% o. w4 U0 i      wp_nonce_field(basename(__FILE__), 'notices_nonce');/ ]0 F% F6 u' A1 z
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
# B7 A# q" n' \$ [8 u      $notice_content = get_post_meta($post->ID, 'notice_content', true);5 d# s. }& c5 X; J
      ?>' e; O6 C& D7 R" u1 ?
      <p>! R# q) Z3 r% P
          <label for="notice-title">Notice Title</label><br>! j* k- p3 Z" r" D0 G
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
+ S* T8 Q" S, G  J      </p>/ T* g1 j3 S: }/ c4 l
      <p>
  e& x4 C1 d6 d+ r' I          <label for="notice-content">Notice Content</label><br>; m7 u8 a  W5 O  f
          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
+ j3 }. f( y4 }0 Y      </p>
' z" V5 G5 U# p5 K      <?php/ I" n; u4 Y( E4 H3 j4 ]# b& |
   }  j3 F  F0 F+ E$ z

3 S8 [0 @8 s  @# @   add_action('save_post', 'save_site_wide_notice_meta_box');5 P" _7 S( D9 K2 J; Z3 W% H
   function save_site_wide_notice_meta_box($post_id) {
' T8 Z* N: \% @2 C/ M      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
9 a0 O. ]7 v: z3 ]) _, f  ~         return;) I! T# G5 P$ X! j4 b. a
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
; F& c# C' D( u         return;
6 P$ D; t& q$ \" b% d' K& q  h1 }  o* x1 n( B. A
      if (isset($_POST['notice_title'])) {5 A" v& M; b0 X, z+ d
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));) [/ f) [- F+ l/ K; `% {3 z
      }
6 O2 e) W  A) K: U( S  O      if (isset($_POST['notice_content'])) {4 V+ |( U$ ~7 {4 A
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));/ @# \. k: l# H8 P: r
      }
2 g* B8 i  Q9 O4 T! j& I   }/ H1 t6 k4 ^3 E+ r
   ```: {( l; E5 z% ~3 W2 @: k
2 r# h# h: q4 f( L
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
, @! j5 o3 `! p2 c, U( C& e( r9 u
- y# G5 D! `4 s% Z4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:9 g2 _7 ^  u! W+ B

( @$ G+ z' L1 w& A   ```
/ i7 H! j% W3 e( y1 m+ G0 W/ [. Y   $args = array(
4 U5 u- c  L3 K      'post_type' => 'site-wide-notices',
& W9 C; b$ \  f7 E! J4 N0 O      'posts_per_page' => 3,
4 F; r' |. u1 E, W* Q      'order' => 'DESC',2 \. O/ l9 \, F4 \, k4 v
      'orderby' => 'date'( E5 A3 U2 U' P( p
   );$ z% l( u, t8 y/ y: B* K
   $query = new WP_Query($args);" t+ ?, v7 H' F( }
   if ($query->have_posts()) :5 g# V! _7 B0 k! i
      while ($query->have_posts()) : $query->the_post(); ?>
7 @7 H* S: N  L/ d. Q5 i          <div class="notice">
9 v$ z/ {% z+ e" @- P              <h3><?php the_title(); ?></h3>
# b! ~- S" {; I3 a( e% a* Y' A              <div class="notice-content"><?php the_content(); ?></div>% n, Y/ v4 j; B% X
          </div>* y3 Z- @: i: x1 L! k# Y' X' I5 S
      <?php endwhile;
- {. j& ^. h1 }. _. p      wp_reset_postdata();# S) Y" \, H# ]
   endif;
- J. }) ^+ a! v& ^, O+ N1 L   ```
/ g/ i6 z: Z/ d9 {" u# ]9 \8 g5 t) t8 n/ C# m6 Q, W8 L4 v
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-7 04:52 , Processed in 0.012614 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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