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

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

[复制链接]

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
  H/ _& V, u9 Y% W. g$ Y
! g) ^9 v5 t5 y% d1 a9 u1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。3 C) f4 h, k4 m3 ~! J/ v
% ?- H  \/ w. X8 e1 n
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。
4 E2 Q3 L+ Z  |3 _
4 N. h+ ]% F. I5 C( E1 F3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
8 V( W% H! c$ H3 F6 w/ p
, j* o9 O. E: ]1 q- g# n4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
  [$ X  T0 i. ~* p/ o8 x' _# U5 b, W* u9 d; C3 @  A% ^
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
! k4 C4 F- R( ?7 j' N+ T/ s5 N& ]) i* P4 p& }( m
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:1 [/ |: [# `# D
* O0 w0 m; k0 h8 I% I  Z
1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:$ \& g; Y( @8 h
& u9 ^+ n# r' V* C
   ```# x& ^) A; `7 v
   add_menu_page(
3 m  A" c  y6 F5 S       '全站公告',
5 d2 n! t. W& S" u       '全站公告',
, `# I* W5 g7 t- o# v2 v3 Q$ H' W       'manage_options', //需要的用户权限' d, [& _1 `6 u( z6 B
       'site-wide-notice', //后台页面的 slug; p$ A# c6 z' k- y6 V# z7 H/ m
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数( l' Z7 @- j$ [/ F
       'dashicons-megaphone', //用于显示在菜单中的图标$ U8 g8 W* I" P" S- S
       30 //菜单项的位置
. F& n4 n  a& U4 t6 z" R   );* q6 n2 E! P4 A- l; y
   ```( g6 u/ c+ ]" m
* s  P# a- Y# ^, l# x7 y5 m- i, ^: w
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。  ?& ]$ A; c( n6 p+ A5 u
" M- A- }8 }: U8 `2 r
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:# {4 h* K6 J. U3 u. |0 |+ s0 n

/ o$ b3 w( }% H/ ]6 @( K& m   ```( u  k. [* y# W! z1 Z( t: F
   function render_site_wide_notice_page() {4 F3 J; f& `; ^+ H$ h( h
      // 渲染后台页面内容; C  R, u7 \& F6 U1 h8 D3 v, B! b8 G6 P
      echo '<div class="wrap">
' Z. y6 @8 W/ F* |  x8 \          <h2>全站公告</h2>
  n- P0 z. F: \" x          <form method="post" action="">; D% h. J  `6 |& s' c
              <label for="title">公告标题:</label>( _7 F$ j; K0 C9 `/ i3 W8 }) Z
              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
2 }) s0 T' N: ?, _              <label for="content">公告内容:</label>
% F+ J4 t7 P: |' {+ x  w( \              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
7 O$ P) o2 z% H# |2 w# Y5 r2 ^" c              <input type="submit" name="submit" value="保存设置">9 d6 G: J+ m* V+ f
          </form>
1 W' g7 l4 D3 H8 ]      </div>';1 ?9 }6 o3 R$ l: I, j/ v

, ~) k! d; h$ M      // 处理表单数据
8 \( w& t  W( y% u5 x8 z      if (isset($_POST['submit'])) {( q( U" W/ S" O# o6 p% X2 A" T
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));
* j4 P$ N9 `; u: P7 c; i4 {( B1 G! k          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
' y4 M% N. q7 m6 D      }
7 X- j/ H  Q" q, ]/ w" x   }6 H. r" V( q! G6 ?' X: a0 U& ?
   ```
+ ^% Q- K2 t! C9 V7 z4 u8 A
  F9 C+ K3 E& _% ?. O4 r! h" ^3 b   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。, f( C& l4 a0 U' h' F) _4 |; s

' a0 k' h* T& i  P( _/ a5 j5 U3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:  v) y, {; }  v; p  r  P+ p, l6 a

  ^: O9 v! S  ~, ^  V( b; t& z   ```
) l  y1 c: D# u5 \9 M  _. S   <?php
- P* N1 V; D  t( M" ~5 h/ V/ S   $site_wide_notice_title = get_option('site_wide_notice_title');
) ~7 O: m1 M9 g+ y4 d   $site_wide_notice_content = get_option('site_wide_notice_content');
6 g* r* ?6 r  E, r* x" t4 G   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {$ C4 f  E; b" c  v$ U
       echo '<div class="site-wide-notice">';
, Z4 q; m0 A( B+ _  ~       if (!empty($site_wide_notice_title)) {
) q7 v8 A* k; R' l( H* [           echo '<h3>'.$site_wide_notice_title.'</h3>';$ U* V7 y: o4 X+ S
       }
  i8 V1 x1 ~: c7 w( W8 K       if (!empty($site_wide_notice_content)) {  I& X: P: l3 a6 X5 ], k  }
           echo '<p>'.$site_wide_notice_content.'</p>';: o( i0 ?4 D, Y- E9 ?7 Z. Q
       }
' ~( E7 j% D7 {4 \       echo '</div>';' y3 F, ]0 U! {, F5 U
   }5 O1 k! Y! f+ D9 y
   ?>
- U7 z8 B) ~/ h& j2 Q% {# _  w   ```
0 y. `, I9 F6 t; B# M% A. t! c0 _( _
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。+ ?5 h6 v& j5 O2 z

& c/ Q- x4 p1 q3 e) y% F( z* l1 v请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?. r" P4 K0 A8 u0 [5 `5 y
5 }1 v  }" Y7 z2 ]- F4 q4 e7 [
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:- z; _% z3 ]6 v* n8 r$ t* c6 h
7 k9 [* J# g3 h, z! Q6 p" k
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
$ e1 q' W6 _. M6 z- H1 [! x- h; g# o6 ^7 Z
```
" S, |+ s8 z/ nfunction create_custom_post_type() {
0 W/ q0 e& `" A" s( D    $args = array(7 p" R, N( U/ A4 E1 D1 o
        'labels' => array(
( P0 \% G" Q( J/ c            'name' => '公告',
  P) [0 G: E) l- T5 M& y$ }            'singular_name' => '公告'
- x, S+ ]5 i+ }7 P  f) |7 o        ),4 U1 C) A) g: n3 A. }8 L
        'public' => true,
2 T3 L8 u% \$ P; O& K        'has_archive' => true,% b$ q( L, R3 x& o" Y9 G( |- C7 d* ?
        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
8 S/ u: }& G* z6 ^% x& g        'taxonomies' => array('category', 'post_tag'),$ a3 D0 D- U' P$ \1 h) ?
        'menu_icon' => 'dashicons-megaphone',
9 V8 E+ {5 k& i4 }% j        'menu_position' => 5,4 j1 l4 i) k$ t: L1 ?
        'rewrite' => array('slug' => 'site-wide-notices')
3 F* K6 ^' Y' F" i  q. x    );
+ g- U1 e. o/ a' H" w0 P4 Z    register_post_type('site-wide-notices', $args);3 ]& g( N, E' u% `) W7 w
}
5 }0 h8 L- N9 W. i  @% H$ m# d' j1 v. Radd_action('init', 'create_custom_post_type');" [7 b3 e; D. Y/ I1 i
```3 i9 u) N* T2 v, j% R
2 I9 U/ _3 T6 j5 i6 V7 M
在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。+ e9 A8 q: ]1 h9 Y- u% ^! S& w! Y

