Вызов нескольких переменных, интегрированных с HTML, в массивах PHPPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Вызов нескольких переменных, интегрированных с HTML, в массивах PHP

Сообщение Гость »


У меня есть вопрос вслед за моим предыдущим вопросом: проблема с случайным отображением функции шорткода WordPress

Как я уже спрашивал в предыдущем вопросе, я хочу предотвратить отображение дублированного короткого кода на моей странице с контентом (например, я могу использовать этот короткий код 5 раз в одной статье и Я не хочу дублировать контент в эти 5 раз) И коды в моем предыдущем вопросе были правильными, но теперь я хочу интегрировать значения продуктов в свой предыдущий код, и я написал следующий код: но это неправильно и я получаю сообщение об ошибке! (Я использую эти короткие коды в сообщениях WordPress)

function my_shortcode() { $args = массив( 'предел' => -1, 'статус' => 'опубликовать', 'return' => 'id', ); $all_products = wc_get_products($args); $rnkeys = array_rand($all_products); $products_id = $all_products[$rnkeys]; $product = wc_get_product($products_id); $цена = $продукт->get_price(); $image = $product->get_image(); $title = $product->get_title(); $link = $product->get_permalink(); $значения = [ '1' => '
Изображение
', '3' => '
Изображение
', '4' => '
Изображение
', '5' => '
Изображение
', '6' => '
Изображение
', */ ]; if ( ! isset( $GLOBALS['my_shortcode_used'] )) { $GLOBALS['my_shortcode_used'] = []; } $post_id = get_the_ID(); if ( ! isset( $GLOBALS['my_shortcode_used'][ $post_id ] ) || ! is_array( $GLOBALS['my_shortcode_used'][ $post_id ] ) ) { $GLOBALS['my_shortcode_used'][ $post_id ] = []; } $unused_values ​​= array_diff($values, $GLOBALS['my_shortcode_used'][$post_id]); если (пусто ($ unused_values)) { $GLOBALS['my_shortcode_used'][ $post_id ] = []; $unused_values ​​= $values; } $key = array_rand($unused_values); $GLOBALS['my_shortcode_used'][ $post_id ][] = $unused_values[ $key ]; вернуть $unused_values[$key]; } add_shortcode('спортсмен', 'my_shortcode'); .

Есть ли решение, которое не требует от меня повторения массивов внутри $values несколько раз?!

Проблема приведенных выше кодов заключается в том, что все массивы переменных $values ​​возвращают произведение, и я думаю, что лучше вызывать следующие коды в отдельной функции:

$args = массив( 'предел' => -1, 'статус' => 'опубликовать', 'return' => 'id', ); $all_products = wc_get_products($args); $rnkeys = array_rand($all_products); $products_id = $all_products[$rnkeys]; $product = wc_get_product($products_id); $цена = $продукт->get_price(); $image = $product->get_image(); $title = $product->get_title(); $link = $product->get_permalink(); Я сделал то же самое, но проблема в том, что я не знаю, как встроить объединенные переменные HTML в массивы.

.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»