我是一个WordPress主题开发人员,在我正在研究的主题上,我打开了调试模式,并在主题选项页面的选择下拉框中显示此错误.
错误说明了这一点:"试图获取非对象的属性." 这是违规代码:
<select name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>">
<?php foreach ($value['options'] as $option) { ?>
<option value="<?php echo $option->term_id; ?>" <?php if ( $settings[$id] == $option->term_id) { echo 'selected="selected"'; }?>>
<?php echo $option->name; ?>
</option>
<?php }?> </select>
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚我做错了什么.特别导致错误的行是这样的:
<option value="<?php echo $option->term_id; ?>" <?php if ( $settings[$id] == $option->term_id) { echo 'selected="selected"'; }?>>
Run Code Online (Sandbox Code Playgroud)
谢谢你的建议!:)
你这样做了几次:
$option->someproperty
Run Code Online (Sandbox Code Playgroud)
在至少一种情况下$option不是对象。当你->在一个非对象上做时,你会得到那个错误。
首先,验证它$option实际上是一个对象,如果不是,则更正用法。
如果$option是一个数组,那么@matthewpavkov 是正确的,你应该做$option['someproperty']而不是$option->someproperty.
If$option通常是一个对象,也许get_categories()有时会返回null或false处于失败状态。在访问$option.
像这样:
foreach ($value['options'] as $option)
{
if ($option)
{
// do whatever;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18550 次 |
| 最近记录: |