使用查询监视器插件-我遇到了这个错误Undefined property: WP_Post_Type::$ID 对于此功能:
public function add_form_modal() {
$button_group = get_post_meta( get_queried_object()->ID, \'button_group\', true );
if ( empty( $button_group ) || ! is_array( $button_group ) ) {
return \'\';
}
if ( \'form\' !== $button_group[\'button_type\'] ) {
return \'\';
}
$form_id = $button_group[\'button_link\'];
?>
<div class="lsx-modal modal fade" id="cf-modal-<?php echo esc_attr( $form_id ); ?>" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<button type="button" class="close" data-dismiss="modal">×</button>
<div class="modal-header">
<h4 class="modal-title"><?php echo esc_html( $button_group[\'button_text\'] ); ?></h4>
</div>
<div class="modal-body">
<?php echo do_shortcode( \'[caldera_form id="\' . $form_id . \'"]\' ); ?>
</div>
</div>
</div>
</div>
<?php
}
如果有人能引导我了解这个问题的原因,以便我能够理解并解决它,我将不胜感激:)
最合适的回答,由SO网友:CodeMascot 整理而成
尝试更改get_queried_object()->ID
到get_queried_object_id()
.
所有get-queried对象可能没有属性名称$ID
. 所以这个get_queried_object_id
给出$queried_object_id
属性值,在实例化时设置WP_Query
班如果$queried_object_id
如果没有设置,那么它会给你0
.