wordpress二开常用代码片断

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
) );

 原文

https://www.zhanyes.com/code/1844.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值