Last updated on 2020年9月21日 at 上午12:39

模板

Update 9.21 凌晨:因为叶憨憨发现的惊天 bug,我把解密方式改成了密码(顺便解锁了 sitemap),所以输入密码的框也相应变成了上一页/下一页。js 源代码就内联在 php 代码里面。

比较有价值的实现:JS控制HTML元素的显示和隐藏 – Mr. Coding – 博客园

我还发现别的跳转……比如 nazo-3 是正确链接时, nazo+3 甚至 nazo + 3 都可以正确跳转。

新版代码:

(随便找了个在线的美化)

<?php /** 
 * WordStar single page file
 *
 * @category WordPress
 * @package  WordStar
 * @author   Felicity <A137294381b@163.com>
 * @license  http://www.gnu.org/copyleft/gpl.html GNU General Public License
 * @link     https://linesh.com/projects/wordstar/
 *
 */
/* Template Name: 谜题模板 by Felicity */
get_header(); 
?>
<?php function ans( $content ) {
	$custom_content = '
	<div style="text-align: center;">
        <button id="prev" style="font-size: 15px;">
            上一题
        </button>
        <button id="next" style="font-size: 15px;">
            下一题
        </button>
    </div>';
 
    $custom_content = $content . $custom_content;
    return $custom_content;
}
add_filter( 'the_content', 'ans' );
?>
<main id="main" class="site-main content-area full-width single-post" role="main">
  <?php
	while ( have_posts() ) : the_post(); 
		get_template_part( 'content','page');
		comments_template( '', true ); 
	endwhile; ?>
    <script>
        var url = window.location.href
        var tmp = url.lastIndexOf("-")
        var front = url.substring(0, tmp)
        var back = parseInt(url.substring(tmp + 1))

        if (back === 0) {
            document.getElementById("prev").style.display = "none"
        }
        else {
            document.getElementById("prev").style.display = "inline"
        }
        if (back === 8) {
            document.getElementById("next").style.display = "none";
        }
        else {
            document.getElementById("next").style.display = "inline"
        }

        prev.onclick = function() {
            console.log("上一页按钮按下")
            location.href = `${front}-${(back-1)}`;
        }

        next.onclick = function() {
            console.log("下一页按钮按下")
            location.href = `${front}-${(back+1)}`
        }

    </script>
</main>
<?php get_footer(); ?>

旧版代码:

代码直接贴这里了,写模板其实照猫画虎还是快当,一个小时写出来应该够可以。

因为模板是全宽页面模板的衍生作品,所以同样采用 GPL 发布。

<?php /** 
 * WordStar single page file
 *
 * @category WordPress
 * @package  WordStar
 * @author   Felicity <A137294381b@163.com>
 * @license  http://www.gnu.org/copyleft/gpl.html GNU General Public License
 * @link     https://linesh.com/projects/wordstar/
 *
 */
/* Template Name: 谜题模板 by Felicity */
get_header(); 
?>
<?php function ans( $content ) {
	$custom_content = '<div style="text-align: center;"><input id="inp" placeholder="给出你心中的答案..." onfocus="inp_val=true;" onblur="inp_val=false" type="input">
	<button id="btn" class="fa fa-arrow-circle-o-right" style="font-size: 18px;"></button></div>';
 
    $custom_content = $content . $custom_content;
    return $custom_content;
}
add_filter( 'the_content', 'ans' );
?>
<main id="main" class="site-main content-area full-width single-post" role="main">
	<script>var inp_val=false;</script>
  <?php
	while ( have_posts() ) : the_post(); 
		get_template_part( 'content','page');
		comments_template( '', true ); 
	endwhile; ?>
		<script>
		console.log("click");
		btn.onclick = function () {
			location.href=`https://one.wh0th.ink/nazo-${inp.value}`;
		}
		function hotkey() {
    if (window.event.keyCode == 13 && inp_val)
        location.href=`https://one.wh0th.ink/nazo-${inp.value}`
		console.log("enter")
}

document.onkeydown = hotkey;
	</script>
</main>
<?php get_footer(); ?>

推广

欢迎答题!

链接:nazo

发表评论

电子邮件地址不会被公开。 必填项已用*标注