如何在标题中使用徽标?

时间:2014-04-10 作者:Scott Severance

我正在尝试建立一个新的网站,使用海明威的主题。我想在标题中添加一个徽标。主题编辑器希望我使用管理面板上载徽标。这有两个问题。首先,该方法肯定会失败,因为WordPress当然没有对文件系统的写访问权限,我不会授予它这种访问权限。其次,在网站上发布此类内容的正常方式是将相关文件上传到服务器的适当位置并链接到它们。但是这个标志去了哪里?

在我的主题中,徽标由以下代码放置:

<?php if ( get_theme_mod( \'hemingway_logo\' ) ) : ?>

<div class=\'blog-logo\'>

  <a href=\'<?php echo esc_url( home_url( \'/\' ) ); ?>\' title=\'<?php echo esc_attr( get_bloginfo( \'title\' ) ); ?> &mdash; <?php echo esc_attr( get_bloginfo( \'description\' ) ); ?>\' rel=\'home\'>
  <img src=\'<?php echo esc_url( get_theme_mod( \'hemingway_logo\' ) ); ?>\' alt=\'<?php echo esc_attr( get_bloginfo( \'title\' ) ); ?>\'>
</a>
</div> <!-- /blog-logo -->
在我看来,我有两个选择:

在此处修改代码并硬编码我的徽标。这里的问题是,我对代码修改得越多,就可能遇到越多的可维护性问题get_theme_mod 是关键,但当我查看其定义时,似乎有很多代码需要遵循(而且我从未听说过PHP的交互式调试器)在这些选项中,我认为数字2更可取,但我对代码的理解不够,无法做到这一点。

你有什么建议?

1 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

我强烈建议您创建一个child theme. 它非常快(只需不到5分钟),并且在更新主题时不会丢失您的自定义设置。您只需复制“标题”。php\'到您的子主题进行修改。同时创建一个名为“图片”的文件夹,这是您自定义徽标的位置。第24行

<div class="header section" style="background-image: url(<?php if (get_header_image() != \'\') : ?><?php header_image(); ?><?php else : ?><?php echo get_template_directory_uri() . \'/images/header.jpg\'; ?><?php endif; ?>);">
是调用图像的位置,因此只需修改即可。记住要改变

get_template_directory_uri() . \'/images/header.jpg

get_stylesheet_directory_uri() . \'/images/your-image.jpg
我希望这有帮助。

结束