вот так не получается? wp_list_cats(‘child_of=ID_КАТЕГОРИИ&optioncount=1’);
Проблема осложняется тем, что категории нужно вывести не в сайдбаре (или где-то ещё), а заметке. То есть исполняемый код пишу в заметке (где написано как это реализуется могу дать ссылку).
Вот такая запись wp_list_cats(‘child_of=ID_КАТЕГОРИИ&optioncount=1’); работает в сайдбаре, а в заметке выводится только список подкатегорий (без количества постов).
какая заметка? и ссылку тоже давайте
Вот здесь эта статья. Это можно и через плагины inline-PHP или Exex-PHP сделать, но результат такой же — список подкатегорий есть, а количества записей нет.
а зачем вам в запись вставлять этот код, в шаблон ставте
Категорий очень много, сайдбар пухнет. В шаблон вывел основные категории, хотел сделать ссылки на дочерние категории, а их на отдельной странице.
ну не в сайтбар, выводите после записи сразу в контенте
Не, не мой вариант.
В общем-то проблема лишь в том, что функция wp_list_cats() в заметке принимает только первый параметр. Параметр после знака & почему-то игнорируется.
Модератор
Юрій
(@yube)
Код вставляете в визуальном режиме или в html?
И в визуальном и в html — результат один.
Я думаю копать надо именно в функции, которая позволяет исполняемый код в заметку вставлять.
В functions.php я добавлял следующее:`function exec_php($matches){
eval(‘ob_start();’.$matches[1].’$inline_execute_output = ob_get_contents();ob_end_clean();’);
return $inline_execute_output;
}
function inline_php($content){
$content = preg_replace_callback(‘/\[exec\]((.|\n)*?)\[\/exec\]/’, ‘exec_php’, $content);
$content = preg_replace(‘/\[exec off\]((.|\n)*?)\[\/exec\]/’, ‘$1’, $content);
return $content;
}
add_filter(‘the_content’, ‘inline_php’, 0); `
Где-то есть условие которое второй параметр не пропускает.
Модератор
Юрій
(@yube)
Подозреваю, что &
превращается в &аmp;
. Посмотрите, что попадает в колбэк функцию.
Предложу такой вариант для выполнения php в постах и страницах:
добавить в functions.php активной Темы
add_filter('the_content','execute_php',100);
function execute_php($html){
if(strpos($html,"<"."?php")!==false){
ob_start();
eval("?".">".$html);
$html=ob_get_contents();
ob_end_clean();
}
return $html;
}
В HTML вставляете <?php ваш код ?>
он выполняется..
Юрий, подскажите подскажите, пожалуйста, как можно посмотреть?
Модератор
Юрій
(@yube)
function exec_php($matches){
print "\n========\n$matches[1]\n==========\n"; // эта строка выведет
eval('ob_start();'.$matches[1].'$inline_execute_output = ob_get_contents();ob_end_clean();');
return $inline_execute_output;
}
Выведет где попало и как попало, но посмотреть будет можно. Смотреть лучше в коде страницы.
wp_list_cats()
устаревшая функция, почему не wp_list_categories()
?
Вот плагинчик есть, если что, для вывода разных WP функций через шорткоды.
http://wordpress.org/extend/plugins/template-tag-shortcodes/faq/