: u' o( x9 w3 B9 j2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。4 I+ w( W6 w3 e5 q$ w  b

/ B  Z' ^& Q" ?; Y5 S3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:, _" N& w" B& w: Q: k1 W/ W* f
. a0 _( `: ~6 m' ^1 F0 C( H: \7 W
```
: s" X( G8 X* ^  P- f: r: J2 G4 p$args = array(" |/ C: X) P- K
    'posts_per_page' => 3, // 显示的公告数量! B# U9 K  E, ~! }, Q* b
    'post_type' => 'site-wide-notices', // 公告文章类型
6 d$ k- m4 w1 O* A; W  v    'post_status' => 'publish', // 公告状态
1 p* u/ `5 J  _9 r' N    'order' => 'DESC' // 排序方式
+ I  m; B5 I9 }. m1 F);; `1 a3 o# L. A0 Y! w
4 Y" Z, Z. q1 N% Q; a( j$ [" G( O
$notices = new WP_Query($args);
, m) d* g5 h  u/ sif ($notices->have_posts()) :, C) r% M% v8 k6 w9 b( d
    while ($notices->have_posts()) : $notices->the_post(); ?>/ y5 O( O, i* U5 V3 I
        <div class="notice">8 s  w6 \4 P( G, B- d/ K# J. Z( _
            <h3><?php the_title(); ?></h3>
) L6 t% _  Y7 `$ d2 r$ e& n' o            <div class="notice-content"><?php the_content(); ?></div>
9 S& k7 u6 f4 t7 e        </div>+ i) A8 x2 [- g2 I: {; Z
    <?php endwhile;
8 V5 H/ U! {: d3 G2 p5 e: _else :
& g; o8 |5 h9 b1 c    echo "暂无公告";
2 n* k6 y% g$ D* Aendif;
$ r% r& b( S* ~wp_reset_query();5 V* p/ X0 |6 c% {9 N9 }
```
5 D0 W6 T7 c# F9 b
, q" N! o: G6 b: T这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。2 q% [% g# ^$ O  s) F& [1 {" s

8 r' v* u8 A9 Y% P6 z- ?以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

347

主题

565

回帖

3689

积分

管理员

积分
3689
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?
4 v6 j  d% N6 q' p/ ^" w( v3 s- o9 z, ]) I+ c" E" D+ f
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。
- @/ ]7 X+ Q* C& O/ t" r1 d( z
, p; b1 b2 p$ u9 ]$ O以下是创建自定义插件的步骤:; N7 _5 a4 z) b3 c' i) t1 K' ~
/ ^( f1 k+ s! y9 X
1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
* _" Y) A' p. y  w7 V
! G& ]7 _: G2 Y) G; I   ```
2 Z: O4 S+ P6 I9 ?, J   <?php
( g3 w3 L- o1 _/ Z" K1 ~   /*
& }7 L" P4 ~, v8 ~9 [   Plugin Name: Site Wide Notices Plugin0 u, g8 r& x4 [/ s. @
   Description: Adds a new custom post type for site-wide notices.6 M% Q+ o1 }/ W9 ?$ V
   Version: 1.0
4 z( p8 H. [0 y6 I% E# o   Author: Your Name
) W* ?; C$ m4 K2 b5 x9 e# g   Author URI: http://example.com  i: i5 ?1 ~2 w* V3 n* W5 T
   */
1 F6 z- I+ C6 N+ b* d2 m/ _7 b7 x- s# O3 e7 Y0 a
   // Add plugin code here...
0 u$ ]9 p5 ^! Z6 |1 W" W" @   ```0 r9 V' v8 @4 }0 i

