PHP标签内自定义字段的PHP
我正在显示一个从自定义字段获取图像的滑块,现在我需要该滑块根据语言(es-ca)显示不同的图像: 这是滑块的代码:PHP标签内自定义字段的PHP,php,wordpress,plugins,Php,Wordpress,Plugins,我正在显示一个从自定义字段获取图像的滑块,现在我需要该滑块根据语言(es-ca)显示不同的图像: 这是滑块的代码: <a href="<?php the_field('slider_home_1_enlace') ?>"> <img src="<?php the_field('slider_home_1'); ?>"> </a> 因此,我创建了一个条件标记,以根据qtrans
<a href="<?php the_field('slider_home_1_enlace') ?>">
<img src="<?php the_field('slider_home_1'); ?>">
</a>
因此,我创建了一个条件标记,以根据qtranslate插件的语言加载图像:
<?php
_e('<!--:es-->
<a href="<?php the_field('slider_home_1_enlace') ?>">
<img src="<?php <the_field('slider_home_1'); ?>">
</a>
<!--:-->
<!--:ca-->
<a href="<?php the_field('slider_home_1_enlace_ca') ?>">
<img src="<?php the_field('slider_home_1_ca'); ?>">
</a>
<!--:-->');
?>
我是一个php乞丐,所以我看到的问题可能是php在另一个php中,因为这样它就不工作了,如果我只是在标记之间放置文本,它就可以正常工作
您知道如何对其进行语法分析吗?您不能将php标记放在彼此的内部
使用基本字符串连接来组合字符串:不能将php标记放在彼此的内部
使用基本字符串连接来组合字符串:您不能这样使用它。比较:(我猜_字段()返回字符串;))
第二,你的第四行有一个<,你忘了关闭你的img标签。你不能那样使用它。比较:(我猜_字段()返回字符串;))
第二,你的第四行有一个<,你忘了关闭你的img标签。你需要先检查语言,使用if-else 检测语言并将其存储到名为$language的变量中,然后按如下所示检查条件
<?php
if(qtrans_getLanguage()=="es"){
?>
<a href="<?php the_field('slider_home_1_enlace'); ?>">
<img src="<?php the_field('slider_home_1'); ?>">
</a>
<?php
} else if(qtrans_getLanguage()=="ca"){
?>
<a href="<?php the_field('slider_home_1_enlace_ca'); ?>">
<img src="<?php the_field('slider_home_1_ca'); ?>">
</a>
<?php
}
?>
您需要首先使用if-else检查语言 检测语言并将其存储到名为$language的变量中,然后按如下所示检查条件
<?php
if(qtrans_getLanguage()=="es"){
?>
<a href="<?php the_field('slider_home_1_enlace'); ?>">
<img src="<?php the_field('slider_home_1'); ?>">
</a>
<?php
} else if(qtrans_getLanguage()=="ca"){
?>
<a href="<?php the_field('slider_home_1_enlace_ca'); ?>">
<img src="<?php the_field('slider_home_1_ca'); ?>">
</a>
<?php
}
?>
首先,安装qTranslate Wordpress插件 然后,您可以尝试以下方法:
<?php
$slider_img_fields_langs = array(
'',
'ca',
'es',
);
$lang = qtrans_getLanguage();
if( !in_array( $lang, $slider_img_fields_langs ) );
$lang = '';
echo '
<a href="' . the_field( 'slider_home_1_enlace' . $lang ) . '">
<img src="' . the_field( 'slider_home_1' . $lang ) . '">
</a>';
?>
首先,安装qTranslate Wordpress插件 然后,您可以尝试以下方法:
<?php
$slider_img_fields_langs = array(
'',
'ca',
'es',
);
$lang = qtrans_getLanguage();
if( !in_array( $lang, $slider_img_fields_langs ) );
$lang = '';
echo '
<a href="' . the_field( 'slider_home_1_enlace' . $lang ) . '">
<img src="' . the_field( 'slider_home_1' . $lang ) . '">
</a>';
?>
您应该完成每个php标记。在编写新的php标记lik之前,您应该完成每个php标记。在编写新的php标记lik之前,这不会给出错误,但问题是它会显示图像的url,而不是显示图像:S您知道为什么吗?您确定路径正确吗?如果图像不存在,大多数浏览器都会显示路径。注意:我的代码有一个输入错误。再试一次。img标签正确;如果路太窄,我不知道。请检查生成的html!生成的html显示的是“a”和“img”的纯文本,而不是标记。这不会给出错误,但问题是它显示图像的url而不是显示:你知道为什么吗?你确定路径正确吗?如果图像不存在,大多数浏览器都会显示路径。注意:我的代码有一个输入错误。再试一次。img标签正确;如果路太窄,我不知道。请检查生成的html!生成的html显示的是“a”和“img”的纯文本,而不是tags@diego如何检测所选语言?我的意思是,你怎么知道要显示哪种语言?我只是在使用qtranslate,它会检测到语言“我不再使用了如果你正在使用qtranslate,那么请检查像这样的if条件if(qtrans_getLanguage()=='en')
@diego-检查编辑过的答案!!我现在正在编辑!!尝试一下,因为我不是wordpress用户,也没有使用过qtranslate。但还是试试这个。@diego-我的荣幸!!享受!!:)@diego您是如何检测所选语言的?我的意思是,你怎么知道要显示哪种语言?我只是在使用qtranslate,它会检测到语言“我不再使用了如果你正在使用qtranslate,那么请检查像这样的if条件if(qtrans_getLanguage()=='en')
@diego-检查编辑过的答案!!我现在正在编辑!!尝试一下,因为我不是wordpress用户,也没有使用过qtranslate。但还是试试这个。@diego-我的荣幸!!享受!!:)