Как добавить новый столбец с контентом в таблицу отзывов о продуктах WooCommerce?

Я хочу показать новую колонку в обзорах продуктов WooCommerce. Я попытался использовать приведенный ниже код для отображения нового столбца, но этот код не работает. Как я могу это сделать?

add_filter( 'woocommerce_product_reviews_table_columns', 'my_custom_reviews_column', 9999 );
function my_custom_reviews_column( $my_column ){
    $new_column = array(
        'custom' => 'Custom',
    );
    $my_column = array_slice( $my_column, 0, 3, true ) + $new_column + array_slice( $my_column, 3, NULL, true );
   return $my_column;
}
 
add_action( 'woocommerce_product_reviews_table_column_', 'my_custom_column_content', 10, 2 );
function my_custom_column_content( $column, $product_id ){
    if ( $column == 'custom' ) {
      echo 'test';
    }
}

Я думаю, проблема в «woocommerce_product_reviews_table_column_».

Код, который я написал, отображает только новый заголовок столбца.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
57
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

woocommerce_product_reviews_table_column_ недопустимый хук, вам нужно присоединиться к $column_name в этом хуке в конце.

В примере имя вашего столбца custom, поэтому имя хука будет woocommerce_product_reviews_table_column_custom, и вам не нужно if ( $column == 'custom' ) внутри функции.

Вы получите $item параметр в действии для использования, который является объектом обзора/ответа. и если вам нужно получить идентификатор продукта с помощью этого объекта, вам придется использовать $item->comment_post_ID для этого.

Вот ваш окончательный код:

add_action( 'woocommerce_product_reviews_table_column_custom', 'my_custom_column_content' );
function my_custom_column_content( $item ){
    $product_id = $item->comment_post_ID;
    
    echo 'Product ID:' . $product_id;
}

Другие вопросы по теме