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

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

[复制链接]

338

主题

520

回帖

3460

积分

管理员

积分
3460
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:+ C" u' C: W& P
- {3 D+ d6 A; h2 q$ ^
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。# x4 E  {' K0 U* y1 }

  t* Q2 `4 [" \2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。- \: m, t! ^4 I0 g) O7 W+ @
9 e) O+ @7 A7 F6 R3 y
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
8 [& F' u5 [" N2 h4 D( f' V9 S! E  e/ K+ k$ g! J
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。" {2 ]- _% p$ i5 D1 c% ~

9 ?0 U% I) T2 n2 F2 O0 ~注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

338

主题

520

回帖

3460

积分

管理员

积分
3460
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?( j/ }( }& H% d3 K2 `

# g2 }$ N& r8 J/ R如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:5 i$ a0 G  n- l/ G
* m+ m# _( ^  v( Q  K+ n: R
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:) c- B  x8 r3 A" Y( X
* T. h: Q0 _; C. L
   ```
; X' l$ c; _, N. C   add_menu_page($ f' f2 C8 s& S- C; s/ }1 i. u
       '全站公告',& ?0 M' g: Y, b& G
       '全站公告',- @8 Y& n' w9 N! ?5 R5 ?
       'manage_options', //需要的用户权限3 K6 F% A, [2 s# T
       'site-wide-notice', //后台页面的 slug
) e& T+ ]9 ?) O; s6 `( `* M       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
: a& `+ Z2 P7 a! Z9 e2 v       'dashicons-megaphone', //用于显示在菜单中的图标
; }3 T9 ~  K, l4 w( ^, {1 v% J2 s       30 //菜单项的位置' M. ^- K0 O- C! z$ K
   );
" ]% V1 e1 N! r" B7 P$ L   ```& t1 ?" ~( l: ^4 P, i/ n/ }( m/ ^% V

- }& Q8 g; @  }/ N   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。
7 w! T" U% m' G3 m1 V9 f* ^1 ?" y4 Z6 Y+ M1 `
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:+ s' C$ {8 z/ u1 d; J3 ?
/ k) s7 e; l: X0 U3 s7 [
   ```2 u0 @& `) q$ u4 }; g$ H
   function render_site_wide_notice_page() {
9 D; q7 d+ T% t1 [, H  c      // 渲染后台页面内容
; O9 U, i7 R- w. r8 D/ v      echo '<div class="wrap">) v% w  T; C* l5 `( M9 i5 _. X
          <h2>全站公告</h2>. Q! V9 b) l1 r! }: y
          <form method="post" action="">. J) t+ @: H9 ^; e3 n
              <label for="title">公告标题:</label>
, W$ h5 q* A. t  b7 [: s              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
1 ^" u) }% b- ~              <label for="content">公告内容:</label>
! L& C& i) r: M% z- _" l              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
1 C, P" [' u/ r              <input type="submit" name="submit" value="保存设置">
  ?4 C4 b0 l& F& L, c3 ~& \# F% \/ R) Y' z          </form>
& V2 r) O, q2 O" n. E, {      </div>';0 W( f) B# H* O& S" }7 }1 g2 F9 u

6 y. d2 [$ e* g) d: o/ l* U      // 处理表单数据- @  |7 U2 o7 A" C7 R8 v# r
      if (isset($_POST['submit'])) {: M: Q% C3 E6 v: T) }( O$ f' z0 F
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
! ~' k' _$ g/ o( ~& H# V* f          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));5 f) p3 N6 X+ K
      }/ v+ y/ v$ [! o6 P- q# o, \
   }& \+ l0 |  O0 C1 h3 O8 Z6 w; a+ q
   ```
% [8 _) M1 m2 I6 W: K* |8 G
6 a3 p5 E, |" y, s7 N   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。- ]# S$ M. p7 U. M6 I1 a/ X
- F% G/ ]; t% Z0 F
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:
6 L2 J# v. W) F$ ^
& ~* {  f# _% o0 s' R/ Y) V& y   ```
6 B7 \- ]5 T# l2 G   <?php
; M, ?" D$ A5 f5 ?+ y0 ~0 @1 O   $site_wide_notice_title = get_option('site_wide_notice_title');; g5 p) z- h% M: ~
   $site_wide_notice_content = get_option('site_wide_notice_content');) a" O+ Y3 [3 f! c  f
   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {+ _; V& w# a% X- ^( c0 z
       echo '<div class="site-wide-notice">';. F! q7 z9 R* F# |9 K3 p
       if (!empty($site_wide_notice_title)) {
; D  ~  s8 V) G! P8 e           echo '<h3>'.$site_wide_notice_title.'</h3>';
) d. Y3 T4 P8 I1 Y' p- ~       }
, n. y+ Q- A3 d; g       if (!empty($site_wide_notice_content)) {
" \; \& d; O: I           echo '<p>'.$site_wide_notice_content.'</p>';
  \2 J3 S" l* B" N; O) p& V$ ~       }+ N- C4 x1 X( d/ o$ v  W2 v
       echo '</div>';8 I, X- }4 f* c+ L2 ^
   }
