You are here:  Home » PHP » 如何从WordPress帖子中查找和删除未使用的短代码

代码很棒,但它们并不总是最好的方式。使用依赖于短代码的插件主题的一个缺点是,当您切换主题或停用插件时,他们会在帖子中留下shordcode标签,这对您的读者来说会很奇怪。在本文中,我们将展示如何从WordPress帖子和页面查找删除未使用的短代码。

Are Shortcodes Bad?

No ,绝对不是。短代码并不错,但过度使用它们可能会有问题。例如,我们使用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 您正在寻找的短代码标签。将您的帖子或页面保存为草稿,然后进行预览。这将允许您查看包含您搜索的短代码标签的所有帖子的列表

如何在WordPress中删除未使用的短代码

不幸的是,从帖子中删除未使用的短代码的最佳方法是手动编辑包含短代码的每个帖子。在上述方法中,我们向您展示了如何获取包含特定短代码的帖子列表。希望这能为您节省一些时间。获得列表后,您可以逐个浏览帖子并删除短代码。

或者,如果您不想逐个编辑帖子,那么可以快速解决这个问题,从而有效地隐藏短代码,使其不会出现在您的内容中。只需将以下代码粘贴到特定于站点的插件主题的functions.php文件中:

add_shortcode( "shortcodetag", "__return_false" );

您需要将 shortcodetag 替换为帖子中出现的短代码或者您要隐藏的短代码。

基本上上面的代码将添加短代码并使其不显示任何内容。这样,您的短代码将被解析为任何其他已注册的短代码,但不会在输出中显示任何内容。如果您的帖子中有多个未使用的短代码,则只需将短代码替换为您要隐藏的短代码即可重复使用此代码。

评论被关闭。