如何在WordPress中显示最近的帖子小部件

展示您最近发布的内容是改善几乎所有网站性能指标的最简单方法之一。

需要知道的是,您可以在帖子和页脚之后的侧边栏等高流量区域中显示最近发布的内容。这可确保您最大限度地提高内容的可见性,并获得发布内容的所有好处。在本文中,我将向您展示如何创建最近的帖子插件,以简化在您的网站上展示最近帖子的过程。

注册插件

我将首先在网站上注册插件。注册后,该插件将显示在网站的插件部分。

/ *
插件名称:最近的帖子小部件扩展
说明:此插件创建一个小部件,用于在前端显示最近的帖子。
版本:1.X
作者:WordPress最近的帖子小工具

* /
类RecentPostsWithExcerpts扩展WP_Widget {
function __construct(){
$ widget_ops = array('classname'=>'recent_with_excerpt','description'=> __('你最近的帖子,带有可选的摘录','recent_posts_with_excerpts'));
parent :: __ construct('RecentPostsWithExcerpts',__('Recent Posts with Excerpts','recent_posts_with_excerpts'),$ widget_ops);
}

1
2
3
4

6
7
8
9
10
11
12

/ *
插件名称:最近的帖子小部件扩展
说明:此插件创建一个小部件,用于在前端显示最近的帖子。
版本:1.X
作者:WordPress最近的帖子小工具

* /

类RecentPostsWithExcerpts扩展WP_Widget {

function __construct(){

$ widget_ops = array('classname'=>'recent_with_excerpt','description'=> __('你最近的帖子,带有可选的摘录','recent_posts_with_excerpts'));

parent :: __ construct('RecentPostsWithExcerpts',__('Recent Posts with Excerpts','recent_posts_with_excerpts'),$ widget_ops);

}

在上面的代码片段中,RecentPostsWithExprects()函数注册了该插件。因此,这就是插件条目在插件列表中的显示方式:

WordPress按类别列出帖子

小工具的代码

以下是执行多个操作的代码段。首先,它创建将出现在前端的小部件。接下来,该代码段将检索最新发布的博客。完成此操作后,博客的摘录(内置的和高级摘录)将通过循环显示(请参阅代码段中的注释)。完成此操作后,函数wp_reset_query()将恢复原始主查询的$ wp_query和全局发布数据。

函数小部件($ args,$ instance){
    global $ before_widget,$ instance;
    extract($ args);
    $ title = apply_filters('widget_title',$ instance('title'));
    echo $ before_widget,$ title;
    $ ul_classes ='recent_posts_with_excerpts';
    $ ul_classes = apply_filters('recent_posts_with_excerpts_list_classes',$ ul_classes);
    if(!empty($ ul_classes))
        $ ul_classes ='class =“'。$ ul_classes。'”';
    $ li_classes ='';
    $ li_classes = apply_filters('recent_posts_with_excerpts_item_classes',$ li_classes);
    if(!empty($ li_classes))
        $ li_classes ='class =“'。$ li_classes。'”';
    $ h2_classes ='recent_posts_with_excerpts';
    $ h2_classes = apply_filters('recent_posts_with_excerpts_heading_classes',$ h2_classes);
    if(!empty($ h2_classes))
        $ h2_classes ='class =“'。$ h2_classes。'”';
        do_action( 'recent_posts_with_excerpts_begin');
    回声'“;
    //检索最后n篇博文
    $ q = array('posts_per_page'=> $ instance('numposts'));
    if(!empty($ instance('tag')))
        $ q('tag')= $ instance('tag');
    $ q = apply_filters('recent_posts_with_excerpts_query',$ q,$ instance);
    $ rpwe = new wp_query($ q);
    //循环
    if($ rpwe-> have_posts()):
        while($ rpwe-> have_posts()):$ rpwe-> the_post();
            回声'“;
            回声''.get_the_title()'。

“;
            if(!empty($ date))
                    回声'

'.get_the_time($日期)。'

“;
            {//显示摘录
                    ?>

<a href =““>

<?PHP
    do_action( 'recent_posts_with_excerpts_end');
        wp_reset_query();
    }

1
2
3
4

6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
三十
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49

函数小部件($ args,$ instance){

global $ before_widget,$ instance;

extract($ args);

$ title = apply_filters('widget_title',$ instance('title'));

echo $ before_widget,$ title;

$ ul_classes ='recent_posts_with_excerpts';

$ ul_classes = apply_filters('recent_posts_with_excerpts_list_classes',$ ul_classes);

if(!empty($ ul_classes))

$ ul_classes ='class =“'。$ ul_classes。'”';

$ li_classes ='';

$ li_classes = apply_filters('recent_posts_with_excerpts_item_classes',$ li_classes);

if(!empty($ li_classes))

$ li_classes ='class =“'。$ li_classes。'”';

$ h2_classes ='recent_posts_with_excerpts';

$ h2_classes = apply_filters('recent_posts_with_excerpts_heading_classes',$ h2_classes);

if(!empty($ h2_classes))

$ h2_classes ='class =“'。$ h2_classes。'”';

do_action( 'recent_posts_with_excerpts_begin');

回声'“;

//检索最后n篇博文

$ q = array('posts_per_page'=> $ instance('numposts'));

if(!empty($ instance('tag')))

$ q('tag')= $ instance('tag');

$ q = apply_filters('recent_posts_with_excerpts_query',$ q,$ instance);

$ rpwe = new wp_query($ q);

//循环

if($ rpwe-> have_posts()):

while($ rpwe-> have_posts()):$ rpwe-> the_post();

回声'“;

回声''.get_the_title()'。

“;

if(!empty($ date))

回声'

'.get_the_time($日期)。'

“;

{//显示摘录

?>

<a href =““>

<?PHP

do_action( 'recent_posts_with_excerpts_end');

wp_reset_query();

}

小部件放置的表单

下一个代码段生成用户在将小部件放在前端时将看到的表单。此代码段创建了一个简单的表单,用户可以填写该表单以将小部件放在网站上。

函数形式($ instance){
if(get_option('show_on_front')=='page')
    $ link = get_permalink(get_option('page_for_posts'));
其他
    $ link = home_url();
//默认
$ instance = wp_parse_args((array)$ instance,array(
    'title'=> __('Recent Posts','recent_posts_with_excerpts'),
    'numposts'=> 5,
    'numexcerpts'=> 5,
    'date'=> get_option('date_format'),
    'more_text'=> __('Read More','recent_posts_with_excerpts'),
    'words'=>'25',
    'tag'=>'',
));
?>

<label for =“get_field_id( '标题'); ?>“>

<input class =“widefat”id =“get_field_id( '标题'); ?>“name =”get_field_name( '标题'); ?>“type =”text“value =”“/>

<label for =“get_field_id( 'numposts'); ?>“>

<input class =“widefat”id =“get_field_id( 'numposts'); ?>“name =”get_field_name( 'numposts'); ?>“type =”text“value =”“/>

<label for =“get_field_id( 'more_text'); ?>“>

<input class =“widefat”id =“get_field_id( 'more_text'); ?>“name =”get_field_name( 'more_text'); ?>“type =”text“value =”“/>
<无线电通信

<label for =“get_field_id( '单词'); ?>“>

<input class =“widefat”id =“get_field_id( '单词'); ?>“name =”get_field_name( '单词'); ?>“type =”text“value =”“/>

<label for =“get_field_id( '标签'); ?>“>

<input class =“widefat”id =“get_field_id( '标签'); ?>“name =”get_field_name( '标签'); ?>“type =”text“value =”“/>


<?PHP
}

1
2
3
4

6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
三十
31
32
33
34
35
36
37
38
39
40

函数形式($ instance){

if(get_option('show_on_front')=='page')

$ link = get_permalink(get_option('page_for_posts'));

其他

$ link = home_url();

//默认

$ instance = wp_parse_args((array)$ instance,array(

'title'=> __('Recent Posts','recent_posts_with_excerpts'),

'numposts'=> 5,

'numexcerpts'=> 5,

'date'=> get_option('date_format'),

'more_text'=> __('Read More','recent_posts_with_excerpts'),

'words'=>'25',

'tag'=>'',

));

?>

<label for =“get_field_id( '标题'); ?>“>

<input class =“widefat”id =“get_field_id( '标题'); ?>“name =”get_field_name( '标题'); ?>“type =”text“value =”“/>

<label for =“get_field_id( 'numposts'); ?>“>

<input class =“widefat”id =“get_field_id( 'numposts'); ?>“name =”get_field_name( 'numposts'); ?>“type =”text“value =”“/>

<label for =“get_field_id( 'more_text'); ?>“>

<input class =“widefat”id =“get_field_id( 'more_text'); ?>“name =”get_field_name( 'more_text'); ?>“type =”text“value =”“/>

<无线电通信

<label for =“get_field_id( '单词'); ?>“>

<input class =“widefat”id =“get_field_id( '单词'); ?>“name =”get_field_name( '单词'); ?>“type =”text“value =”“/>

<label for =“get_field_id( '标签'); ?>“>

<input class =“widefat”id =“get_field_id( '标签'); ?>“name =”get_field_name( '标签'); ?>“type =”text“value =”“/>

<?PHP

}

以下是窗口小部件的表单在行动中的样子:

WordPress最近的帖子小部件

如何设置和使用Recent Post插件

首先,创建名称为“recent-post-widget-extended”的文件夹。在此文件夹中,创建名称为“recent-post-widget-extended.php”的文件。激活插件比在小部件区域中显示的插件,如图2所示。

WordPress最近的帖子小部件激活插件

要设置插件并使其可操作,请在WordPress插件文件夹中创建名为recent-post-widget-extended的文件夹。在此文件夹中,创建一个文件并将其命名为recent-post-widget-extended.php。将插件的代码粘贴到此文件中并保存。

接下来,激活插件,您就可以在WordPress仪表板的插件部分看到它。

准备就绪后,您可以将小部件插入WordPress网站前端的任何位置

部署后,以下是窗口小部件在前端的外观:

最新帖子小部件扩展

插件的完整代码

'recent_with_excerpt','description'=> __('你最近的帖子,带有可选的摘录','recent_posts_with_excerpts'));
parent :: __ construct('RecentPostsWithExcerpts',__('Recent Posts with Excerpts','recent_posts_with_excerpts'),$ widget_ops);
}
函数小部件($ args,$ instance){
global $ before_widget,$ intance;
extract($ args);
$ title = apply_filters('widget_title',$ instance('title'));
echo $ before_widget,$ title;
$ ul_classes ='recent_posts_with_excerpts';
$ ul_classes = apply_filters('recent_posts_with_excerpts_list_classes',$ ul_classes);
if(!empty($ ul_classes))
$ ul_classes ='class =“'。$ ul_classes。'”';
$ li_classes ='';
$ li_classes = apply_filters('recent_posts_with_excerpts_item_classes',$ li_classes);
if(!empty($ li_classes))
$ li_classes ='class =“'。$ li_classes。'”';
$ h2_classes ='recent_posts_with_excerpts';
$ h2_classes = apply_filters('recent_posts_with_excerpts_heading_classes',$ h2_classes);
if(!empty($ h2_classes))
$ h2_classes ='class =“'。$ h2_classes。'”';
do_action( 'recent_posts_with_excerpts_begin');
回声'“;
//检索最后n篇博文
$ q = array('posts_per_page'=> $ instance('numposts'));
if(!empty($ instance('tag')))
$ q('tag')= $ instance('tag');
$ q = apply_filters('recent_posts_with_excerpts_query',$ q,$ intance);
$ rpwe = new wp_query($ q);
//循环
if($ rpwe-> have_posts()):
while($ rpwe-> have_posts()):$ rpwe-> the_post();
回声'“;
回声''.get_the_title()'。

“;
if(!empty($ date))
回声'

'.get_the_time($日期)。'

“;
{//显示摘录
?>

<a href =““>

__('Recent Posts','recent_posts_with_excerpts'),
'numposts'=> 5,
'numexcerpts'=> 5,
'date'=> get_option('date_format'),
'more_text'=> __('Read More','recent_posts_with_excerpts'),
'words'=>'25',
'tag'=>'',
));
?>

<label for =“get_field_id( '标题'); ?>“>

<input class =“widefat”id =“get_field_id( '标题'); ?>“name =”get_field_name( '标题'); ?>“type =”text“value =”“/>

<label for =“get_field_id( 'numposts'); ?>“>

<input class =“widefat”id =“get_field_id( 'numposts'); ?>“name =”get_field_name( 'numposts'); ?>“type =”text“value =”“/>

<label for =“get_field_id( 'more_text'); ?>“>

<input class =“widefat”id =“get_field_id( 'more_text'); ?>“name =”get_field_name( 'more_text'); ?>“type =”text“value =”“/>

<label for =“get_field_id( '单词'); ?>“>

<input class =“widefat”id =“get_field_id( '单词'); ?>“name =”get_field_name( '单词'); ?>“type =”text“value =”“/>

<label for =“get_field_id( '标签'); ?>“>

<input class =“widefat”id =“get_field_id( '标签'); ?>“name =”get_field_name( '标签'); ?>“type =”text“value =”“/>


<?PHP
}
}
function recent_posts_with_excerpts_init(){
register_widget( 'RecentPostsWithExcerpts');
}
add_action('widgets_init','recent_posts_with_excerpts_init');