/ J; o: i: F7 y  n3 V   ?>
  H$ P& Q) Z9 O! b! M   ```
, @. m7 B1 `. X7 G8 R! R  V. ^  F' x6 e1 X0 K* N" \
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。  s" z/ b( s; D. l, A

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

使用道具 举报

338

主题

520

回帖

3460

积分

管理员

积分
3460
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?8 }+ F. E- K( {$ m7 V4 I- k
& w9 K% v1 M9 x0 Z4 W( k
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:
# X5 f) H8 v8 f: a2 K+ X6 z2 z& T) P/ s9 T2 {
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:# e- d5 Y5 B) Y& X& e* I! C
4 s- t/ v) x" K  ], |; U
```( h4 J/ W1 f) e" ~( |+ \
function create_custom_post_type() {0 C/ ?1 d: q8 d% X" ~
    $args = array(" o1 R  l4 W8 {1 C# A
        'labels' => array(5 L0 c! q! t; X. Q: w: `# f; K( p
            'name' => '公告',
- i7 N3 Q1 y4 {1 I            'singular_name' => '公告'
1 p  q( |; g7 j  v9 Z  L( A        ),
0 R* O1 b0 f$ U( K        'public' => true,
* _1 u6 b* S- J' w7 f; n/ G        'has_archive' => true,
& ]/ Y% E* M5 ?  i& L$ t! J/ ^        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
1 @+ Q, H( U. I% l' d' b) b        'taxonomies' => array('category', 'post_tag'),
0 H& E) F, L6 E$ [8 d$ j) F% G  {        'menu_icon' => 'dashicons-megaphone',
# a. C9 T& a; y" _        'menu_position' => 5," ], O$ ~. ?" b" a* Y6 |
        'rewrite' => array('slug' => 'site-wide-notices')
( _- g5 [* U% L8 X6 R7 `$ ?+ s    );& f9 m& B4 |3 g$ o8 |0 |! J$ A
    register_post_type('site-wide-notices', $args);
2 |/ o/ k* }1 ^: a. U, q0 ^* W6 B}
  x8 r0 [. P; d* cadd_action('init', 'create_custom_post_type');
/ Z: c5 [1 @8 H2 g0 @```& a" ]: v/ F) A3 b0 }, `: _* H# \
, M. f( p9 K/ g  H, Q
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。, v  V5 m) |2 u  U1 w  i
4 V: H/ p2 d5 h. V3 W/ E( p
2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。: J8 s/ t4 `8 `# ~! C
8 i# w8 @6 f( U" c
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
' K7 U0 c3 {" n; \$ |+ `; \; G6 c% j9 `" S0 a4 X# w- C
```- K; Q% x' m6 @! n
$args = array(
# }( d/ p5 _7 S! |3 @    'posts_per_page' => 3, // 显示的公告数量+ b+ ?( n5 P/ \* @
    'post_type' => 'site-wide-notices', // 公告文章类型
- h) Y% g! ~, T7 E* |5 s/ B6 o    'post_status' => 'publish', // 公告状态- p3 ?0 b3 B1 Q2 j0 c
    'order' => 'DESC' // 排序方式
" U- N" z- ~) p" |);' f! G; ?' K( j1 X$ {; E0 R; R

$ V$ i3 ~3 l! p& s9 k/ `8 v% N. _$notices = new WP_Query($args);! Q; v/ }/ T3 `6 ^* E" k* T* b
if ($notices->have_posts()) :
; ^$ q7 M* D* c! G" M    while ($notices->have_posts()) : $notices->the_post(); ?>* {5 ^6 e. E" g  u1 u( h
        <div class="notice">8 e( ]( ?5 v2 X
            <h3><?php the_title(); ?></h3>
# B; h1 c4 |" H3 K( w2 e/ V            <div class="notice-content"><?php the_content(); ?></div>. w; k; A' f0 h0 d, H: |
        </div>
& {3 l. O7 m- K8 L& m7 }% E" q* t0 O4 O    <?php endwhile;9 w* [: A/ f0 i# `3 c) j& C
else :
$ `- g, r/ |, Y' H0 f3 i    echo "暂无公告";
- `6 D5 ?* {6 D5 ~) X. {endif;2 J* W. G: L/ _0 r1 [9 n
wp_reset_query();+ Z; {& I  g8 T
```
' C, Z* f+ B3 ]* ~
8 I  O; H' M, a1 |) S2 C  o/ G这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
' U" v0 p( s' Q; g! \0 \% C% v# A* Z" K% {9 v
以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

338

主题

520

回帖

3460

积分

管理员

积分
3460
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?9 r/ i# C, X5 i& X% b4 V' y( B9 W7 Z
" _6 @# R: G3 G) H, Z0 ]
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
* g. k9 u! ~1 l7 H! v( Z
4 W6 n! V& W7 @以下是创建自定义插件的步骤:
- ^4 a- j' f( d- @5 D7 S1 c8 W, p' T
& x& @* Y2 O4 f& `1 B3 f- j1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
, V  [6 Y" a- C6 b7 l9 k6 x/ e1 ]- ?& m: }- Q" I
   ```0 o, B% Y$ [( x
   <?php
4 H# T6 u$ J8 ~8 [& m1 s& `! x   /*
9 k5 S3 d& h! l1 ~   Plugin Name: Site Wide Notices Plugin
3 y3 v9 y8 D* W6 P9 }7 Q3 I, s   Description: Adds a new custom post type for site-wide notices.
1 W. U; F3 }6 Z% O% W% E3 J   Version: 1.0, b  H) ^2 q1 L; F( J1 G% y% S% c
   Author: Your Name
- J; I' k/ n6 \- _6 |# d   Author URI: http://example.com4 [0 G7 a. }7 X
   */# q! A; l$ O& J8 P8 _
% j  _1 f; s. A* N/ }
   // Add plugin code here...: o3 V/ S  N% P  r& y7 }- k: a
   ```
, t, B( ^' `1 [' C, I/ z
) P& O' {" N7 q( `0 V. f9 L   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。/ H! b4 z) F8 K$ U( ?' L8 m

4 s4 f6 g$ z  C5 T$ x2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:" j' \* h) d: I$ o

, h4 v! W$ f' ]) I5 X   ```
/ R8 e& u' L: }0 \   add_action('init', 'create_custom_post_type');, ^2 \3 g# w' h1 T. d
   function create_custom_post_type() {% G& T& p/ g- b+ _! H. N5 T
      $labels = array(7 P3 G* q: S3 W8 ?+ n) i& u
          'name' => 'Site Wide Notices',
) F, H+ O; m/ r/ |4 J          'singular_name' => 'Site Wide Notice',2 z5 |0 E- ?. t4 g- f1 A
          'add_new' => 'Add New',
2 l8 o- Q: _% }& g          'add_new_item' => 'Add New Site Wide Notice',1 Q- H) R& @: o" I7 f  r
          'edit_item' => 'Edit Site Wide Notice',, D+ O' {* a5 s& S* }& N5 D
          'new_item' => 'New Site Wide Notice',- b6 S9 A2 x( K% i, k. F
          'view_item' => 'View Site Wide Notice',
) P4 R3 Q$ u  f# q          'search_items' => 'Search Site Wide Notices',0 Z" V- k9 k  Y: A
          'not_found' => 'No site-wide notices found',$ l# W% K  Q3 i
          'not_found_in_trash' => 'No site-wide notices found in trash'3 [# V0 n+ J* {, M
      );) p, \3 Y8 F0 O4 k' ]1 D+ `+ q

. E# C4 }- P1 f- G. V      $args = array(
4 V: b# `2 O7 F5 I2 s          'labels' => $labels,9 |! r. X8 w5 }" K" k  Z% m) G
          'public' => true,# k: n5 W7 Q1 D3 ~. V9 P3 I% x
          'has_archive' => true,, T' R0 s. J) ]1 a6 u
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
3 A( L" h5 |3 y, r, L2 }/ {          'taxonomies' => array('category', 'post_tag'),
$ Z9 E& c% F! j; T  d  m( d          'menu_icon' => 'dashicons-megaphone',6 X0 u2 U  ]# a: u
          'menu_position' => 5,
7 C+ l( a( L% z7 d; T: p( Z          'rewrite' => array('slug' => 'site-wide-notices')& T8 ]% m6 W7 R$ Z7 Z5 {& B/ `
      );# a0 l2 f. f4 @, ~
1 R: r* M1 x' M5 z* i: p8 C
      register_post_type('site-wide-notices', $args);$ h9 o( ~5 Q9 h
   }! ~2 I1 _6 H4 l. z  S) T/ [+ i/ C
   ```0 R) _' ?2 E( N9 E) Z$ a+ `& ]7 j

- q. x' X8 m* G. [1 y   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。/ {  B9 x3 \2 l
8 V, o3 T2 C0 X4 W, g
3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:$ ~% ?9 i# v5 M  |
1 k: t0 Y; v2 n* V- @& E* F
   ```
3 |4 X" C2 k6 c5 j   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');" j# N$ {! ^2 l
   function add_site_wide_notices_boxes() {& ?$ _* t; ^* o# I7 |& @  z- D
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');5 I# ~, x' V1 M$ L8 ^9 Y! M! A5 L
   }. A, w4 M  F) ^) K) C5 s' p

+ l! @7 |, b* j6 z+ T/ e" G+ E   function notice_details_meta_box($post) {$ O: w; @2 u- ]
      wp_nonce_field(basename(__FILE__), 'notices_nonce');( d% _# s% v) z1 B- M  ~# b
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
) a! M! l/ I) |      $notice_content = get_post_meta($post->ID, 'notice_content', true);
$ W6 W9 [* O8 k1 U      ?>4 ~) u  Y1 A0 B6 a) q* ?
      <p>
- p% J( {2 U: |5 I2 `$ q! W          <label for="notice-title">Notice Title</label><br>! L3 O6 n: `6 c
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">- b$ {9 e- q6 R- T& Z/ \; u  m
      </p>
% Y( a+ s, n5 R5 t  Y% S( y) d      <p>  Y% ^9 T. J0 v. }  y+ Q
          <label for="notice-content">Notice Content</label><br>
/ i0 B/ N" k: S, C          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>" i( i6 T- Z# r( Q/ r" z' G
      </p>
+ S" s+ H; s9 N; W) n% \0 n      <?php
2 T; a" J7 A+ X   }2 U3 S! d* W) H4 x

0 D& p- }/ a2 I7 k5 X) j8 d8 `   add_action('save_post', 'save_site_wide_notice_meta_box');
/ e/ o7 T: s9 C7 `* ]% S   function save_site_wide_notice_meta_box($post_id) {& a: u+ l( E# ]0 s7 k
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
5 ]* ]# J8 M& [4 R3 Q7 s, w         return;9 ~5 V. ~; W+ Q
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE), `7 J0 x! T: J* L$ K: L
         return;
* o6 A& I) b( e! x; h4 P1 o7 L
' b5 V" ^* S5 l; J' R6 V  [! U) c      if (isset($_POST['notice_title'])) {
. z- c0 i7 ^7 h) |  }- s' O* R5 W          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));
: w6 E7 b9 ^4 z      }3 \2 e1 h+ |8 o% f
      if (isset($_POST['notice_content'])) {' A4 g1 [" [. t5 G
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
/ f6 I7 ~7 v) r0 G' \      }
' |6 Q+ P4 M. e7 e   }) _' y! t8 L6 N' W* ?% L
   ```
, L- k" D6 [4 C, _* Q9 t8 G9 D, j0 \* Z$ `; l/ R  U
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。" g! y% s" Y3 g) j

  n# W% b$ f7 `8 Q  f) |4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:7 C* i/ y  ^' @. j  J" s+ q: ?. m

% g5 V( D" M) [+ W+ }0 i* n   ```  s2 R) O; X5 J6 @" C3 |
   $args = array(4 c' m- G9 V! P$ f& A' F* \
      'post_type' => 'site-wide-notices',
; S& T' r. e0 R, a. @9 d# G8 R      'posts_per_page' => 3,4 ^3 x, n! v& \2 `; K$ ~( P( E# L
      'order' => 'DESC',
: t8 V3 C3 C$ J+ M9 ^      'orderby' => 'date'# F4 _. I# {3 @- V
   );
+ ?+ a# w6 {" C9 s   $query = new WP_Query($args);
. L: v! X1 G( ?   if ($query->have_posts()) :/ X) }$ F2 H7 l
      while ($query->have_posts()) : $query->the_post(); ?>: N8 J- H+ ~* W. H0 j+ W
          <div class="notice">
8 j- S1 `. Y1 {: H1 k- h$ t- d% v              <h3><?php the_title(); ?></h3>
# ^7 y7 C1 A/ k/ ^9 r) _4 d$ Y              <div class="notice-content"><?php the_content(); ?></div>- h) u  y( \: f8 p5 n
          </div>! [3 |1 j3 @! T/ F3 `
      <?php endwhile;
" S/ A8 k' ^; {4 s) q, Q% n      wp_reset_postdata();
; C5 U' T& p$ u   endif;
/ I) L' g2 _7 g( d& W- v5 }   ```
" {3 i6 i. ?7 R! N# H$ Z. q% ]- S; T  j% j" M3 F' u+ G3 f
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-1 23:22 , Processed in 0.013629 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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