Wordpress已检查="已检查"句法

时间:2017-05-17 03:59:06

标签: php wordpress syntax checked

只有几周的时间,我为自己建立了一个简单的插件,在菜单中显示社交分享按钮。提到Building Your Own Social Sharing Plugin for WordPress

然后,插件成功创建。但我有一个语法问题为什么如果我在程序中添加了以下语法,检查="检查"将展示两次。

UIScrollView

之后,我找到了另一个代码来防止这种情况发生。

NSRangeException

Function Reference/checked displaying checked='checked'

echo "<input type='checkbox' name='social-share' value='1' " . checked(1, get_option('social-share'), true) ." /> "; 

我想知道是否有人可以告诉我为什么使用HTML格式显示?> <input type="checkbox" name="social-share" value="1" <?php checked(1, get_option('social-share'), true); ?> /> Check for Yes <?php 语法不会显示两次?

2 个答案:

答案 0 :(得分:0)

您看到了意外的结果,因为您正在回显已经生成输出的函数。

checked()的第三个论点是&#39; echo&#39;它确定函数是应该输出值还是返回它。您需要该函数在您使用它的上下文中返回一个值。

echo '<input type="checkbox" name="social-share" value="1" ' . checked( 1, get_option( 'social-share' ), false ) . '/>'; 

https://codex.wordpress.org/Function_Reference/checked

您替换它的代码处理事物的方式不同:

<input type="checkbox" name="social-share" value="1" <?php checked(1, get_option('social-share'), true); ?> />

在这里,您不再回显checked()的结果,因此您确实希望它生成输出,因此将第三个参数设置为true是正确的。

答案 1 :(得分:0)

请你试试下面的事情:

<input type="checkbox" name="social-share" value="1" <?php if ( 1 == get_option('social-share') ) echo 'checked="checked"'; ?> >