#php #wordpress #shortcode
#php #wordpress #шорткод
Вопрос:
Я использовал шорткод, подобный этому:
<?php
add_shortcode( 'myproduct', 'myproduct_func' );
function myproduct_func( $atts ) {
extract( shortcode_atts( array(
'cols' => 'none',
'data' => 'none',
), $atts ) );
$cols = explode(',',$cols);
$data = explode(',',$data);
$total = count($cols);
$output = "";
foreach($cols as $col):
$output .= "| {$col} ";
endforeach;
$output .= "<br>";
$counter = 1;
foreach($data as $datum):
$output .= "| {$datum} ";
if($counter%$total==0):
$output .= "<br>";
endif;
$counter ;
endforeach;
return $output;
}
?>
Отображать ли шорткод, когда я пишу код :
echo do_shortcode(‘[myproduct cols=»name,quantity,price» data=»name1,5,2.00,name2,3,3.25″]’);
В index.php он отображает таблицу на моей домашней странице, но:
Тот же код [myproduct cols=»name, quantity,price» data =»name1,5,2.00, name2,3,3.25″] когда я пишу в редакторе панели мониторинга моей домашней страницы, он ничего не показывает на моей домашней странице. Я хочу, чтобы значение cols и data были динамическими, поэтому их следует передавать через панель мониторинга.
Ответ №1:
Вы делаете это в визуальном или текстовом редакторе? Чтобы шорткоды работали, они должны быть в текстовом редакторе в tinymce на правых вкладках.
Также вы должны включить свой myproduct_func в functions.php так что это доступно.