我试图避免某些代码显示在特定页面上, 例如标签类别和其他页面。
if( !is_front_page() &
&
!is_search() &
&
!is_page( 'article', 'preview' ) &
&
!is_category() &
&
!is_tax() &
&
!is_tag() ){
//code goes here..
}
【在WordPress中进行Ajax调用后,页面条件变为假】当用户登陆页面时, 该条件工作正常。但是这些页面使用ajax来检索帖子, 并且当这种情况发生时, 条件变为false, 页面上显示不必要的代码。
为什么会这样呢?有谁对此有任何想法吗?任何帮助将不胜感激。
#1你应该在if语句中添加一个附加约束, 以检查该请求是否为ajax请求。并非在每台服务器上都使用此功能, 但是如果你使用的是Apache, 它将为你工作。
if(empty($_SERVER['HTTP_X_REQUESTED_WITH']) &
&
!is_front_page() &
&
!is_search() &
&
!is_page( 'article', 'preview' ) &
&
!is_category() &
&
!is_tax() &
&
!is_tag() ){
//code here
}
如果不是ajax请求, 则上述内容仅适用。如果对此php文件发出了ajax请求, 则strtolower($ _ SERVER [‘ HTTP_X_REQUESTED_WITH’ ])==’ xmlhttprequest’ 应该为true, 这就是你如何检查它是否为ajax请求并进行相应处理的方法
#2你应该获得具有上述条件的Ajax响应数据。
或者, 当你不想显示该代码时, 可以在你的Ajax中传递一个变量(参数), 那段时间将在你的Ajax中传递, 而当Ajax函数在那段时间获得该变量(参数)时, 如果不使用get(empty)参数, 则必须添加上述条件, 然后对所有页面执行。
更好的方法是以某种方式获得对Ajax的响应, 从而获得超出页面状态的条件。
推荐阅读
- 从wordpress插件覆盖$wp_customize
- 分页不起作用,并重定向到主页
- #yyds干货盘点#磁盘分区学习笔记
- 配置本地yum源
- 性能分析之valgrind及相关工具
- Linux内核中断系统
- HA-Spark集群环境搭建(Standalone模式)
- #yyds干货盘点# 深入浅出 Spring Boot - 数据访问之 MyBatis
- Linux驱动之I2C设备驱动