我是Wordpress的新手,并尝试学习如何使用Shortcodes /创建自己的Shortcodes。
我从Wordpress Shortcode文档中开始使用非常简单的东西
// [bartag foo="foo-value"]
function bartag_func( $atts ) {
$a = shortcode_atts( array(
'foo' => '',
), $atts );
if ($a['foo'] = "red") {
$output = "<span style='color:red;'>foo = {$a['foo']}</span>";
}
elseif ($a['foo'] = "blue") {
$output = "<span style='color:blue;'>foo = {$a['foo']}</span>";
}
else {
$output = "foo = {$a['foo']}";
}
return $output;
}
add_shortcode( 'bartag', 'bartag_func' );
它非常基本的PHP。一个属性(&#34; foo&#34;)。我的目标是有条件地输出不同颜色的文本。 所以,如果我在编辑器中输入[bartag foo =&#34; red&#34;]。文字应该是红色的。与蓝色相同。 出于某种原因,输出总是红色。
我知道这不是模块化的编程,但我还在学习:)
有人知道我的错吗?
最好的问候
答案 0 :(得分:1)
=
!== ===
。您在if
,elseif
等处使用了错误的运算符。使用===
答案 1 :(得分:1)
您正在分配值而不是检查值 - 您必须使用相等运算符:
if ($a['foo'] === "red") {
$output = "<span style='color:red;'>foo = {$a['foo']}</span>";
}
elseif ($a['foo'] === "blue") {
$output = "<span style='color:blue;'>foo = {$a['foo']}</span>";
}
else {
$output = "foo = {$a['foo']}";
}