我不知道这个主题。但您必须在某个地方使用这两个函数:
get_theme_mod (\'background_image\', $default);
set_theme_mod (\'background_image\', $_category_image_absolute_path);
也许,您可以使用此函数定义新的修改名称。例如,“background\\u image\\u entertainment”、“background\\u image\\u storysode”等(如参考网页所示),使用set\\u theme\\u mod。
set_theme_mod (\'backround_image_entertainment\', $_category_image_absolute_path);
然后,您应该添加一些函数来引入每个图像的绝对路径,使用
set_theme_mod; 最近调用函数
get_theme_mod 根据当前类别。此代码可能很有用(无论您是否了解如何调整:
function get_background_image_modified () {
$category = get_the_category();
// Here it could be added some checking like:
// * Are we showing all posts of one category?
// * Are we in a post?
// * Are we showing by tags?
// * Are we in the main page?
// and add more options
$cat_name = $category[0]->cat_name; // the category of the first post of the list
$url_default_image = get_theme_mod (\'background_image\', $aux);
$url_cat_image = get_theme_mod (\'background_image_\'.$cat_name, $aux);
return (isset($url_cat_image))? $url_cat_image : $url_dafault_image);
}
然后,您需要找到主题中的原始get\\u background\\u image()的位置,或者定义的位置,并包含您的更改。如果函数不存在,则创建它,并使用WordPress API替换函数来替换主函数。我从来没有做过,但这是可能的。
最后,您需要以某种方式命名每个类别的背景图像文件(例如:background entertainment.jpg),并在某处使用set\\u theme\\u mod包含每个类别的绝对路径(在主题加载的最开始)。
我正在用另一个主题进行研究,但我还没有弄清楚每一件事。制作插件(现在还不存在)很容易。不幸的是,每个主题都是以不同的方式开发的,并且没有一个标准的方案来替代这样的功能。
如果有人得到了最终的解决方案,请放心分享。谢谢