1

我很难从父母 theme-options.php 中删除呼叫。我的问题是:我的父主题不是从 header.php 调用徽标,我可以轻松替换它,而是从 theme-options.php 通过放置图像的 url 路径来调用徽标,所以
require ( get_template_directory() . '/settings/theme-options.php' );

我想“取消要求”这个调用子主题并添加要调用的函数
require ( get_stylesheet_directory() . '/theme-options.php' );

这样我可以修改选项文件并删除对 url 的调用。我之前遇到过类似的问题,并通过使用该unregister函数修复了它,但我不确定如何“取消”对文件的此调用。

任何帮助将不胜感激。

在深入搜索之后,有一个函数可以调用默认值,如下所示:

function max_magazine_default_options() {
$options = array(
    'logo_url' => get_template_directory_uri().'/images/logo.png',
    'favicon_url' => '',
    'rss_url' => '',
    'show_slider' => 1,
    'slider_category' => 0,
    'show_carousel' => 1,
    'carousel_category'=> 0,
    'show_feat_cats' => 1,
    'feat_cat1'=> 0,
    'feat_cat2'=> 0,
    'feat_cat3'=> 0,
    'feat_cat4'=> 0,
    'show_posts_list' => 1,
    'show_author' => 1,
    'show_page_comments' => 1,
    'show_media_comments' => 1,
    'ad468' => '<a href='.get_site_url().'><img src='.get_template_directory_uri().'/images/ad468.png /></a>',
    'inline_css' => '',
    'meta_desc' => '',
    'stats_tracker' => '',
    'google_verification' => '',
    'bing_verification' => '',
);
return $options;

}

所以我猜我可以删除这个函数并用我自己的替换它并改变值?

4

1 回答 1

1

在不编辑父级的情况下能够做到这一点的唯一方法是,如果它们require()在由钩子调用的函数中调用,例如init,setup_theme等。然后你可以简单地做:

remove_action( 'hook', 'their_function_name' );

然后你必须将函数复制/粘贴到你的functions.php文件中,编辑它,然后使用相同的钩子重新添加它:

add_action( 'hook', 'your_function_name' );

您可能还必须确保函数的优先级(第三个参数)正确,以确保它正确地覆盖它。

于 2013-01-30T06:14:14.770 回答