1

我有一个带有“Mikado Newsflash”主题和自定义子主题的网站。我可以在子主题上添加功能,但是如果我修改 single.php,我不会得到任何结果。即使我删除了主题上的代码,它仍然有效。它在其他地方被调用吗?我已经修改了 framework/modules/blog/templates/singles 等核心模板,但没有结果。关于如何覆盖 single.php 的任何线索?

这是 single.php 主题文件:

    <?php
get_header();
newsflash_mikado_get_title();
get_template_part( 'slider' );

if ( have_posts() ) : while ( have_posts() ) : the_post();
    //Get blog single type and load proper helper
    newsflash_mikado_include_blog_helper_functions( 'singles', 'standard' );
    
    //Action added for applying module specific filters that couldn't be applied on init
    do_action( 'newsflash_mikado_blog_single_loaded' );
    
    //Get classes for holder and holder inner
    $mkdf_holder_params = newsflash_mikado_get_holder_params_blog();
    ?>
    
    <div class="<?php echo esc_attr( $mkdf_holder_params['holder'] ); ?>">
        <?php do_action( 'newsflash_mikado_after_container_open' ); ?>
        
        <div class="<?php echo esc_attr( $mkdf_holder_params['inner'] ); ?>">
            <?php newsflash_mikado_get_blog_single( 'standard' ); ?>
        </div>
        
        <?php do_action( 'newsflash_mikado_before_container_close' ); ?>
    </div>
<?php endwhile; endif;
get_footer(); ?>
4

1 回答 1

0

大多数情况下,对模板文件的编辑没有改变任何东西是因为您更改了错误的文件。

将此代码添加到主题的 functions.php 文件中:

函数.php

function cagb_which_template_is_loaded() {
    if ( is_super_admin() ) {
        $categories = get_the_category();
        //$category_id = $categories[0]->cat_ID;
        echo '<div style="margin-top:25px;" id="my-debug">';
        global $template;
        print_r( $template );
        echo ' | ' . get_the_ID();
        echo ' | ' . $categories;
        echo "</div>";
    }
}
 
add_action( 'wp_footer' , 'cagb_which_template_is_loaded');

登录后,此插件将在页面底部添加额外信息(用于调试),当您加载主页(或任何其他页面)时,它将显示如下内容:/www/public_html/wp-content/themes/ mikado-newsflash/homepage.php

这样,您将知道加载了模板的哪个文件,并且您现在可以对其进行编辑。

于 2021-08-04T22:02:38.550 回答