1
2
3
4

6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
三十
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120

'recent_with_excerpt','description'=> __('你最近的帖子,带有可选的摘录','recent_posts_with_excerpts'));

parent :: __ construct('RecentPostsWithExcerpts',__('Recent Posts with Excerpts','recent_posts_with_excerpts'),$ widget_ops);

}

函数小部件($ args,$ instance){

global $ before_widget,$ intance;

extract($ args);

$ title = apply_filters('widget_title',$ instance('title'));

echo $ before_widget,$ title;

$ ul_classes ='recent_posts_with_excerpts';

$ ul_classes = apply_filters('recent_posts_with_excerpts_list_classes',$ ul_classes);

if(!empty($ ul_classes))

$ ul_classes ='class =“'。$ ul_classes。'”';

$ li_classes ='';

$ li_classes = apply_filters('recent_posts_with_excerpts_item_classes',$ li_classes);

if(!empty($ li_classes))

$ li_classes ='class =“'。$ li_classes。'”';

$ h2_classes ='recent_posts_with_excerpts';

$ h2_classes = apply_filters('recent_posts_with_excerpts_heading_classes',$ h2_classes);

if(!empty($ h2_classes))

$ h2_classes ='class =“'。$ h2_classes。'”';

do_action( 'recent_posts_with_excerpts_begin');

回声'“;

//检索最后n篇博文

$ q = array('posts_per_page'=> $ instance('numposts'));

if(!empty($ instance('tag')))

$ q('tag')= $ instance('tag');

$ q = apply_filters('recent_posts_with_excerpts_query',$ q,$ intance);

$ rpwe = new wp_query($ q);

//循环

if($ rpwe-> have_posts()):

while($ rpwe-> have_posts()):$ rpwe-> the_post();

回声'“;

回声''.get_the_title()'。

“;

if(!empty($ date))

回声'

'.get_the_time($日期)。'

“;

{//显示摘录

?>

<a href =““>

__('Recent Posts','recent_posts_with_excerpts'),

'numposts'=> 5,

'numexcerpts'=> 5,

'date'=> get_option('date_format'),

'more_text'=> __('Read More','recent_posts_with_excerpts'),

'words'=>'25',

'tag'=>'',

));

