强制将Single.php重定向到索引 时间:2012-09-16 作者:Staffan Estberg 我想对single进行强制重定向。php索引,这样就永远无法通过直接访问访问它(网站的构建方式是检索索引页面上的所有内容,但由于ajax功能,仍然需要此页面可用)。我想这是在。htaccess?编辑:我需要能够访问单曲。php通过来自索引页的ajax请求进行重定向,也就是说,重定向应该只在直接访问url时发生。 3 个回复 最合适的回答,由SO网友:Lalit Kaushik 整理而成 将此代码放入函数中。php文件add_action(\'wp\', \'myfun\'); function myfun(){ if(is_single()){ wp_redirect( home_url() ); exit; } } 希望这个技巧能解决你的问题。祝您一切顺利;) SO网友:Adam 你也可以试试,add_action(\'wp\', \'myfun\'); function myfun(){ if($_SERVER[\'HTTP_X_REQUESTED_WITH\']==\'XMLHttpRequest\' && is_single()){ //ajax function here } elseif (if($_SERVER[\'HTTP_X_REQUESTED_WITH\']==\'\' && is_single())) { wp_redirect( home_url() ); exit; } } 或者这里有一个基于JavaScript的解决方案Ben Heller 在这个话题上,if (window.top.location == window.location) { window.location.replace("<?php echo bloginfo(\'siteurl\');?>#work"); } 或根据建议techguy4web 您可以以相同的方式传递自定义参数并检查其是否存在。一些支持材料:things-to-know-about-ajax/header-switching.htmlajax-requested-page-return-only-content/prevent-direct-access-to-wordpress-single-post-pages-using-javascript-ajax-trickAjax Content Renderer 有时,您只需要检索没有页眉、页脚及其包含内容的帖子或页面的正文。该插件检测Ajax请求并仅返回帖子或页面的格式化正文。http://wordpress.org/extend/plugins/ajax-content-renderer/Infinite Scroll 当用户滚动到页面底部时,自动将下一页帖子(通过AJAX)附加到页面。http://wordpress.org/extend/plugins/infinite-scroll/ SO网友:Mamaduka 您可以使用tamplate_include 过滤并强制WordPress检索索引。php而不是单一。php。function mamaduka_template_include( $template ) { if ( is_single() ) $template = get_index_template(); return $template; } add_filter( \'template_include\', \'mamaduka_template_include\' ); 结束 文章导航