当前位置:首页教程中心网站教程给子比主题右上角增加访问随机文章-子比主题美化教程

给子比主题右上角增加访问随机文章-子比主题美化教程

转载的教程资源,喜欢的可以拿去玩一玩

就是给子比主题右上角增加了一个随机访问文章的功能,没啥好新奇的东西,之前沐颜小栈还记得有

滚动Banner或头部引导模块(站长优化版) 

里面有个功能也有这个功能来着~

给子比主题右上角增加访问随机文章-子比主题美化教程

将下方代码放置于子比主题的func.php文件(没有就创建一个)

// 新增:注册随机文章中转的 query var
function vela_add_random_query_var($vars) {
    $vars[] = 'random';
    return $vars;
}
add_filter('query_vars', 'vela_add_random_query_var');

// 随机文章中转:使用子主题的 random.php 中转模板展示后再跳转到随机文章
function vela_random_gophp_template() {

    $random = get_query_var('random');
    $has_random = isset($_GET['random']) || (is_string($random) ? $random !== '' : !empty($random));
    if ($has_random) {
        global $wp_query;
        $wp_query->is_home = false;
        $wp_query->is_page = true; // 将该模板改为页面属性,而非首页

        $template = TEMPLATEPATH . '/random.php';

        // 随机取一篇已发布文章
        $q = new WP_Query(array(
            'post_type'           => 'post',
            'post_status'         => 'publish',
            'posts_per_page'      => 1,
            'orderby'             => 'rand',
            'ignore_sticky_posts' => true,
            'no_found_rows'       => true,
            'fields'              => 'ids',
        ));

        $url = '';
        if ($q && $q->have_posts()) {
            $pid = (int) $q->posts[0];
            $url = get_permalink($pid);
        }
        if (!$url) {
            $url = home_url('/');
        }

        @session_start();
        $_SESSION['GOLINK'] = $url;
        load_template($template);
        exit;
    }
}
add_action('template_redirect', 'vela_random_gophp_template', 5);
// 随机文章:前端点击跳转到随机已发布文章
function vela_random_post_redirect() {
    // 查询一篇随机已发布文章
    $args = array(
        'post_type'           => 'post',
        'post_status'         => 'publish',
        'posts_per_page'      => 1,
        'orderby'             => 'rand',
        'ignore_sticky_posts' => true,
        'no_found_rows'       => true,
        'fields'              => 'ids',
    );
    $q = new WP_Query($args);

    if ($q && $q->have_posts()) {
        $pid = (int) $q->posts[0];
        $url = get_permalink($pid);
        if ($url) {
            wp_redirect($url);
            exit;
        }
    }

    // 未找到文章则跳回首页
    wp_redirect(home_url('/'));
    exit;
}
add_action('wp_ajax_vela_random_post', 'vela_random_post_redirect');
add_action('wp_ajax_nopriv_vela_random_post', 'vela_random_post_redirect');

// 生成随机文章按钮链接(顶部导航使用,与兽音译者同位置)
function vela_get_random_post_link($class = '', $title = '随机文章') {
    $href = home_url('/?random');
    $icon_html = '<i class="fa fa-random"></i>';
    return '<a class="' . trim($class) . '" href="' . esc_url($href) . '" title="' . esc_attr($title) . '">' . $icon_html . '</a>';
}

// 顶部导航追加随机文章按钮
function vela_append_random_nav_button($radius_but, $user_id) {
    $class = 'toggle-radius ml10';
    $link  = vela_get_random_post_link($class, '随机文章');
    return $radius_but . $link;
}
add_filter('zib_nav_radius_button', 'vela_append_random_nav_button', 10, 2);

温馨提示:

文章标题:给子比主题右上角增加访问随机文章-子比主题美化教程

文章链接:https://www.muooy.cn/5746.html

更新时间:2025年11月15日

1.本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:305582964@qq.com,我们将第一时间处理!

2.资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。

3.所有资源仅限于参考和学习,版权归原作者所有,更多请阅读用户协议免责声明

给TA打赏
共{{data.count}}人
人已打赏
网站教程

WordPress小工具文本/自定义html添加script后无法保存怎么解决?

2025-11-12 23:27:28

PPT 模板

扁平视觉插画通用PPT模板

2025-5-17 22:14:57

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
购物车
优惠劵
今日签到
搜索

你有新的私信

请务必要查看您的私信哟~~