?>

<label for =“get_field_id( '标题'); ?>“>

<input class =“widefat”id =“get_field_id( '标题'); ?>“name =”get_field_name( '标题'); ?>“type =”text“value =”“/>

<label for =“get_field_id( 'numposts'); ?>“>

<input class =“widefat”id =“get_field_id( 'numposts'); ?>“name =”get_field_name( 'numposts'); ?>“type =”text“value =”“/>

<label for =“get_field_id( 'more_text'); ?>“>

<input class =“widefat”id =“get_field_id( 'more_text'); ?>“name =”get_field_name( 'more_text'); ?>“type =”text“value =”“/>

<label for =“get_field_id( '单词'); ?>“>

<input class =“widefat”id =“get_field_id( '单词'); ?>“name =”get_field_name( '单词'); ?>“type =”text“value =”“/>

<label for =“get_field_id( '标签'); ?>“>

<input class =“widefat”id =“get_field_id( '标签'); ?>“name =”get_field_name( '标签'); ?>“type =”text“value =”“/>

<?PHP

}
}

function recent_posts_with_excerpts_init(){

register_widget( 'RecentPostsWithExcerpts');

}

add_action('widgets_init','recent_posts_with_excerpts_init');

结论

此插件是在网站前端展示您最近发布的内容的绝佳方式。如果放在您选择的位置,最近的帖子将吸引读者进一步探索您的网站。您需要做的就是提出一个简单的表单,其中包括帖子的标题,在窗口小部件中可见的帖子数量以及帖子的摘录。

如果您需要有关此插件的帮助,请发表评论,我会尽快回复您。

相关文章