只有几周的时间,我为自己建立了一个简单的插件,在菜单中显示社交分享按钮。提到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
语法不会显示两次?
答案 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"'; ?> >