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

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

[复制链接]

332

主题

513

回帖

3372

积分

管理员

积分
3372
QQ
发表于 2023-5-18 08:34:20 来自手机 | 显示全部楼层 |阅读模式
您可以使用以下方法来快速在 WordPress 后台增加一个全站公告的功能:
  H- R5 v, S' q- h9 D3 P# v% Y# a6 O# a  L5 N' ?
1. 在 WordPress 插件库中寻找可用的公告插件,例如 WP Notification Bars、Announcements、SSP Elegant Notification Bar 等。
; z& Y* i0 @4 f3 g# M# \% t( L. ?( x+ T' O0 J
2. 安装并激活您选择的插件。您可以在 WordPress 后台的「插件」->「添加新插件」界面中搜索并安装插件,然后在「插件」->「已安装插件」界面中激活它。4 ~# i8 x; v# \7 G- v
" P4 Z. O6 r1 @, X; S5 J
3. 在插件的设置页面中配置您的公告内容和样式。不同插件的设置选项和功能可能会有所不同,但通常都允许您定义公告的文本、链接、颜色、位置等。
! U3 M) {5 X. K  y! o1 t+ v% T) v  k  G  f  s4 {. a
4. 将公告添加到您的网站上。在插件设置页面中完成公告的设置后,您可以通过编辑 WordPress 主题的代码或使用插件提供的方法将公告添加到您的网站中。不同插件可能使用不同的添加方法,具体请查看详细说明或联系插件作者。
0 C* D% P" ?) U: F* g7 d; i. F/ m
注意,如果您使用的 WordPress 主题已经包含了公告功能,或使用了其他公告插件,可能会导致冲突或功能重复。如果您遇到了这样的问题,请查看主题文档或联系主题作者以获取解决方案。
回复

使用道具 举报

332

主题

513

回帖

3372

积分

管理员

积分
3372
QQ
 楼主| 发表于 2023-5-18 08:34:51 来自手机 | 显示全部楼层
如果是自己开发的话,具体要怎么做?
2 @$ F$ L# Y8 |* _3 G' \, F; W( `- P! _! |' O* T" j" U, q
如果您自己开发 WordPress 主题或插件,并且需要在后台中增加一个发布全站公告的功能,可以按照以下步骤操作:
3 |9 Z  k2 P/ A1 k
& ]. i7 K7 j/ Z' K+ _3 z: n6 p1. 创建一个自定义的 WordPress 后台页面。您可以使用 `add_menu_page()` 或 `add_submenu_page()` 函数来创建一个自定义后台页面,例如:
- h. e4 J0 \) q; P: ~! s8 l7 H- B3 z# j/ z# |
   ```% H5 O# E# _/ O2 ~1 ]
   add_menu_page(
/ x7 Q' N$ M) \% Y/ z0 F$ A       '全站公告',
0 m! ?# c+ g5 g7 w* g/ {8 _       '全站公告',
9 M8 w  O+ w* p# U* o       'manage_options', //需要的用户权限
1 A3 U/ G! Q& _0 r       'site-wide-notice', //后台页面的 slug# p$ n  ^4 n% k# [& I( x
       'render_site_wide_notice_page', //用于渲染后台页面内容的函数
/ o! ], |* G: R7 j, c       'dashicons-megaphone', //用于显示在菜单中的图标1 H: d4 U5 H5 C- {8 ?8 `4 p
       30 //菜单项的位置* B( p' X' z' O! O
   );& I' d- p( o# _! p9 |6 @
   ```
6 ?2 l5 g+ u. l+ j% w) w) C7 ?  P% m; L! [. S
   在该示例中,我们使用 `add_menu_page()` 函数来创建了一个名为“全站公告”的菜单项,并指定需要的用户权限(`manage_options`),在后台页面的 slug 为 `site-wide-notice`,用于渲染后台页面内容的函数为 `render_site_wide_notice_page`,在菜单中显示的图标为 `dashicons-megaphone`,菜单项的位置为 30。' \2 j) P, \2 j, U# ~
& p9 _5 T+ i! u& l
2. 编写用于显示和保存全站公告内容的代码。您可以在自定义后台页面中创建一个表单,让用户输入公告的标题、内容等信息,并将这些信息保存到 WordPress 数据库中的某个表中。例如:" S0 U" \7 q- `7 [' ~2 a5 L

2 [: |& `- z; P0 u   ```6 |3 d4 w: B7 j+ ]3 b2 I5 e- d
   function render_site_wide_notice_page() {
, L! F' S! P9 W$ v. E      // 渲染后台页面内容
' Q) s! w* {2 [      echo '<div class="wrap">
& l* T/ [0 M. S1 W2 b' \" _0 U% Z          <h2>全站公告</h2>
) L& }& O1 p* q# M          <form method="post" action="">
( ]0 h( T* t  M9 a, L              <label for="title">公告标题:</label>
9 |- V" j+ T7 f              <input type="text" name="title" value="'.get_option('site_wide_notice_title').'"><br><br>
2 j/ `% N3 r5 \3 X4 @# E1 A3 b              <label for="content">公告内容:</label>
4 {0 ?- ~. @3 w" ~              <textarea name="content">'.get_option('site_wide_notice_content').'</textarea><br><br>
- N" r7 M8 y" C& D2 z! f9 [1 p              <input type="submit" name="submit" value="保存设置">
9 w+ `. t) X/ b; L. [$ i          </form>
. C$ Q$ n$ L* o1 l      </div>';
% ~+ X* Q' B3 r, d
" I* \9 a, ^- W/ t2 w* {      // 处理表单数据  Z0 ?$ w: q; [5 _" r. g! l
      if (isset($_POST['submit'])) {' V0 l% L' T# [! N6 y
          update_option('site_wide_notice_title', sanitize_text_field($_POST['title']));. f7 k% h+ ?7 f/ D" e7 X$ G
          update_option('site_wide_notice_content', sanitize_text_field($_POST['content']));
8 Q# w: V' k# W) x' V/ |8 F2 R      }' `% y4 z* a* K9 Q7 W1 j
   }4 n+ |$ l8 ~" Y1 u
   ```
! t0 M) Q' K# F! [8 U5 {+ Q) t! {6 v' c& w! @! z
   在该示例中,我们创建了一个表单,让用户输入公告的标题和内容,并使用 `update_option()` 函数将这些数据保存到名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的 WordPress 配置项中。如果用户点击提交按钮,则将表单数据更新到配置项。
; p* s& k$ U1 r% H) F: C7 Y8 g& Y% F7 x
3. 在 WordPress 主题中显示全站公告。您可以通过在 WordPress 主题的 `header.php` 文件中添加代码,将公告内容显示在网站的顶部或其他位置。例如:, H5 p: t5 W3 _2 V. `# x5 \; W  C

0 {$ y& w) y! Q- B, q   ```7 W2 z' _3 x4 D
   <?php
( e3 K. L/ P" E; l. V   $site_wide_notice_title = get_option('site_wide_notice_title');
8 e* f7 P: S, X   $site_wide_notice_content = get_option('site_wide_notice_content');
9 }' O2 L% e8 A# b   if (!empty($site_wide_notice_title) || !empty($site_wide_notice_content)) {! y- V6 A3 x, n& Q7 m
       echo '<div class="site-wide-notice">';" K" {7 f9 G+ ?, m4 v% H: p8 d+ l; V
       if (!empty($site_wide_notice_title)) {* T9 c. N$ O/ S4 g0 r
           echo '<h3>'.$site_wide_notice_title.'</h3>';
2 }# O) S3 m" S( f9 _7 Y) D. x       }
8 h# |# X- |. R, i       if (!empty($site_wide_notice_content)) {
0 v7 y& l% f( H9 `5 q8 e/ o           echo '<p>'.$site_wide_notice_content.'</p>';4 f8 [! A8 M; c* L* ~% ^
       }
0 p7 R# W' L; E( A8 `       echo '</div>';6 `) G$ ?) W3 S  @
   }- G0 d$ t* `) V6 a+ o' U
   ?>3 [5 @/ U% G4 w' T- ~& t7 h
   ```
" k" {( \  U0 s6 ^, B, E+ p- L0 f4 B, W% p
   在该示例中,我们检查 WordPress 配置项中名为 `site_wide_notice_title` 和 `site_wide_notice_content` 的值是否为空,如果不为空,则在 `header.php` 文件中添加一个名为 `site-wide-notice` 的容器,将公告标题和内容显示在其中。
: T0 V) V! b+ u, O6 b/ H' G* x7 I; A% w2 O* E
请注意,本示例仅提供了一个框架,具体实现可能会根据您的需求和实际情况有所不同,您需要根据自己的需要进行修改和调整。同时,为了确保安全性,您还会需要对用户输入的数据进行适当的验证和过滤,例如使用 `sanitize_text_field()` 函数来过滤表单数据。
回复

使用道具 举报

332

主题

513

回帖

3372

积分

管理员

积分
3372
QQ
 楼主| 发表于 2023-5-18 09:26:50 来自手机 | 显示全部楼层
那如果需要发布多条公告,并进行管理,要如何实现?
" @& g8 S$ u1 ~& C3 W, u* @* B. \& d
您可以创建一个自定义的 WordPress文章类型,例如“公告”,并对其进行自定义化,以实现发布多条公告并进行管理的功能。以下是具体步骤:& l7 K& e* C$ A8 r& C$ T
3 m* b& ^( d+ T4 e% u7 H* Y) p
1. 创建一个自定义的文章类型:在你的主题 `functions.php` 文件中,添加以下代码:
  Y) p0 r3 p* h* Y. q
/ h. h5 _, ^/ G```$ _. r9 x1 O. G8 M2 b! d) y0 k0 [! {
function create_custom_post_type() {3 [" h0 N% a3 J7 `
    $args = array(
/ J; W8 D: Q9 C+ Z        'labels' => array(9 ^( x8 i4 [! b/ x& l
            'name' => '公告',
, U5 y0 A, e" M5 C! }$ h            'singular_name' => '公告'
; `. w4 R. T& ~3 [' j        ),+ j) G3 D7 \* d2 _" E/ l
        'public' => true,
9 v' O3 h- [7 X        'has_archive' => true,
6 z4 |, `) T( ?0 L# C6 r        'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
" h/ m) }( d) l8 @1 l' n; f" F        'taxonomies' => array('category', 'post_tag'),
* r" [) q4 A! N8 r4 N7 u. u        'menu_icon' => 'dashicons-megaphone',
: p3 I  Y$ |  S; t8 o0 ^7 G        'menu_position' => 5,$ Z/ e9 Y+ c4 n. L7 P5 o
        'rewrite' => array('slug' => 'site-wide-notices')- c. P6 j3 p1 Z$ o2 w4 t
    );) C7 n7 {" n- R' H- |
    register_post_type('site-wide-notices', $args);
2 C% o" f7 ?# Z}
5 l1 k! _% U: S$ w* ^5 ]add_action('init', 'create_custom_post_type');5 K) F2 Z1 }7 u# y
```
1 ~8 L1 S$ F0 o3 g
0 P' _4 C1 n2 E. S  ]5 N在示例中,我们注册了一个名为 "site-wide-notices" 的新的文章类型,并定义了文章类型名称、缩略名、文章类型支持的功能、分类法、管理菜单图标等设置。2 D# {8 U3 S: a' R9 A' ~

  I# e& `( q2 H2. 在你的 WordPress 后台中创建新文章类型“公告”:现在,你就可以在 WordPress 后台中通过导航到“公告”菜单,来添加、编辑或删除公告了。您可以在编辑公告的页面中添加标题、内容、特色图像或其他自定义的元数据字段。, h% s" m) n- H( [; v1 j+ i
* T5 C8 X' k# x  x4 v2 ]
3. 在主题中显示公告:在您的 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:
( ^: m7 `! S8 w6 K% O0 x9 u: k  |$ \1 h  t0 e" y+ `
```! N9 _. C- G& g4 ?! T9 ?
$args = array(( M6 N1 r) [9 e0 Y1 ^
    'posts_per_page' => 3, // 显示的公告数量
( q3 |1 w, M- ]- r" _5 v    'post_type' => 'site-wide-notices', // 公告文章类型  Z" R; A. V' Y# T
    'post_status' => 'publish', // 公告状态1 I6 n( `$ N# o; t' Z2 o
    'order' => 'DESC' // 排序方式$ l5 F5 A1 a8 o1 F2 G: E8 ?* ]2 q- ^
);; ^5 Z$ g: D' P* ]

- Y* b8 D. B. h* Y$notices = new WP_Query($args);
% F  J4 ^% s2 W$ \% k* a* @if ($notices->have_posts()) :0 l9 e% `* P- x( D: c8 E( H
    while ($notices->have_posts()) : $notices->the_post(); ?>
% B" T; T! O3 w9 Y3 A' z& p        <div class="notice">$ m9 g" z; n* p" d7 Y( `
            <h3><?php the_title(); ?></h3>2 D+ r7 ?3 B' I$ M& r2 C
            <div class="notice-content"><?php the_content(); ?></div>
( J3 e! G/ X3 Q# s% q        </div>/ f( H4 H: ]5 F8 K1 @5 n& l) ]
    <?php endwhile;+ |8 O& A. q, Z
else :9 X. m/ _' [+ a# n  w" d
    echo "暂无公告";
$ o' B. L2 U! k2 {: l$ Qendif;
  n# U: J( S, Z, awp_reset_query();
; l8 e1 C2 Y% X0 C7 M. S```& O* C0 r; E% _/ d& j8 \& X& z+ B$ a

( G8 R% D5 U* E5 ~  E这段代码将使用 WordPress 的 `WP_Query` 类从公告文章类型中获取最新发布的 3 条公告,并在前端页面中循环遍历并显示公告标题和内容等信息。
# m/ J3 Y* E" N; E6 @( e+ G1 u# k7 W
$ e" z% P6 o  ]9 o以上便是实现 Wordpress 后台发布多条全站公告的基本步骤。需要注意的是,自定义文章类型可对应多篇文章,具体根据您的需求进行调整。
回复

使用道具 举报

332

主题

513

回帖

3372

积分

管理员

积分
3372
QQ
 楼主| 发表于 2023-5-18 09:27:55 来自手机 | 显示全部楼层
如果不想修改functions.php,有其他更好的办法吗?3 R2 y2 ~) o# P; t1 b
" z) C/ d8 w3 |0 J. Y8 N7 y7 A, |
如果您不想修改主题 `functions.php` 文件,也可以创建一个自定义插件来添加新的文章类型。7 e* u/ R3 z# A- v' N% P
$ d3 O& U( d; H! A7 B% l% I! ?. s
以下是创建自定义插件的步骤:: q; L2 ^3 c, y, [& ^5 l

7 r+ i0 g, E0 l/ x  w1. 创建新插件:在 WordPress 插件目录中创建一个新的子目录,例如 `site-wide-notices-plugin`,然后在该目录中创建一个新的 PHP 文件,例如 `site-wide-notices-plugin.php`,并在文件头部添加必需的标记,例如:
/ }3 O; w) V/ S6 B
7 b' }% n  l; W   ```$ T% _8 @+ c' f2 z8 u& K& h
   <?php9 @$ k% p( c* N- c
   /*" ]7 Y0 {! u$ z2 t
   Plugin Name: Site Wide Notices Plugin
0 q' O% Q3 B5 `/ H9 j" u   Description: Adds a new custom post type for site-wide notices.4 q3 o6 W$ S$ V# q
   Version: 1.0
9 A* N8 }( `0 }1 t8 V# h1 z   Author: Your Name& c/ g. I$ b# [1 {1 e, O. s6 y
   Author URI: http://example.com+ G: {/ G* E: {
   */
+ g) B4 m7 E( d4 \) ]: \6 {  c/ N6 R+ G9 w7 ~$ X
   // Add plugin code here...
& d7 r9 z/ V) v9 r  v   ```
1 Z( C+ X% G+ Z9 v( p7 y' r$ a  E: v0 j6 T# K& H& c2 L8 e2 u
   在示例中,我们创建了一个名为 `Site Wide Notices Plugin` 的新插件,该插件添加了一个新的自定义文章类型,并指定了版本、作者和作者 URI 等元信息。
7 Q/ J! b' Q4 M/ k) I; |* Z2 G8 ^. T! p9 W
2. 在插件中注册新的文章类型:在 PHP 文件中添加以下代码,用于注册一个名为“site-wide-notices”的自定义文章类型:
4 Y  ~3 t* u* Y8 J: Z  U7 s% M# {! @5 |& ?' D
   ```8 H+ X+ p9 v8 N& Z6 Q
   add_action('init', 'create_custom_post_type');
6 y/ ^* `2 m+ A  _   function create_custom_post_type() {
1 C; }6 T  W! }1 s      $labels = array(
' N  K' g' B. q0 O* s          'name' => 'Site Wide Notices',8 p# Y. T! u, ^& V$ a
          'singular_name' => 'Site Wide Notice',
, V* l2 S6 o  u: w& k. p) G          'add_new' => 'Add New',
7 N0 ]4 H8 P8 M% |          'add_new_item' => 'Add New Site Wide Notice',
; r5 ]2 `8 E  O; k' E5 n+ B          'edit_item' => 'Edit Site Wide Notice',
# r$ A: d- e- S          'new_item' => 'New Site Wide Notice',
- G( Y* v% r  B8 G  `2 O3 x          'view_item' => 'View Site Wide Notice',
9 ~' D7 o3 w3 d1 e7 L' V+ b6 h+ s0 c          'search_items' => 'Search Site Wide Notices',
* l0 k6 ~/ H5 Q* n8 Y          'not_found' => 'No site-wide notices found',
/ n8 r* k8 K/ c; s) n, ]7 B' @2 R! ~% G          'not_found_in_trash' => 'No site-wide notices found in trash'
. S2 [+ C$ _; p3 }8 F      );4 N& T' p0 K6 K" ~

! q# S+ s; \! X# Z" z( |      $args = array(
# M* p/ R" X3 G1 `- s$ ?. V; S          'labels' => $labels,' p' K5 g# {+ y3 k' a5 a/ d+ s
          'public' => true,% F. a! h$ w; k. Y5 S
          'has_archive' => true,$ n+ P" p9 {/ L8 K. h: H
          'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', 'revisions'),
5 Q0 K3 N/ _9 ]; K/ S          'taxonomies' => array('category', 'post_tag'),4 s- V1 D2 B& c/ }
          'menu_icon' => 'dashicons-megaphone',
