@Nohaga

Как передать параметр в add_shortcode?

Не пойму как передать параметр в функцию true_url_external в
add_shortcode( 'trueurl', 'true_url_external' );

Ведь тут указывается только название функции, а мне нужно передать внешние параметры туда.

не мне нужно передать внешний параметр из другой функции
while ($row = mysqli_fetch_row($result)) {
        $pricearray = json_decode($row[17], true);
		$price = $pricearray['custprice'];
		add_shortcode('insert_room_price_'.$row[0],  'funcshort');
    }

$price нужно передать
  • Вопрос задан
  • 150 просмотров
Решения вопроса 1
Immortal_pony
@Immortal_pony
Ведь тут указывается только название функции, а мне нужно передать внешние параметры туда.

Тут можно указывать не только название функции, но передавать любой callable.
Например, сюда вы можете поместить анонимную функцию, которая соберет необходимые параметры и вызовет вашу именованную:
while ($row = mysqli_fetch_row($result)) {
    $pricearray = json_decode($row[17], true);
    $price = $pricearray['custprice'];
    add_shortcode('insert_room_price_'.$row[0], function() use ($price) { 
        return funcshort($price);
    });
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
add_shortcode( 'name', 'func' );
function func( $atts ){
	$params = shortcode_atts( array(
		'param1' => null,
		'param2' => null
	), $atts );

	return 1;
}

// передаем параметры
[name param1=1 param2=2]
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы