PHP输出也是子主题,但不同

时间:2015-11-27 作者:ginobrugman

我有一个多语言的网站设置:www.jeroenbrugman。com公司

主要的荷兰语版本使用Fluxus。在artwork页面上,我使用from函数输出了一个链接。php

function prefix_term_name($terms, $post_id, $taxonomy ) {
  foreach ($terms as &$term) {
    $term->name = \'Terug naar \'.$term->name;
  }
}
  return $terms;
在页面上,我使用以下内容显示:

 <h3 class="widget-title">
                                <?php
  add_filter( \'get_the_terms\',\'prefix_term_name\',10,3);
  the_terms($post->ID, \'fluxus-project-type\'); 
  remove_filter( \'get_the_terms\',\'prefix_term_name\',10,3); ?>
                                <a href="../"><?php the_terms($post->ID, \'fluxus-project-type\'); ?></a></h3>
但是,在我的英语页面上。我需要从主主题函数输出“Terug naar”。php为:“返回”。但当我从主要函数复制代码时。php到my child主题的函数。php和更改Terug naar以返回到整个英文站点将变为空白。

我做错了什么?

亲切的问候

2 个回复
最合适的回答,由SO网友:Abhik 整理而成

您需要使函数可插入,这意味着要支持子主题,父主题中的函数应使用:

if ( !function_exists( \'function_name\' )) {
    function function_name() {
        //Stuffs
    }
}  
您应该看到一条PHP错误消息,如果您debugging enabled.

EDIT: 下面的代码片段是为了回答您在评论中的其他问题。

function modify_read_more_link() {
    global $post;

    return \'<a class="more-link" href="\' . get_permalink( $post->ID ) . \'">Your Read More Link Text</a>\';

}
add_filter( \'the_content_more_link\', \'modify_read_more_link\' );

SO网友:ginobrugman

问题已解决!

必须用

if ( !function_exists( \'function_name\' )) {
    function function_name() {
        //Stuffs
    }
}  
太好了!

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请