小部件使向WordPress侧边栏添加炫酷的东西变得非常容易…
短代码很棒,但并非总是最好的方法。使用依赖于短代码的插件或主题的一个缺点是,当您切换主题或停用插件时,它们将在您的帖子中留下shordcode标记,这会使读者感到奇怪。在本文中,我们将展示如何从WordPress帖子和页面中查找和删除未使用的短代码。
简码不好吗?
不,绝对不是。短代码还不错,但是过度使用它们可能会出现问题。例如,我们使用Compact Archives插件,该插件提供了简码和模板标签。我们仅在存档页面上拥有简码,因此,如果我们停用了该插件,则只需要将其删除其中的一页。
另一方面,有些插件和主题提供了用于创建常见样式元素(例如按钮,表格,列等)的简码。一些广告管理插件也使用简码。现在,如果用户在许多帖子中使用了这些短代码,则用户很难从所有帖子和页面中删除该短代码。
这就是为什么我们建议用户不要依赖主题或插件,这些主题或插件要求您在许多帖子中添加短代码。如果可以的话,您应该始终尝试找到更好的选择,或者与主题或插件作者联系。他们可能会告诉您一种更好的方式来获得相同的功能,而无需在帖子或页面中使用太多的短代码。
对于那些仍然想知道的人,如果您的站点上有一个不活动的简码,则在内容的中间部分看起来像这样:
[some-random-shortcode]为了从帖子和页面中删除未使用的简码,您需要先找到它们。
查找包含特定简码的所有帖子
我们将尝试最简单的方法来在帖子内容中查找简码。只需将以下代码复制并粘贴到特定于站点的插件或主题的functions.php文件中:
function
wpb_find_shortcode(
$atts
,
$content
=null) {
ob_start();
extract( shortcode_atts(
array
(
'find'
=>
''
,
),
$atts
) );
$string
=
$atts
[
'find'
];
$args
=
array
(
's'
=>
$string
,
);
$the_query
=
new
WP_Query(
$args
);
if
(
$the_query
->have_posts() ) {
echo
'<ul>'
;
while
(
$the_query
->have_posts() ) {
$the_query
->the_post(); ?>
<li><a href=
"<?php the_permalink() ?>"
><?php the_title(); ?></a></li>
<?php
}
echo
'</ul>'
;
}
else
{
echo
"Sorry no posts found"
;
}
wp_reset_postdata();
return
ob_get_clean();
}
add_shortcode(
'shortcodefinder'
,
'wpb_find_shortcode'
);
在这段代码中,我们创建了一个简码(这具有讽刺意味吗?)。简码运行一个函数来执行自定义WordPress查询。在此查询中,我们使用默认的WordPress搜索功能查找短代码,然后列出使用该特定短代码找到的所有帖子。
要使用此功能,您需要创建一个新的WordPress帖子或页面并将此短代码粘贴到其中:
[shortcodefinder find='myshortcode']
替换myshortcode
为您要查找的shortcode标签。将您的帖子或页面另存为草稿,然后进行预览。这将使您可以查看包含所搜索的shortcode标签的所有帖子的列表。
如何在WordPress中删除未使用的简码
不幸的是,从帖子中删除未使用的简码的最好方法是手动编辑每个包含简码的帖子。在上述方法中,我们向您展示了如何获取包含特定短代码的帖子列表。希望这可以节省您一些时间。有了列表后,就可以一个接一个地浏览帖子并删除简码。
另外,如果您不想一个接一个地编辑帖子,那么可以通过快速解决方法来有效地隐藏短代码,使其不会出现在您的内容中。只需将以下代码粘贴到特定于站点的插件或主题的functions.php文件中:
add_shortcode(
'shortcodetag'
,
'__return_false'
);
您需要替换shortcodetag
为帖子中显示的简码或要隐藏的简码。
基本上,上面的代码将添加简码,使其不显示任何内容。这样,您的简码将像任何其他已注册的简码一样被解析,但不会在输出中显示任何内容。如果您的帖子中有多个未使用的简码,则可以通过将shortcodetag替换为要隐藏的简码来重复使用此代码。
我们希望本文能帮助您从WordPress帖子或页面中查找和删除未使用的简码。