7 e8 g3 s2 M/ l) [          'menu_position' => 5,+ h0 y- R' p9 A* l5 Q' H! e
          'rewrite' => array('slug' => 'site-wide-notices')2 S5 l& @0 z9 J; ]* W( j2 E
      );
. e5 N+ ]/ \/ V
7 [+ [6 K8 m. l: Z      register_post_type('site-wide-notices', $args);- Y" k* r* F: P( `+ P
   }' D0 y  |( D4 a1 W: l
   ```
9 T# P! T- S( n+ Y+ t6 g/ t1 D
- b" A+ F5 \7 W4 s7 d& U5 c3 J   在示例中,我们使用 `register_post_type()` 函数注册一个新的文章类型,并定义了该文章类型的名称、标签和其他设置。$ ~7 [  ~! n7 i7 k) j; @& g  x

$ `( g0 }& b: {4 q- E" w/ K3. 在后台中添加公告编辑页面:您可以使用 `add_meta_box()` 函数在后台中添加公告编辑页面,并自定义字段和元数据,例如:
" H, [" n% K: B+ z4 ]/ e* P$ A* {0 M, y' R7 `) Z; Y* s
   ```2 _3 h- n# x' e7 i% @+ ~& o- b
   add_action('add_meta_boxes', 'add_site_wide_notices_boxes');9 J/ u9 d9 P, [% c/ c2 Q
   function add_site_wide_notices_boxes() {# E" N# \- z7 @0 G5 L4 H  O, X
      add_meta_box('notice-details', 'Notice Details', 'notice_details_meta_box', 'site-wide-notices', 'normal', 'high');
5 l+ O9 D6 Z9 M   }
; k5 w& }! K$ F0 ?& c& v: t) ^9 ~  j# x' @0 u6 b2 W* f
   function notice_details_meta_box($post) {- {4 K& b. c9 D" i. u7 M/ r
      wp_nonce_field(basename(__FILE__), 'notices_nonce');
$ M; j" {( @; @& R, g$ [4 i  X- ?9 B1 }      $notice_title = get_post_meta($post->ID, 'notice_title', true);0 E" r- q1 P1 l1 ^3 ]7 f
      $notice_content = get_post_meta($post->ID, 'notice_content', true);
% [2 t- g8 n' C& v) t, e1 x      ?>
$ d" z* G2 Z) q( d      <p>
& J$ q( c" f* z& c! c          <label for="notice-title">Notice Title</label><br>2 c! n' }2 @4 M5 D( G9 m
          <input type="text" id="notice-title" name="notice_title" style="width: 100%;" value="<?php echo $notice_title; ?>">
- {& |9 z/ }) _+ l      </p>
3 G' `3 I* ^: z% d6 E4 v  f9 O      <p>. ]3 i7 }* J6 \1 V+ R
          <label for="notice-content">Notice Content</label><br>
