mirror of https://github.com/vtrois/kratos
feat: search function enhancement (#338)
parent
a35be1d185
commit
35724c0173
|
@ -251,3 +251,35 @@ function custom_upload_filter($file)
|
||||||
|
|
||||||
return $file;
|
return $file;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 仅搜索文章标题
|
||||||
|
if (kratos_option('g_search', false)) {
|
||||||
|
add_filter('posts_search', 'search_enhancement', 10, 2);
|
||||||
|
|
||||||
|
function search_enhancement($search, $wp_query)
|
||||||
|
{
|
||||||
|
if (!empty($search) && !empty($wp_query->query_vars['search_terms']))
|
||||||
|
{
|
||||||
|
global $wpdb;
|
||||||
|
|
||||||
|
$q = $wp_query->query_vars;
|
||||||
|
$n = !empty($q['exact']) ? '' : '%';
|
||||||
|
|
||||||
|
$search = array();
|
||||||
|
|
||||||
|
foreach ((array)$q['search_terms'] as $term)
|
||||||
|
{
|
||||||
|
$search[] = $wpdb->prepare("$wpdb->posts.post_title LIKE %s", $n . $wpdb->esc_like( $term ) . $n);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!is_user_logged_in())
|
||||||
|
{
|
||||||
|
$search[] = "$wpdb->posts.post_password = ''";
|
||||||
|
}
|
||||||
|
|
||||||
|
$search = ' AND ' . implode(' AND ', $search);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $search;
|
||||||
|
}
|
||||||
|
}
|
|
@ -112,9 +112,9 @@ function kratos_options()
|
||||||
);
|
);
|
||||||
|
|
||||||
$options[] = array(
|
$options[] = array(
|
||||||
'name' => __('多人模式', 'kratos'),
|
'name' => __('搜索增强', 'kratos'),
|
||||||
'desc' => __('在文章列表显示当前文章作者,在文章页面页脚显示当前作者介绍', 'kratos'),
|
'desc' => __('仅查找文章标题,而不全文搜索(适用于文章数量较多的站点)', 'kratos'),
|
||||||
'id' => 'multiusers',
|
'id' => 'g_search',
|
||||||
'type' => 'checkbox',
|
'type' => 'checkbox',
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -45,9 +45,7 @@
|
||||||
<span class="float-left d-block">
|
<span class="float-left d-block">
|
||||||
<span class="mr-2"><i class="kicon i-hot"></i><?php echo get_post_views(); _e('点热度', 'kratos'); ?></span>
|
<span class="mr-2"><i class="kicon i-hot"></i><?php echo get_post_views(); _e('点热度', 'kratos'); ?></span>
|
||||||
<span class="mr-2"><i class="kicon i-good"></i><?php if (get_post_meta($post->ID, 'love', true)) {echo get_post_meta($post->ID, 'love', true);} else {echo '0';} _e('人点赞', 'kratos'); ?></span>
|
<span class="mr-2"><i class="kicon i-good"></i><?php if (get_post_meta($post->ID, 'love', true)) {echo get_post_meta($post->ID, 'love', true);} else {echo '0';} _e('人点赞', 'kratos'); ?></span>
|
||||||
<?php if(kratos_option('multiusers',false)){ ?>
|
<span class="mr-2"><i class="kicon i-author"></i><?php echo get_the_author_meta('display_name'); ?></span>
|
||||||
<span class="mr-2"><i class="kicon i-author"></i><?php echo get_the_author_meta('display_name'); ?></span>
|
|
||||||
<?php } ?>
|
|
||||||
</span>
|
</span>
|
||||||
<span class="float-right">
|
<span class="float-right">
|
||||||
<a href="<?php the_permalink(); ?>"><?php _e('阅读全文', 'kratos'); ?><i class="kicon i-rightbutton"></i></a>
|
<a href="<?php the_permalink(); ?>"><?php _e('阅读全文', 'kratos'); ?><i class="kicon i-rightbutton"></i></a>
|
||||||
|
|
Loading…
Reference in New Issue