2013-06-26 2 views
0

Я собираюсь туда и обратно, делая много проб и ошибок. То, что я хочу вывести, - это короткие или короткие коды.Попытка создания короткого кода сетки/столбца

Например [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 находится в корневом каталоге, а не в папке

ответ

0

К сожалению, я немного confussed на вашем примере, как вы используете [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); 
+0

Да я также планирую создать различные столбцы ширины шорткода. Прямо сейчас я сначала делаю тест. Я постараюсь понять ваше решение. На данный момент PHP не является моей сильной стороной. Кстати, что означает «$ no»? – clestcruz

+0

$ no - значение no = "6" из короткого кода. Таким образом, в основном пользователь устанавливает no = "whatever", тогда функция столбца дает этому столбцу класс grid_whatever. Реальный пример: [col no = "3"] content [/ col] будет выводить

content
David

+0

Хммм я попытался отредактировать ваш код, который вы предоставили, и вместо этого вставил число, в которое я попытался вставить

'.do_shortcode($content).'
'; и это не сработает. Нужно ли использовать этот wp_register_styles в моей функции.php? Я использую структуру скелета, следовательно, слово или класс «одни столбцы», «два столбца» – clestcruz