Wordpress in "Couch Mode"?

时间:2013-04-02 作者:Anurag

我正在尝试设置一个;沙发模式“;(无干扰阅读)在我的WordPress博客上,如this article.

本文中的指南遵循以下步骤:

使用slug在WordPress中创建新页面read

在顶部添加以下重写规则。htaccess文件:

RewriteRule ^read/([0-9]+)/?$ /read/?u=$1 [QSA,L]

this file 页面已阅读。php

将此链接添加到single。我的主题的php使用<?php the_ID(); ?>

我按照文章做了所有事情,但当我点击;阅读没有杂乱的故事”;链接到我的帖子时,它会引发错误:

找不到

在此服务器上找不到请求的URL/read/761/。

我的本地开发wordpress安装是:localhost/techylab/

而我尝试这种沙发模式的帖子是:localhost/techylab/761/something

1 个回复
最合适的回答,由SO网友:Milo 整理而成

这里有一种方法可以在不向添加任何内容的情况下在内部实现您想要的内容。htaccess文件。

它由adding a rewrite endpoint 已命名read, 因此,任何单桩永久性连接read 附加到末尾将应用不同的单个帖子模板。

例如,如果正常的单桩永久链接是:

localhost/techylab/some-post-title/
备用版本将在以下位置提供:

localhost/techylab/some-post-title/read/  
First, 添加重写端点。这是你的主题functions.php:

function wpa_read_endpoint(){
    add_rewrite_endpoint( \'read\', EP_PERMALINK );
}
add_action( \'init\', \'wpa_read_endpoint\' );
添加此项后,请访问admin中的permalinks设置页面以刷新重写规则,以便将此端点添加到规则中。

Next, filter the single post template 并检查是否存在read 查询变量。如果存在,请在名为read.php. 这是您的简化帖子模板,包含您想要的任何标记和模板标记。已经查询了正确的帖子,因此无需像您发布的版本那样通过ID进行特殊查询来加载帖子,正常的循环将与任何其他模板一样工作。

function wpa_read_template( $template = \'\' ) {
    global $wp_query;
    if( ! array_key_exists( \'read\', $wp_query->query_vars ) ) return $template;

    $template = locate_template( \'read.php\' );
    return $template;
}
add_filter( \'single_template\', \'wpa_read_template\' );

结束

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register