如何在wordpress中编辑子主题中父主题的变量值

时间:2017-06-17 09:23:15

标签: php wordpress wordpress-theming override child-theming

我想更改主题Writee(Wordpress)的变量值。在" content-post-header.php'中有变量。叫" $ date_format"它的值被硬编码为" l,F j,Y" (此变量不在函数中)。这是内容:

<?php 
/****************************************/
## Blog post header content.
/***************************************/

global $post;

$date_format = 'l, F j, Y';

?>
<div class="entry-header">
    <div class="entry-meta">
        <span class="entry-cat"><?php the_category(' ')?></span>
    </div>
    <?php 
    if (! is_single()) :
        the_title( '<h2 class="entry-title"><a href="' . esc_url( get_permalink() ) . '">', '</a></h2>' );

     else: 
        the_title( '<h1 class="entry-title">', '</h1>' );

    endif; 

   ?>
    <div class="entry-meta">
        <span class="entry-author"><?php echo __('By', 'writee'); ?> <?php the_author_posts_link(); ?> </span>
        <span class="entry-date"><?php echo __('on', 'writee'); ?> <a href="<?php echo get_month_link(get_the_time('Y'), get_the_time('m')); ?>"><?php the_time($date_format); ?></a></span>
    </div>
</div>

我想覆盖此变量并将其值更改为&#34; l,j F,Y&#34;。我有一个名为Writee-child的子主题,那里有一个function.php文件,正如我在论坛中读到的那样,我必须覆盖那里的变量,但这样做的价值并没有改变。例如,我尝试了以下代码:

function change_date_format(){ 
  global $date_format;
  $date_format = 'l, j F, Y';
}
add_action( 'after_setup_theme', 'change_date_format' );

当然我不知道代码是做什么的,但这是我通过谷歌搜索找到的最相关的东西。那么,我怎么能改变这个变量值呢?

1 个答案:

答案 0 :(得分:0)

您需要在子主题中创建一个与父主题中的文件同名的文件。并将该新文件放在与文件位于父主题相同的文件夹结构中。在新文件中,您可以更改代码。

<?php 
/****************************************/
## Blog post header content.
/***************************************/

global $post;

$date_format = 'what you want';

?>
<div class="entry-header">
    <div class="entry-meta">
        <span class="entry-cat"><?php the_category(' ')?></span>
    </div>
    <?php 
    if (! is_single()) :
        the_title( '<h2 class="entry-title"><a href="' . esc_url( get_permalink() ) . '">', '</a></h2>' );

     else: 
        the_title( '<h1 class="entry-title">', '</h1>' );

    endif; 

   ?>
    <div class="entry-meta">
        <span class="entry-author"><?php echo __('By', 'writee'); ?> <?php the_author_posts_link(); ?> </span>
        <span class="entry-date"><?php echo __('on', 'writee'); ?> <a href="<?php echo get_month_link(get_the_time('Y'), get_the_time('m')); ?>"><?php the_time($date_format); ?></a></span>
    </div>
</div>