5 Y3 n; z" C& z: j          <?php wp_editor($notice_content, 'notice-content', array('textarea_rows' => 10)); ?>
# r( m8 g$ f" C8 K7 B, ^      </p>' c5 U4 r. M/ P6 Y& @
      <?php
/ y0 b! a( Z7 r9 a# M& ~, `   }2 {, j0 w$ m1 d2 b, B# e
* B5 X) m6 g' M
   add_action('save_post', 'save_site_wide_notice_meta_box');
' ]9 U8 ]2 v+ s: M3 ~   function save_site_wide_notice_meta_box($post_id) {& E8 w  f: `/ x) n+ e
      if (!isset($_POST['notices_nonce']) || !wp_verify_nonce($_POST['notices_nonce'], basename(__FILE__)))
& y8 Y; p# p" w& L* M6 h/ y         return;
4 W0 P( @; B$ H' ^! ?! Z( O6 u      if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
* ~/ u' D) H/ Y7 }4 E  }2 p         return;7 m- |% o: {3 i  q' |
2 c* E  l# U+ m3 x+ U' m' [1 K
      if (isset($_POST['notice_title'])) {  z  w& B7 P! B4 h! u1 |6 l
          update_post_meta($post_id, 'notice_title', sanitize_text_field($_POST['notice_title']));) Q+ K: L" b7 p8 D
      }
