Hello @klevur and Freek,
“Accessing directly product data is not allowed, e.g. $product->id. Correct method going forward is $product->get_id().”
It seems in one of the woocommerce templates that are part of x theme called single-product-reviews.php.
You might have this error in one of the files in your child theme because in the latest version of X/Pro theme, this is the contents of single-product-reviews.php
<?php
// =============================================================================
// WOOCOMMERCE/SINGLE-PRODUCT-REVIEWS.PHP
// -----------------------------------------------------------------------------
// @version 3.5.0
// =============================================================================
GLOBAL $product;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
if ( ! comments_open() ) {
return;
}
$stack = x_get_stack();
$stack_comment = 'x_' . $stack . '_comment';
if ( $stack == 'ethos' ) {
$placeholder_name = ' placeholder="' . __( 'Your Name *', 'woocommerce' ) . '"';
$placeholder_email = ' placeholder="' . __( 'Your Email *', 'woocommerce' ) . '"';
$placeholder_comment = ' placeholder="' . __( 'Your Comment *', 'woocommerce' ) . '"';
} else {
$placeholder_name = '';
$placeholder_email = '';
$placeholder_comment = '';
}
?>
<div id="reviews">
<div id="comments" class="x-comments-area">
<h2>
<?php
if ( get_option( 'woocommerce_enable_review_rating' ) === 'yes' && ( $count = $product->get_rating_count() ) ) {
printf( _n( '%s review for %s', '%s reviews for %s', $count, 'woocommerce' ), $count, get_the_title() );
} else {
_e( 'Reviews', 'woocommerce' );
}
?>
</h2>
<?php if ( have_comments() ) : ?>
<ol class="x-comments-list">
<?php wp_list_comments( apply_filters( 'woocommerce_product_review_list_args', array( 'callback' => $stack_comment ) ) ); ?>
</ol>
<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : ?>
<nav class="x-pagination">
<?php
paginate_comments_links( apply_filters( 'woocommerce_comment_pagination_args', array(
'prev_text' => '←',
'next_text' => '→',
'type' => 'list',
) ) );
?>
</nav>
<?php endif; ?>
<?php else : ?>
<p class="woocommerce-noreviews"><?php _e( 'There are no reviews yet.', 'woocommerce' ); ?></p>
<?php endif; ?>
</div>
<?php if ( get_option( 'woocommerce_review_rating_verification_required' ) === 'no' || wc_customer_bought_product( '', get_current_user_id(), $product->id ) ) : ?>
<div id="review_form_wrapper">
<div id="review_form">
<?php
$commenter = wp_get_current_commenter();
$comment_form = array(
'title_reply' => have_comments() ? __( '<span>Add a Review</span>', 'woocommerce' ) : __( 'Be the First to Review', 'woocommerce' ) . ' “' . get_the_title() . '”',
'title_reply_to' => __( 'Leave a Reply to %s', 'woocommerce' ),
'comment_notes_before' => '',
'comment_notes_after' => '',
'fields' => array(
'author' => '<p class="comment-form-author">'
. '<label for="author">' . __( 'Name', 'woocommerce' ) . ' <span class="required">*</span></label>'
. '<input id="author" name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $placeholder_name . ' /></p>',
'email' => '<p class="comment-form-email">'
. '<label for="email">' . __( 'Email', 'woocommerce' ) . ' <span class="required">*</span></label>'
. '<input id="email" name="email" type="text" value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="30"' . $placeholder_email . ' /></p>',
),
'label_submit' => __( 'Submit Review', 'woocommerce' ),
'logged_in_as' => '',
'comment_field' => ''
);
if ( get_option( 'woocommerce_enable_review_rating' ) === 'yes' ) {
$comment_form['comment_field'] = '<select name="rating" id="rating">
<option value="">' . __( 'Rate…', 'woocommerce' ) . '</option>
<option value="5">' . __( 'Perfect', 'woocommerce' ) . '</option>
<option value="4">' . __( 'Good', 'woocommerce' ) . '</option>
<option value="3">' . __( 'Average', 'woocommerce' ) . '</option>
<option value="2">' . __( 'Not that bad', 'woocommerce' ) . '</option>
<option value="1">' . __( 'Very Poor', 'woocommerce' ) . '</option>
</select>';
}
$comment_form['comment_field'] .= '<p class="comment-form-comment">'
// . '<label for="comment">' . __( 'Your Review', 'woocommerce' ) . '</label>'
. '<textarea id="comment" name="comment" cols="45" rows="8"' . $placeholder_comment . '></textarea></p>';
comment_form( apply_filters( 'woocommerce_product_review_comment_form_args', $comment_form ) );
?>
</div>
</div>
<?php else : ?>
<p class="woocommerce-verification-required"><?php _e( 'Only logged in customers who have purchased this product may leave a review.', 'woocommerce' ); ?></p>
<?php endif; ?>
<div class="clear"></div>
</div>
Make sure that you are using the updated version of the file. And if nothing is working, please provide us your login details in a secure note so we can investigate. To know how to create a secure note, please check this out: https://theme.co/apex/forum/t/how-to-get-support/288
Regards.