спробуйте http://bavotasan.com/2009/limiting-the- ... wordpress/
Спробував, не працює.
Від mr.psiho 07-05-2013 20:12:11
Сусід · 160 повідомленьспробуйте http://bavotasan.com/2009/limiting-the- ... wordpress/
Спробував, не працює.
Дивно, що не працює. А ви записали функцію виводу у шаблоні, де треба, наприклад так:
<?php echo excerpt(25); ?>
Чи лише копіювали перші дві функції звідти собі у фанкшинз.пхп?
Сайти на WordPress будь якого рівня складності. Сайти на LiveStreet будь якого рівня складності. А ще ми любимо корів)) Звертайтесь. ;)
Від Termin 08-05-2013 14:11:28
Сусід · 103 повідомленьспробуйте http://bavotasan.com/2009/limiting-the- ... wordpress/
Спробував, не працює.
Дивно, що не працює. А ви записали функцію виводу у шаблоні, де треба, наприклад так:
<?php echo excerpt(25); ?>
Чи лише копіювали перші дві функції звідти собі у фанкшинз.пхп?
Копіював фанкшинз
function excerpt($limit) {
$excerpt = explode(' ', get_the_excerpt(), $limit);
if (count($excerpt)>=$limit) {
array_pop($excerpt);
$excerpt = implode(" ",$excerpt).'...';
} else {
$excerpt = implode(" ",$excerpt);
}
$excerpt = preg_replace('`\[[^\]]*\]`','',$excerpt);
return $excerpt;
}
function content($limit) {
$content = explode(' ', get_the_content(), $limit);
if (count($content)>=$limit) {
array_pop($content);
$content = implode(" ",$content).'...';
} else {
$content = implode(" ",$content);
}
$content = preg_replace('/\[.+\]/','', $content);
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
return $content;
}
в functions.php.
Копіював код:
<?php echo excerpt(25); ?>
[code2=javascript:292h0c8m]<?php if ( is_search() ) : // Only display Excerpts for Search ?>
<div class="entry-summary">
<?php echo excerpt(25); ?>
</div><!-- .entry-summary -->
<?php else : ?>
<div class="entry-content">
<?php the_content( __( 'Continue reading <span class="meta-nav">→</span>', 'twentytwelve' ) ); ?>
<?php wp_link_pages( array( 'before' => '<div class="page-links">' . __( 'Pages:', 'twentytwelve' ), 'after' => '</div>' ) ); ?>
</div><!-- .entry-content -->
<?php endif; ?>[/code2:292h0c8m]
в content.php
Не працює!
Від AzzePis 08-05-2013 15:16:01
Administrator · 1,021 повідомленьв content.php потрібно ось це
[code2=php:2u5s6qzo]<?php the_content( __( 'Continue reading <span class="meta-nav">→</span>', 'twentytwelve' ) ); ?>[/code2:2u5s6qzo]
замінити на це:
[code2=php:2u5s6qzo]<?php echo excerpt(25); ?>[/code2:2u5s6qzo]
або на це:
[code2=php:2u5s6qzo]<?php echo content(25); ?>[/code2:2u5s6qzo]
на мою думку, правильніше на друге
Український хостинг для WordPress | Шаблони та плагіни для WordPress українською
Тут можна купити домен за найкращою ціною
Від Termin 08-05-2013 22:03:22
Сусід · 103 повідомленьЗробив так:
в function.php
[code2=php:1il674s8]function content($limit) {
$content = explode(' ', get_the_content(), $limit);
if (count($content)>=$limit) {
array_pop($content);
$content = implode(" ",$content).'... <a href="'. get_permalink($post->ID) . '">Continue »</a>';
} else {
$content = implode(" ",$content);
}
$content = preg_replace('/\[.+\]/','', $content);
$content = apply_filters('the_content', $content);
$content = str_replace(']]>»', ']]>»', $content);
return $content;
}[/code2:1il674s8]
в content.php
<?php echo content(25); ?>
В css додав рядок font-weight: normal ст.792 тому що текст чомусь став жирний.
[code2=css:1il674s8].entry-content p, .entry-summary p, .comment-content p, .mu_register p {
font-weight: normal;
line-height: 1.71429;
margin: 0 0 1.71429rem;
}[/code2:1il674s8]
Спрацював код 🙂
Але як застосувати кореной код теми twentytwelve
( __( 'Continue reading <span class="meta-nav">→</span>', 'twentytwelve' ) )
в нову функцію?
.....
$content = implode(" ",$content).'... <a href="'. get_permalink($post->ID) . '">Continue »</a>';
....
Від mr.psiho 09-05-2013 09:00:49
Сусід · 160 повідомленьЗмінювати функцію the_content() не надто хороше рішення, нмд. На ній зав'язано багато чого. І якщо її змінити, то щось десь може вилізти "не те".
Сайти на WordPress будь якого рівня складності. Сайти на LiveStreet будь якого рівня складності. А ще ми любимо корів)) Звертайтесь. ;)
Від Termin 09-05-2013 11:21:40
Сусід · 103 повідомленьЗмінювати функцію the_content() не надто хороше рішення, нмд. На ній зав'язано багато чого. І якщо її змінити, то щось десь може вилізти "не те".
Зі святом перемоги!
Різниці немає, в excerpt код теж відрізняється від шаблонного.
$excerpt = implode(" ",$excerpt).'... <a href="'. get_permalink($post->ID) . '">Continue »</a>';
Від AzzePis 09-05-2013 12:52:07
Administrator · 1,021 повідомленьу functions.php додати
[code2=php:336ugtvk]add_filter("the_content", "plugin_myContentFilter");
function plugin_myContentFilter($content)
{
// Take the existing content and return a subset of it
return substr($content, 0, 300);
}[/code2:336ugtvk]
Український хостинг для WordPress | Шаблони та плагіни для WordPress українською
Тут можна купити домен за найкращою ціною
Від mr.psiho 09-05-2013 17:16:16
Сусід · 160 повідомленьу functions.php додати
[code2=php:3p5zrsr2]add_filter("the_content", "plugin_myContentFilter");function plugin_myContentFilter($content)
{
// Take the existing content and return a subset of it
return substr($content, 0, 300);
}[/code2:3p5zrsr2]
Та ні, це принципово інше.
У попередній функції Терміна контент (по суті - рядок) перетворювався у масив з розділенням в пробіл. І та функція ніколи не обріже слово, бо слова не містять пробіли. І там ліміт, наприклад, у "10" означає, що буде показано лише 10 перших слів.
Тут ти пишеш функцію, що тупо обрізає рядок по символах. У твоєму прикладі буде показано перші 300 символів - будь то пробіли, букви чи цифри. Слова можуть і шзв будуть обрізані. І що найгірше, то це те, що функція
substr
не є безпечною по відношенню до кириличних символів. Замість неї треба застосовувати
mb_substr
плюс вказувати кодування.
Сайти на WordPress будь якого рівня складності. Сайти на LiveStreet будь якого рівня складності. А ще ми любимо корів)) Звертайтесь. ;)
Від Termin 09-05-2013 17:33:54
Сусід · 103 повідомленьу functions.php додати
[code2=php:2s8jab0x]add_filter("the_content", "plugin_myContentFilter");function plugin_myContentFilter($content)
{
// Take the existing content and return a subset of it
return substr($content, 0, 300);
}[/code2:2s8jab0x]Та ні, це принципово інше.
У попередній функції Терміна контент (по суті - рядок) перетворювався у масив з розділенням в пробіл. І та функція ніколи не обріже слово, бо слова не містять пробіли. І там ліміт, наприклад, у "10" означає, що буде показано лише 10 перших слів.
Тут ти пишеш функцію, що тупо обрізає рядок по символах. У твоєму прикладі буде показано перші 300 символів - будь то пробіли, букви чи цифри. Слова можуть і шзв будуть обрізані. І що найгірше, то це те, що функціяsubstr
не є безпечною по відношенню до кириличних символів. Замість неї треба застосовувати
mb_substr
плюс вказувати кодування.
Так повертається вже існуючий зміст:
return mb_substr($content, 0, 300);
фільтр я не перевіряв, тому що якщо немає рішення вказати кількість слів, а не символів, тоді втрачається сенс у цьому в загалі, і застосувати кореной код теми twentytwelve .
Від Termin 07-05-2013 18:48:04
Сусід · 103 повідомлень