Попытка создать шорткод сетки / столбца
Я ходил туда-сюда, делал много проб и ошибок. То, что я хочу вывести, это шорткоды сетки / столбца.
Например, [grid_4]Lorem Ipsum[/grid4]
до сих пор это то, что я придумал
/*Grid Shortcode*/
function grid_one($content = null) {
return '<div class="one columns">'.$content.'</div>';
}
add_shortcode('column_one', 'grid_one' );
при попытке применить открывающий и закрывающий шорткод. Мой текст, кажется, исчезает. Я использую каркасный каркас, и мой CSS для этой таблицы стилей находится в этой папке, которая называется "CSS".
CSS / Skeleton.css
Когда я пытался создать шорткод clearfix. Кажется, что он работает нормально без проблем и очищает всплывающие элементы. Вот код
//Clear Shortcode
function clear_fix($content = null) {
return '<div class="clearfix"></div>';
}
add_shortcode ('clear', 'clear_fix');
и мой style.css находится в корне, а не внутри папки
1 ответ
Извините, я немного озадачен вашим примером, когда вы используете [grid_4] в качестве шорткода, но функция в вашем примере будет использовать [column_one] в качестве шорткода. Если я правильно понимаю, у вас также будет другой шорткод для каждой ширины столбца? Вы можете объединить их в один короткий код, если хотите. Например:
// column (grid) shortcode
function my_col($params,$content=null){
extract(shortcode_atts(array(
'no' => ''
), $params));
return '<div class="col grid_'.$no.'">'.do_shortcode($content).'</div>';
}
add_shortcode("col", "my_col");
Итак, если бы у вас была сетка из 12 столбцов, это можно было бы использовать так:
[col no="6"] This is the first column [/col]
[col no="6"] This is the second column [/col]
Вы также можете обернуть это в контейнер строк для очистки следующим образом:
[row]
[col no="6"] This is the first column [/col]
[col no="6"] This is the second column [/col]
[/row]
Шорткод для строки будет:
// row shortcode
function my_row($atts, $content = null){
return '<div class="row">'.do_shortcode($content).'</div>';
}
add_shortcode("row", "my_row");
Наконец, я обнаружил, что у WordPress много проблем с автоматическим добавлением тегов параграфа и разрыва, поэтому я добавляю следующее в functions.php
// Help clean up automatic paragraph tags
remove_filter( 'the_content', 'wpautop' );
add_filter( 'the_content', 'wpautop' , 12);