- z9 }! D* f* S2 S1 y, U0 |5 W      if (isset($_POST['notice_content'])) {8 ^* X( t$ L) [$ k+ I) v
          update_post_meta($post_id, 'notice_content', wp_kses_post($_POST['notice_content']));
/ b2 G& U. k7 u5 x% N, q      }. B* S/ h2 T8 D1 o
   }2 o, o- @% v8 @
   ```/ V9 v/ G7 v2 @* ^1 K5 M8 E8 B3 I

% Q2 u. x1 A: z  _1 b3 d' f   在示例中,我们使用 `add_meta_box()` 函数添加了一个名为 `notice-details` 的元框,用于在编辑页面上显示自定义字段和元数据。在 `notice-details_meta_box()` 函数中,我们使用 `wp_editor()` 函数添加了一个可视化编辑器,用于编辑公告内容。在 `save_site_wide_notice_meta_box()` 函数中,我们使用 `update_post_meta()` 函数将公告标题和内容保存到 WordPress 数据库中。
4 a1 K# L. u" G0 h( O  }9 i  Z) u4 |- V4 r
4. 在前端页面中显示公告:在 WordPress 主题文件中添加以下代码,以在您的网站上显示公告:' m. Z4 m& R9 Y
* F; y0 i* z4 _2 G
   ```
