我正在尝试使特定页面在页眉中使用不同的徽标。我从Avada主题复制了logo.php文件到我的子主题文件夹(Avada-Child-Theme / templates / logo.php)。
我补充说:
if (is_page(array (194, 248)))
{
$standard_logo = 'http://nac.flywheelsites.com/wp-content/uploads/2018/05/broadway-binghamton-logo.png';
}if (is_page(array (194, 248)))
{
$retina_logo = 'http://nac.flywheelsites.com/wp-content/uploads/2018/05/broadway-binghamton-logo.png';
}
这是完整的新logo.php文件:
<
?php
/**
* Logo template.
*
* @authorThemeFusion
* @copyright(c) Copyright by ThemeFusion
* @linkhttp://theme-fusion.com
* @packageAvada
* @subpackage Core
*/// Do not allow directly accessing this file.
if ( ! defined( 'ABSPATH' ) ) {
exit( 'Direct script access denied.' );
}
$logo_opening_markup = '<
div class="';
$logo_closing_markup = '<
/div>
';
if ( 'v7' === Avada()->
settings->
get( 'header_layout' ) &
&
! Avada()->
settings->
get( 'logo_background' ) ) {
$logo_opening_markup = '<
li class="fusion-middle-logo-menu-logo ';
$logo_closing_markup = '<
/li>
';
} elseif ( 'v7' === Avada()->
settings->
get( 'header_layout' ) &
&
Avada()->
settings->
get( 'logo_background' ) &
&
'Top' === Avada()->
settings->
get( 'header_position' ) ) {
$logo_opening_markup = '<
li class="fusion-logo-background fusion-middle-logo-menu-logo">
<
div class="';
$logo_closing_markup = '<
/div>
<
/li>
';
} elseif ( Avada()->
settings->
get( 'logo_background' ) &
&
'v4' !== Avada()->
settings->
get( 'header_layout' ) &
&
'v5' !== Avada()->
settings->
get( 'header_layout' ) &
&
'Top' === Avada()->
settings->
get( 'header_position' ) ) {
$logo_opening_markup = '<
div class="fusion-logo-background">
<
div class="';
$logo_closing_markup = '<
/div>
<
/div>
';
}
?>
<
?php if ( '' !== Avada()->
settings->
get( 'logo', 'url' ) || '' !== Avada()->
settings->
get( 'logo_retina', 'url' ) ) : ?>
<
?php echo $logo_opening_markup;
// WPCS: XSS ok. ?>
fusion-logo" data-margin-top="<
?php echo esc_attr( Avada()->
settings->
get( 'logo_margin', 'top' ) );
?>
" data-margin-bottom="<
?php echo esc_attr( Avada()->
settings->
get( 'logo_margin', 'bottom' ) );
?>
" data-margin-left="<
?php echo esc_attr( Avada()->
settings->
get( 'logo_margin', 'left' ) );
?>
" data-margin-right="<
?php echo esc_attr( Avada()->
settings->
get( 'logo_margin', 'right' ) );
?>
">
<
?php else : ?>
<
?php echo $logo_opening_markup;
// WPCS: XSS ok. ?>
fusion-logo" data-margin-top="0px" data-margin-bottom="0px" data-margin-left="0px" data-margin-right="0px">
<
?php endif;
?>
<
?php
/**
* The avada_logo_prepend hook.
*/
do_action( 'avada_logo_prepend' );
$logo_anchor_tag_attributes = '';
$logo_anchor_tag_attributes_array = apply_filters( 'avada_logo_anchor_tag_attributes', array(
'class' =>
'fusion-logo-link', 'href'=>
( $custom_link = Avada()->
settings->
get( 'logo_custom_link' ) ) ? esc_url( $custom_link ) : esc_url( home_url( '/' ) ), )
);
foreach ( $logo_anchor_tag_attributes_array as $attribute =>
$value ) {
if ( 'href' === $attribute ) {
$value = http://www.srcmini.com/esc_url( $value );
} else {
$value = esc_attr( $value );
}$logo_anchor_tag_attributes .=' ' . $attribute . '="' . $value . '" ';
}if (is_page(array (194, 248)))
{
$standard_logo = 'http://nac.flywheelsites.com/wp-content/uploads/2018/05/broadway-binghamton-logo.png';
}if (is_page(array (194, 248)))
{
$retina_logo = 'http://nac.flywheelsites.com/wp-content/uploads/2018/05/broadway-binghamton-logo.png';
}$logo_alt_attribute = apply_filters( 'avada_logo_alt_tag', get_bloginfo( 'name', 'display' ) . ' ' . __( 'Logo', 'Avada' ) );
?>
<
?php if ( ( Avada()->
settings->
get( 'logo', 'url' ) &
&
'' !== Avada()->
settings->
get( 'logo', 'url' ) ) || ( Avada()->
settings->
get( 'logo_retina', 'url' ) &
&
'' !== Avada()->
settings->
get( 'logo_retina', 'url' ) ) ) : ?>
<
a<
?php echo $logo_anchor_tag_attributes;
// WPCS: XSS ok. ?>
>
<
?php $standard_logo = Avada()->
images->
get_logo_image_srcset( 'logo', 'logo_retina' );
?>
<
!-- standard logo -->
<
img src="http://www.srcmini.com/<
?php echo esc_url_raw( $standard_logo['url'] );
?>
" srcset="<
?php echo esc_attr( $standard_logo['srcset'] );
?>
" width="<
?php echo esc_attr( $standard_logo['width'] );
?>
" height="<
?php echo esc_attr( $standard_logo['height'] );
?>
"<
?php echo $standard_logo['style'];
// WPCS: XSS ok. ?>
alt="<
?php echo esc_attr( $logo_alt_attribute );
?>
" retina_logo_url="<
?php echo esc_url_raw( $standard_logo['is_retina'] );
?>
" class="fusion-standard-logo" />
<
?php
if ( Avada()->
settings->
get( 'mobile_logo', 'url' ) &
&
'' !== Avada()->
settings->
get( 'mobile_logo', 'url' ) ) {
$mobile_logo = Avada()->
images->
get_logo_image_srcset( 'mobile_logo', 'mobile_logo_retina' );
?>
<
!-- mobile logo -->
<
img src="http://www.srcmini.com/<
?php echo esc_url_raw( $mobile_logo['url'] );
?>
" srcset="<
?php echo esc_attr( $mobile_logo['srcset'] );
?>
" width="<
?php echo esc_attr( $mobile_logo['width'] );
?>
" height="<
?php echo esc_attr( $mobile_logo['height'] );
?>
"<
?php echo $mobile_logo['style'];
// WPCS: XSS ok. ?>
alt="<
?php echo esc_attr( $logo_alt_attribute );
?>
" retina_logo_url="<
?php echo esc_url_raw( $mobile_logo['is_retina'] );
?>
" class="fusion-mobile-logo" />
<
?php } ?>
<
?php
if ( Avada()->
settings->
get( 'sticky_header_logo', 'url' ) &
&
'' !== Avada()->
settings->
get( 'sticky_header_logo', 'url' ) &
&
( in_array( Avada()->
settings->
get( 'header_layout' ), array( 'v1', 'v2', 'v3', 'v6', 'v7' ) ) || ( ( in_array( Avada()->
settings->
get( 'header_layout' ), array( 'v4', 'v5' ) ) &
&
'menu_and_logo' === Avada()->
settings->
get( 'header_sticky_type2_layout' ) ) ) ) ) {
$sticky_logo = Avada()->
images->
get_logo_image_srcset( 'sticky_header_logo', 'sticky_header_logo_retina' );
?>
<
!-- sticky header logo -->
<
img src="http://www.srcmini.com/<
?php echo esc_url_raw( $sticky_logo['url'] );
?>
" srcset="<
?php echo esc_attr( $sticky_logo['srcset'] );
?>
" width="<
?php echo esc_attr( $sticky_logo['width'] );
?>
" height="<
?php echo esc_attr( $sticky_logo['height'] );
?>
"<
?php echo $sticky_logo['style'];
// WPCS: XSS ok. ?>
alt="<
?php echo esc_attr( $logo_alt_attribute );
?>
" retina_logo_url="<
?php echo esc_url_raw( $sticky_logo['is_retina'] );
?>
" class="fusion-sticky-logo" />
<
?php } ?>
<
/a>
<
?php endif;
?>
<
?php
/**
* The avada_logo_append hook.
*
* @hooked avada_header_content_3 - 10.
*/
do_action( 'avada_logo_append' );
?>
<
?php
echo $logo_closing_markup;
// WPCS: XSS ok./* Omit closing PHP tag to avoid "Headers already sent" issues. */
我试过了:
$standard_logo[‘url’] = ‘/wp-content/uploads/2018/05/broadway-binghamton-logo.png’;
也一样当前文件仅适用于指定的页面, 但是我在这些页面的顶部看到此错误:
警告:第73行的/www/wp-content/themes/Avada-Child-Theme/templates/logo.php中的字符串偏移量’ url’ 不合法
我不知道如何使它工作。网站是http://nac.flywheelsites.com/, 要查看, 联合国:flywheel PW:ideakraft
在主导航栏中的” 城市” 下, 我正在尝试更改宾厄姆顿的徽标。
图片网址正确。
我会将其放置在PHP文件中的错误位置吗?我尝试了几个不同的地方。请指教。非常感谢。
#1不要将其设置为字符串-你在数组的正确位置上。
我认为你必须同时设置” url” 和” srcset” :
// fetch logo normally
$standard_logo = Avada()->
images->
get_logo_image_srcset( 'logo', 'logo_retina' );
// see what that logo structure is like so you know what to override
// echo "<
pre>
";
print_r($standard_logo);
echo "<
/pre>
";
// if on these pages, override the srcset and url
if (is_page(array (194, 248)))
{
$standard_logo['srcset'] = 'http://nac.flywheelsites.com/wp-content/uploads/2018/05/broadway-binghamton-logo.png';
$standard_logo['url'] = $standard_logo['srcset'];
$retina_logo['srcset'] = 'http://nac.flywheelsites.com/wp-content/uploads/2018/05/broadway-binghamton-logo.png';
$retina_logo['url'] = $retinal_logo['srcset'];
}
否则, 我不会立即看到任何问题。 。 。确保阵列中的ID是正确的。并确保在使用Avada函数正常提取徽标后放置IF条件, 否则Avada函数将覆盖新变量。
#2答案是将每种徽标类型(标准, 移动等)的自定义徽标放置在图像源esc_url_raw()函数上方。
<
?php $standard_logo = Avada()->
images->
get_logo_image_srcset( 'logo', 'logo_retina' );
?>
<
!-- custom standard logos -->
<
?php
//Binghamton
if (is_page( 194 ))
{
$standard_logo['srcset'] = 'http://nac.flywheelsites.com/wp-content/uploads/2018/05/broadway-binghamton-logo.png';
$standard_logo['url'] = $standard_logo['srcset'];
$retina_logo['srcset'] = 'http://nac.flywheelsites.com/wp-content/uploads/2018/05/broadway-binghamton-logo-retina.png';
$retina_logo['url'] = $standard_logo['srcset'];
}
//Erie
if (is_page( 248 ))
{
$standard_logo['srcset'] = 'http://nac.flywheelsites.com/wp-content/uploads/2018/05/broadway-erie-logo.png';
$standard_logo['url'] = $standard_logo['srcset'];
$retina_logo['srcset'] = 'http://nac.flywheelsites.com/wp-content/uploads/2018/05/broadway-erie-logo.png';
$retina_logo['url'] = $standard_logo['srcset'];
}
//Scranton
if (is_page( 250 ))
{
$standard_logo['srcset'] = 'http://nac.flywheelsites.com/wp-content/uploads/2018/05/broadway-scranton-logo.png';
$standard_logo['url'] = $standard_logo['srcset'];
$retina_logo['srcset'] = 'http://nac.flywheelsites.com/wp-content/uploads/2018/05/broadway-scranton-logo.png';
$retina_logo['url'] = $standard_logo['srcset'];
}
?>
<
!-- standard logo -->
<
img src="http://www.srcmini.com/<
?php echo esc_url_raw( $standard_logo['url'] );
?>
" srcset="<
?php echo esc_attr( $standard_logo['srcset'] );
?>
" width="<
?php echo esc_attr( $standard_logo['width'] );
?>
" height="<
?php echo esc_attr( $standard_logo['height'] );
?>
"<
?php echo $standard_logo['style'];
// WPCS: XSS ok. ?>
alt="<
?php echo esc_attr( $logo_alt_attribute );
?>
" retina_logo_url="<
?php echo esc_url_raw( $standard_logo['is_retina'] );
?>
" class="fusion-standard-logo" />
【通过编辑Avada子主题logo.php在WordPress网站上切换特定页面的logo】页面条件运行良好, 通过回显进行了测试。刚需要在打印徽标图像之前执行自定义代码。
推荐阅读
- 实时切换WordPress主题而不会丢失功能
- #yyds干货盘点#--快速上手redis-sentinel(哨兵)
- #yyds干货盘点#linux命令--Hostname 显示主机名
- #yyds干货盘点#文件初始化脚本
- 性能分析之子锁存器(latch)到SQL
- docker如何迁移数据目录
- 第十四周
- k8s实战课程笔记
- NFS共享服务