1

我正在尝试更改我们所有服务类别和页面(门、地板、油漆和窗户)的“归档于:”,每个类别的 ID 如下 4、5、6、7,每个服务页面的 ID 如下28,30,32,34。

我从 Studiopress 网站获得了此代码,但它在全球范围内更改了条目类别之前的所有文本。我试图在下面修改它,但它不起作用。

//* Customize the post meta function
add_filter( 'genesis_post_meta', 'sp_post_meta_filter' );
function sp_post_meta_filter($post_meta) {
    if ( !is_page() ) {
        $post_meta = '[post_categories before="Filed Under: "] [post_tags before="Tagged: "]';
        return $post_meta;
    }
}

我有 4 个页面(服务页面 ID 在上面),它们都使用博客模板并为每个类别拉出带有 cat=ID 的 query_args 以展示该类别中的工作。

我还有一个投资组合页面 (ID=13) 来展示与上述类别相关的所有工作。

然后是公司更新和新闻的博客页面,不会展示任何工作(博客页面 ID=19)。我仍然希望此页面上的帖子显示“归档于:”。

在投资组合和服务页面上,我想将“归档于:”更改为“服务:”。我希望此更改在工作的实际帖子和类别页面上仍然有效(我没有使用类别页面,但如果有人点击服务类型,它将把他们带到那里)。

我希望这更清楚...

这是我一直在使用和尝试的代码,但它仍然无法正常工作。我不确定我是否正确使用了 is_page 是否需要使用其他东西。

//* Customize the post meta function
add_filter( 'genesis_post_meta', 'sp_post_meta_filter' );
function sp_post_meta_filter($post_meta) {
    if ( !is_page( array(13,28,30,32,34)) ) {
        if ( !is_category( array(4,5,6,7) ) ) {
            $post_meta = '[post_categories before="Service: "] [post_tags before="Tagged: "]';
        } else { 
            $post_meta = '[post_categories before="Filed Under: "] [post_tags before="Tagged: "]';
        } 
        return $post_meta;  
    }
}
4

2 回答 2

0

这会将以下内容更改为“服务”:

  • 属于类别 4、5、6、7 的任何页面
  • 4、5、6、7 的任何类别页面
  • 投资组合页面 (ID=13)

其他所有内容都会显示“归档于”

add_filter( 'genesis_post_meta', 'sp_post_meta_filter' );
function sp_post_meta_filter($post_meta) {
    if((is_page() && in_category(array(4,5,6,7))) || (!is_page() && is_category(array(4,5,6,7))) || (is_page() && get_the_ID() == 13)) {
        $post_meta = '[post_categories before="Service: "] [post_tags before="Tagged: "]';
    }
    else
    {
        $post_meta = '[post_categories before="Filed Under: "] [post_tags before="Tagged: "]';
    }
    return $post_meta;  
}
于 2015-07-13T23:45:54.667 回答
0

感谢 Mongjong 让我走上了正确的道路,让我走到了这一步。我能够进一步调整您的解决方案以满足我的所有需求!这是我完美运行的最终代码!:-)

//* Customize the post meta function
add_filter( 'genesis_post_meta', 'sp_post_meta_filter' );
function sp_post_meta_filter($post_meta) {
    if((is_page() && in_category(array(4,5,6,7))) || (!is_page() && is_category(array(4,5,6,7))) || (is_single() && in_category(array(4,5,6,7))) || (!is_single() && in_category(array(4,5,6,7))) || (is_page() && get_the_ID() == 13)) {
        $post_meta = '[post_categories before="Service: "] [post_tags before="Tagged: "]';
    }
    else
    {
        $post_meta = '[post_categories before="Filed Under: "] [post_tags before="Tagged: "]';
    }
    return $post_meta;  
}
于 2015-07-16T15:13:13.397 回答