我很难从父母的主题 - options.php中删除调用。我的问题是这样的:我的父主题要求标题不是来自header.php,我可以轻松替换,但是通过将url路径放置到图像上,可以从theme-options.php替换为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;
}
所以我猜我可以删除这个功能并用我自己的替换它并改变值?
答案 0 :(得分:1)
如果他们在require()
,init
等钩子调用的函数内调用setup_theme
,那么在不编辑父项的情况下执行此操作的唯一方法是:你可以这样做:
remove_action( 'hook', 'their_function_name' );
然后你必须将函数复制/粘贴到functions.php
文件中,编辑它,然后使用相同的钩子重新添加它:
add_action( 'hook', 'your_function_name' );
您可能还必须确保您的函数的优先级(第三个参数)是正确的,以确保它正确覆盖它。