未定义的属性:WP_Post_Type::$ID

时间:2018-04-25 作者:Demonix

使用查询监视器插件-我遇到了这个错误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">&times;</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
}
如果有人能引导我了解这个问题的原因,以便我能够理解并解决它,我将不胜感激:)

1 个回复
最合适的回答,由SO网友:CodeMascot 整理而成

尝试更改get_queried_object()->IDget_queried_object_id().

所有get-queried对象可能没有属性名称$ID. 所以这个get_queried_object_id 给出$queried_object_id 属性值,在实例化时设置WP_Query 班如果$queried_object_id 如果没有设置,那么它会给你0.

结束