wordpress禁止用户在不同地点同时登录,管理员除外。
function pcl_user_has_concurrent_sessions()
{
return (is_user_logged_in() && count(wp_get_all_sessions()) > 2);
}
add_action("init", function () {
// 除了管理员,其他人不允许多地同时登陆。
if (!current_user_can("manage_options")) {
if (!pcl_user_has_concurrent_sessions()) {
return;
}
$newest = max(wp_list_pluck(wp_get_all_sessions(), "login"));
$session = pcl_get_current_session();
if ($session["login"] === $newest) {
wp_destroy_other_sessions();
} else {
wp_destroy_current_session();
}
}
});
通过向functions.php文件添加以下代码,就可以现实向wordpress设置常规页面添加固定字段
/**
* WordPress 添加额外选项字段到常规设置页面
*/
$new_general_setting = new new_general_setting();
class new_general_setting {
function new_general_setting( ) {
add_filter( 'admin_init' , array( &$this , 'register_fields' ) );
}
function register_fields() {
register_setting( 'general', 'cuskeywords', 'esc_attr' );
add_settings_field('cuskeywords', '<label for="cuskeywords">'.__('关键词' ).'</label>' , array(&$this, 'fields_html') , 'general' );
}
function fields_html() {
$value = get_option( 'cuskeywords', '' );
echo '<textarea cols="60" rows="9" id="cuskeywords" name="cuskeywords" />' . $value . '</textarea>';
}
}
$new2_general_setting = new new2_general_setting();
class new2_general_setting {
function new2_general_setting( ) {
add_filter( 'admin_init' , array( &$this , 'register_fields' ) );
}
function register_fields() {
register_setting( 'general', 'cusaboutus', 'esc_attr' );
add_settings_field('cusaboutus', '<label for="cusaboutus">'.__('描述' ).'</label>' , array(&$this, 'fields_html') , 'general' );
}
function fields_html() {
$value = get_option( 'cusaboutus', '' );
echo '<textarea cols="60" rows="9" id="cusaboutus" name="cusaboutus" />' . $value . '</textarea>';
}
}
根据父分类调用wordpress分类列表模板
以分类ID为4的父分类作为例子
if (cat_is_ancestor_of(4, $cat)) {
get_template_part('category-4-child');
} else {
get_template_part('category');
}
将代码放到要调用的分类模板中即可
WordPress菜单函数wp_nav_menu各参数
wordpress主题制作时,常常会在不同的位置调用不同的菜单,使用下面的这个代码,再加上CSS给菜单做新的样式,可满足wordpress模板制作时对菜单调用的所有需求。
wp_nav_menu( array(
'theme_location' => '',//导航别名
'menu' => '', //期望显示的菜单
'container' => 'div', //容器标签
'container_class' => '',//ul父节点class值
'container_id' => '', //ul父节点id值
'menu_class' => 'menu', //ul节点class值
'menu_id' => '', //ul节点id值
'echo' => true,//是否输出菜单,默认为真
'fallback_cb' => 'wp_page_menu', //菜单不存在时,返回默认菜单,设为false则不返回
'before' => '', //链接前文本
'after' => '', //链接后文本
'link_before' => '', //链接文本前
'link_after' => '',//链接文本后
'items_wrap' => '%3$s', //如何包装列表
'depth' => 0, //菜单深度,默认0
'walker' => '' //自定义walker
) );
原文