正在检测父页面是否具有图库

时间:2013-08-15 作者:rugbert

我的功能是检测页面上的图库是否已损坏,我不确定原因。因此,在我的主题模板的附件页中,我调用此函数:

global $post;

$parent_id = $post->post_parent;

if ( strpos(get_post($parent_id)->post_content,\'[gallery \') == false ){
    $navigation_markup = \'no gallery\';
}else{ $navigation_markup = \'theres a gallery!\' }
它过去很管用,但昨晚我注意到它停了,我不知道为什么。

如果帖子/页面中唯一(或第一)的内容是[gallery id="1,2,3,4,5"] 我的功能失败。然而,如果我添加了一个空格,或任何字符,它就会通过并检测到库。

关于[gallery 处于第一个位置返回false。

2 个回复
SO网友:M-R

这是因为strpos 当库短代码位于被视为的内容的开头时,返回0(零索引位置)false 根据if条件。

解决方案是使用相同的运算符=== 检查返回值是否为布尔值的条件false.

SO网友:JMau

使用WordPress 3.6,您可以使用此新功能:

if( function_exists(\'has_shortcode\') 
    && has_shortcode( get_post($parent_id)->post_content, \'gallery\' )  )     {
       //code
    } else {
       //maybe your function as fallback for previous versions of WP
     }

结束

相关推荐

WP/BLOG目录上的PHP页面链接漂亮吗?

我在一个子文件夹/博客中安装了一个新的WP,并使用“Post name”永久链接进行设置。我已经准备好制作其他几个非WP网站PHP页面,这些页面将位于/blog目录上方。我想知道,有没有办法(1)让/blog目录上方的这些非博客页面具有“漂亮”(又名“搜索引擎友好”)的链接(就像/blog页面一样),以及(2)如果这是可能的,那么WP中是否也有办法不允许在WP页面或帖子中使用“博客页面上方”的名称,这样它们就不会发生冲突?