$ \7 v* `, l* _3 t) u$ `1 P   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。2 a5 Z( l0 i# E" q8 I: O
. v2 ^! r, _, P; h9 L! ?
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:$ s$ \5 s8 ~+ H
+ u) q* f8 D+ _, P
   ```/ e: y$ g6 }4 Y! u: ^0 q" V! }
   add_action('init', 'create_custom_post_type');
5 k  E0 U" b0 v% F& D   function create_custom_post_type() {5 f5 K7 ?1 ]- `2 l2 j. ]
      $labels = array(
) x0 A( B3 Y- K- E: j# e) y          'name' => 'Site Wide Notices',* e  K# \' r! s; [
          'singular_name' => 'Site Wide Notice',. _  ?3 c2 W! Y1 L% b) y
          'add_new' => 'Add New',
7 J8 O1 C, F: A7 l          'add_new_item' => 'Add New Site Wide Notice',
8 f: f. G! E# U4 C          'edit_item' => 'Edit Site Wide Notice',, B) j7 w# b7 O* T3 e
          'new_item' => 'New Site Wide Notice',9 c  e( R1 o" t6 _* M7 k' C. Q
          'view_item' => 'View Site Wide Notice',
: i7 O/ R0 i+ }' O' S( F& e  D- G          'search_items' => 'Search Site Wide Notices',: T5 K% r0 [" r
          'not_found' => 'No site-wide notices found',5 U2 o1 O& |; I! S9 C! U# N0 o
          'not_found_in_trash' => 'No site-wide notices found in trash'
4 b- e! f/ ~; E1 Z, F& t' g      );
2 G4 k5 F# o# v! z# U. h+ A; D- J: ]4 t9 a9 J6 s
      $args = array(
, W# c. T, Y2 p7 h! A5 v          'labels' => $labels,
( t9 u6 l* y, u" E          'public' => true,
( q3 [- X8 Q4 q$ N$ t          'has_archive' => true,
1 c: a) T" j$ c          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
& m& ~5 C- {* G* e; s          'taxonomies' => array('category', 'post_tag'),' ^) n- Y) y( o3 }  P; b
          'menu_icon' => 'dashicons-megaphone',
3 |( X9 W5 K! Z( t% u6 }* U          'menu_position' => 5,0 u* f: H; H6 v6 d
          'rewrite' => array('slug' => 'site-wide-notices')
( a, u" S% E: }      );& @& w$ r/ y% H. {& F3 c" r
' D* {3 x: z/ q! P
      register_post_type('site-wide-notices', $args);
( n* s- N" o" `   }: ?+ C) l% W( ]3 b1 }
   ```
& i( B# ~! I) w6 r, k4 D
9 H+ E# Q, x" p  ^   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。
& `) w/ G" G0 j: F* s, g* I# Q
% u& Y- u0 \2 G$ Z$ ?& @- ]2 @# ]2 \3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
  b5 J: n$ U/ A4 Y) u2 ~1 d5 i' \8 d. o7 [5 u/ H
   ```6 W0 }2 ]* ^) S. ?' g
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');$ }, E: r0 t( a+ u7 `/ j, b
   function add_site_wide_notices_boxes() {
) f9 Z# }6 x) m8 t; D  T      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
$ H6 n* c! e  c   }- q1 e  S' l1 y5 T3 [
5 I  V/ W8 m3 N; P& o4 Z- F
   function notice_details_meta_box($post) {+ ^  f9 p  Q) O$ ^
      wp_nonce_field(basename(__FILE__), 'notices_nonce');5 s, f; `8 Y# N$ D6 M4 a
      $notice_title = get_post_meta($post->ID, 'notice_title', true);
( l9 k( ^, m: h9 a6 S) K' i% O8 C      $notice_content = get_post_meta($post->ID, 'notice_content', true);: Q8 _2 |; G' p6 d8 h; b
      ?>
" C$ F+ m* i" M4 P& i6 H; @" V      <p>' b4 q; F, l7 F# D
          <label for="notice-title">Notice Title</label><br>
# s2 T$ H! ]% k; d9 J0 R          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">3 Y- c4 c+ U: ^- E" L
      </p>
4 U+ W9 G9 z* z/ n6 }$ I      <p>% Y7 Z) q- Y+ S6 m# g: C
          <label for="notice-content">Notice Content</label><br>
5 X+ }1 \1 R7 L          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
0 G: P. q' h0 V' e# ?; D9 Q/ Y- O* Y" K      </p>
4 |; e1 U8 B5 R6 Z      <?php
; u' J' R, v) p/ x: F$ f, T6 z4 m   }
' G( ]) N# v* u2 {1 }* h+ o
2 m  s" K! V( n! Z' o6 e/ n5 v6 R$ I$ G   add_action('save_post', 'save_site_wide_notice_meta_box');
* ^* ?1 l/ c% C9 P6 L3 f   function save_site_wide_notice_meta_box($post_id) {
3 `% q& {) |, I% @0 g$ q4 w      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
0 U$ y  j- m- v6 K         return;, {. g& [8 v0 g% C) k9 D
      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)3 E; n! h; j9 S
         return;
3 K2 i6 t" _, T6 l3 D! c& a
: m" G/ R; h: [) E/ [      if (isset($_POST['notice_title'])) {* T* D5 M3 x" j
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));4 O+ h3 X5 K. i. S( T2 ?' ^
      }
' V6 [4 r7 [; E      if (isset($_POST['notice_content'])) {
0 t( @) Z" W) y  W9 l; x* v          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));: I0 D# b7 {4 r
      }: v! Z1 |# Q" X3 H2 ^) r" H
   }
+ ^) o( \3 [5 G+ ]" W0 `  r   ```
5 u" X9 j/ T  n2 \8 S; ]+ C5 P7 M6 R& F$ r0 Q! R; ~! o
   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
* L  n, H: w5 a: @3 ]) X& ~7 B+ C$ ~4 p
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
! j4 _' N( u  [" W7 R0 Z$ d& t
7 b! [0 Q9 L8 O# ?+ N( P   ```$ z+ U  I; L( }& ?
   $args = array(+ J4 V0 x0 L* H8 W3 |
      'post_type' => 'site-wide-notices',7 [2 R+ @! J+ z% s+ b3 N
      'posts_per_page' => 3,& i6 o- `) x- z/ p* v9 A6 i
      'order' => 'DESC',
( u7 a0 h% C7 h, o. L& c, k2 D& u      'orderby' => 'date') Z4 j" [! P- A3 b1 X: d# @
   );& a' i! e/ V' \# T' @$ A
   $query = new WP_Query($args);
  f4 S1 |$ W. N- |   if ($query->have_posts()) :
$ Y+ E  r3 G0 `, N7 e6 I      while ($query->have_posts()) : $query->the_post(); ?>, Q9 l9 y6 L3 ~0 ?/ @. t
          <div class="notice">
3 @. N! P" h2 G: }/ j0 f              <h3><?php the_title(); ?></h3>! L/ C' x7 q( V8 h
              <div class="notice-content"><?php the_content(); ?></div>* [/ u, {, D+ Y: b* _% ?
          </div>
' s7 B4 Q8 F3 C5 k, @! m      <?php endwhile;
4 ?; Z# `& g! d' I8 Z0 D      wp_reset_postdata();
# @( a5 f* o+ I9 w# t   endif;
6 O" s+ ]; O, b   ```
) i; i3 O, |" V1 `# @7 ^' t- ~- i- j8 W0 @4 u/ z
   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-24 04:42 , Processed in 0.015838 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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