Раздет HTML в мета продукта - PullRequest
0 голосов
/ 02 апреля 2020

Я сделал функцию для магазина Woo для отображения пользовательских таксономий. И каким-то образом мой состав для каждого пролета уничтожен. Вот код:

add_action( 'woocommerce_product_meta_start', 'add_my_meta', 1 );
function add_my_meta() {
    $series = the_terms($post->ID, 'series');
    if ($series) {
        $meta_output = '<span style="display:block;">Series: ';
        $meta_array = array();
        foreach ($series as $serie) {
            $meta_array[] = '<a href="' . get_term_link( $serie->slug, 'series') .'">' . $serie->name . '</a>';
        }
        $meta_output .= join( ', ', $meta_array ) . '</span>';
    }
    return $meta_output;
}

Таким образом, ожидаемый результат равен <span style="display:block;">Series: <a href="https://example.com/series/myseries/" rel="tag">My Series</a></span>

Текущий результат равен <a href="https://example.com/series/myseries/" rel="tag">My Series</a>

Пролеты и текст удалены. Никогда раньше не сталкивался с этой проблемой, в чем проблема и как ее решить?

1 Ответ

1 голос
/ 02 апреля 2020

Обнаружено несколько ошибок - необходимо использовать get_the_terms (было the_terms) и $ ser ie -> term_id (было $ ser ie -> slug)

add_action( 'woocommerce_product_meta_start', 'add_my_meta', 1 );
function add_my_meta() {
    $series = get_the_terms($post->ID, 'series');
    if ( is_array($series) ) {
        $meta_array = array();
        foreach ($series as $serie) {
            $meta_array[] = '<a href="' . get_term_link( $serie->term_id, 'series') .'">' . $serie->name . '</a>';
        }
        echo '<span class="tagged_as">Series: ' . implode( ', ', $meta_array ) . '</span>';
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...