我在settingsTemp.php文件中创建了一个复选框,我想在Metabox.php文件中创建一个if条件(无论该复选框是否被选中)。
public function checkerCallback() {
isset($this->options[self::FI_CHECKBOX_FIELD]) ? $isChecked="checked" : $isChecked="";
printf(
'<input id="%s" type="checkbox" name="%s[%s]" %s />',
self::FI_CHECKBOX_FIELD,
self::OPTION_NAME,
self::FI_CHECKBOX_FIELD,
$isChecked
);
}
我尝试了以下两种解决方案,但它使我的metabox几乎消失了(在没有if条件的情况下metabox可以正常工作)。因此,在我如何尝试连接两个文件以及如何命名if条件上肯定有一个错误。你能给我一些建议吗? 谢谢你!
解决方案1:
if (SettingsTemp::checkerCallback()->$isChecked=="checked")
{
echo '<label for="align_name_field">Name</label><br>';
echo '<input type="text" name="align_name_field" value="Education" readonly /><br>';
echo '<label for="align_url_field">Url</label><br>';
echo '<input type="text" name="align_url_field" value="Education" readonly /><br>';
echo '<label for="align_desc_field">Description</label><br>';
echo '<input type="text" name="align_desc_field" value="Education" readonly />';
}
解决方案2:
if (isset(SettingsTemp->options[SettingsTemp::FI_CHECKBOX_FIELD]))
{
echo '<label for="align_name_field">Name</label><br>';
echo '<input type="text" name="align_name_field" value="Education" readonly /><br>';
echo '<label for="align_url_field">Url</label><br>';
echo '<input type="text" name="align_url_field" value="Education" readonly /><br>';
echo '<label for="align_desc_field">Description</label><br>';
echo '<input type="text" name="align_desc_field" value="Education" readonly />';
}