当我进行搜索时,如果img标签中有一个图像标题,它会以一种非常难看的方式显示在搜索结果中(显示整个标签和图片)。我找到了这个脚本,它应该能解决这个问题,这是我在互联网上找到的唯一关于这个主题的东西。
<?php
function super_search_exclude_activate() {
$striptags = "CREATE FUNCTION fnStripTags( Dirty longtext )
RETURNS longtext
DETERMINISTIC
BEGIN
DECLARE iStart, iEnd, iLength int;
WHILE Locate( \'<\', Dirty ) > 0 And Locate( \'>\', Dirty, Locate( \'<\', Dirty )) > 0 DO
BEGIN
SET iStart = Locate( \'<\', Dirty ), iEnd = Locate( \'>\', Dirty, Locate(\'<\', Dirty ));
SET iLength = ( iEnd - iStart) + 1;
IF iLength > 0 THEN
BEGIN
SET Dirty = Insert( Dirty, iStart, iLength, \'\');
END;
END IF;
END;
END WHILE;
RETURN Dirty;
END;";
global $wpdb;
$wpdb->query("DROP FUNCTION IF EXISTS fnStripTags");
$wpdb->query($striptags);
}
register_activation_hook(__FILE__, \'super_search_exclude_activate\');
function super_search_exclude_deactivate() {
global $wpdb;
$wpdb->query("DROP FUNCTION IF EXISTS fnStripTags");
}
register_deactivation_hook(__FILE__, \'super_search_exclude_deactivate\');
function super_search_exclude_posts_search($search) {
if (is_search()) {
global $wpdb;
if (stripos($search, \'post_content LIKE\')) {
$search = str_replace("{$wpdb->posts}.post_content LIKE", "fnStripTags({$wpdb->posts}.post_content) LIKE", $search);
}
}
return $search;
}
add_filter(\'posts_search\', \'super_search_exclude_posts_search\');
我没有任何错误消息,但搜索引擎不会返回结果,除非我停用插件,然后回到原点。
问题是什么?
PS:我用这个脚本创建了一个插件,并在右侧的管理部分激活了它。