首先说明一下网站需用到的一些插件:
1.Loggedin - Limit Active Logins 设置同一时间只能登陆一个用户
2.WP-Members 设置未登录时首页只显示多少个字符。
3.WP-PageNavi 设置分页。
4.WPJAM BASIC 用来优化网站,加速网站运行。
下面是一些代码实现的功能:
一、只搜索标题
add_filter( 'posts_search', '_search_by_title', 10, 2 );
function _search_by_title( $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;
}
二、回到顶部
1、参考How to Create a Scroll Back-to-Top Button in WordPress,创建topbutton.js,将以下代码复制到文件。
jQuery(document).ready(function($){
var offset = 100;
var speed = 250;
var duration = 500;
$(window).scroll(function(){
if ($(this).scrollTop() < offset) {
$('.topbutton') .fadeOut(duration);
} else {
$('.topbutton') .fadeIn(duration);
}
});
$('.topbutton').on('click', function(){
$('html, body').animate({scrollTop:0}, speed);
return false;
});
});
2、将这个文件上传到主题/wp-content/themes/twentytwelve/js。再准备一个图标,用来被点击,我分享过很多免费图标库。
再将准备好的图标上传到图库,获取链接。打开style.css文件,将以下内容复制粘贴到底部。
.topbutton {
height:32px;
width:32px;
position:fixed;
right:6%;
bottom:8%;
Z-index:1;
background-image:url("https://guozh.net/wp-content/uploads/2022/12/scroll_to-top.png");
background-repeat:no-repeat;
background-size:100% 100%;
-moz-background-size:100% 100%;
display:none;
}
3、打开functions.php,复制粘贴如下代码到底部。
/**
* 回到顶部
*/
function my_scripts_method() {
wp_enqueue_script(
'custom-script',
get_stylesheet_directory_uri() . '/js/topbutton.js',
array( 'jquery' )
);
}
add_action( 'wp_enqueue_scripts', 'my_scripts_method' );
4、在foot.php文件添加如下代码
<a href="#" class="topbutton"></a>
三、首页显示摘要
修改twentytwelve主题中content.php文件。
<?php if ( is_search() ) : // Only display Excerpts for Search ?>
改成
<?php if ( is_search() || is_home() ) : // 全部摘要 ?>