% q. U7 h& K: w! Z6 q   $args = array(
& B8 d/ H, Q- r  c# a5 |      'post_type' => 'site-wide-notices',# J3 v' b9 n/ n8 {/ L
      'posts_per_page' => 3,- z. O/ Z! y  i
      'order' => 'DESC',
0 [. N6 S8 S) U- m      'orderby' => 'date'
5 V& ?1 e* o5 E& ~   );
, s4 W0 @# g/ P% S! a5 A   $query = new WP_Query($args);2 @/ @- ^5 W! B8 L; E9 J7 y# s
   if ($query->have_posts()) :
# Q$ x- Q& q0 C4 k( ^      while ($query->have_posts()) : $query->the_post(); ?>6 v! [+ d" ~! M7 l! U" h' P4 B) ]
          <div class="notice">2 P5 \/ ]& y/ \6 Y- @' r* g' ~$ m1 Z3 a
              <h3><?php the_title(); ?></h3>4 B" Z, S8 a, C# A2 j- ]
              <div class="notice-content"><?php the_content(); ?></div>4 O! _6 L# X* x
          </div>& V$ J7 u" r$ a6 l9 k/ ]
      <?php endwhile;
4 A  E! s/ J! h8 {: F9 S0 X      wp_reset_postdata();
! `6 D7 N/ [/ c2 {$ c8 Y) D1 {   endif;. b3 [! p& Z+ e  ]! j' P
   ```
+ T- g" j6 S9 ]5 W( ?
* c7 Y# r+ x+ G   在示例中,我们使用 `WP_Query` 类从 `site-wide-notices` 文章类型中获取最近发布的 3 条公告,并在前端页面中循环遍历并显示标题和内容等信息。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-25 18:55 , Processed in 0.065598 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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