2014-09-01 71 views
0

对于我的WordPress的儿童主题,我正在使用函数来删除帖子has-post-thumbnail。 这个类,所以我必须与下面的函数两次删除它出现了两次:删除帖子两次

// Remove specific post_class() from Mytemplate 
add_filter('post_class', 'remove_has_post_thumbnail_class', 20); 

function remove_has_post_thumbnail_class($classes) { 
    if(is_page_template('mytemplate.php') && ($key = array_search('has-post-thumbnail', $classes)) !== false) 
    unset($classes[$key]); 

    if(is_page_template('mytemplate.php') && ($key = array_search('has-post-thumbnail', $classes)) !== false) 
    unset($classes[$key]); 
    return $classes; 
} 

它工作正常,但我想知道是否有一个更清洁的方式做到这一点,不希望重复if()声明两次。

+1

由于您的问题是非常具体的WordPress的,你的问题会更适合于http://wordpress.stackexchange.com/。 – 2014-09-01 12:48:20

回答

0

您可以使用一个简单的foreach循环:

function remove_has_post_thumbnail_class($classes) { 
    if(is_page_template('mytemplate.php'){ 
     foreach($classes as $key => $value){ 
      if($value=='has-post-thumbnail'){ 
       unset($classes[$key]); 
      } 
     } 
    } 
    return $classes; 
} 
+0

嗨,你错过了一个括号......无论如何这就像一个魅力,谢谢你谢谢你谢谢。 – isar 2014-09-01 13:11:47