Если вам нравится SbUP Форум, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....

 

Тег "more" в WordPress

Автор other, 01-05-2012, 01:17:37

« назад - далее »

otherTopic starter

Привет, ребят!
Купил шаблон, а в нём что-то тег "more" не хочет работать.
На главной посты сокращаются до определённого количества символов и стоит кнопка "читать далее", хоть ты ставь "more" хоть не ставь "more".

В файле функций нашёл строку, запрещающую вывод этого тега. Удалил её - результатов н0ль!
Что делать?
  •  


Chiliec

Покажите внутренности index.php и functions.php.


otherTopic starter

Цитата: Chiliec от 01-05-2012, 11:30:56
Покажите внутренности index.php и functions.php.

Вот Индексный файл:

<?php get_header(); ?>
<div id="content" class="grid_9">
  <?php include_once (TEMPLATEPATH '/title.php');?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
      <article id="post-<?php the_ID(); ?>" <?php post_class('post-holder'); ?>>
        <header class="entry-header">
          <h2><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>" rel="bookmark"><?php the_title(); ?></a></h2>
          <?php $post_meta of_get_option('post_meta'); ?>
<?php if ($post_meta=='true' || $post_meta=='') { ?>
<div style="margin-top:14px;"></div><!--.post-meta-->
          <?php ?>
        </header>
        <?php $post_image_size of_get_option('post_image_size'); ?>
<?php if($post_image_size=='' || $post_image_size=='normal'){ ?>
          <?php if(has_post_thumbnail()) {
            echo 
'<figure class="featured-thumbnail"><span class="img-wrap"><a href="'the_permalink(); echo '">';
            echo 
the_post_thumbnail();
            echo 
'</a></span></figure>';
            }
          
?>

        <?php } else { ?>
          <?php if(has_post_thumbnail()) {
            echo 
'<figure class="featured-thumbnail large"><span class="img-wrap clearfix"><span class="f-thumb-wrap"><a href="'the_permalink(); echo '">';
            echo 
the_post_thumbnail('post-thumbnail-xl');
            echo 
'</a></span></span></figure>';
            }
          
?>

        <?php ?>
       
        <div class="post-content">
          <?php $post_excerpt of_get_option('post_excerpt'); ?>
      <?php if ($post_excerpt=='true' || $post_excerpt=='') { ?>
            <div class="excerpt"><?php $content get_the_content(); echo my_string_limit_words($content,28);?></div>
          <?php ?>
          <a href="<?php the_permalink() ?>" class="button"><span class="left"><span class="right"><span class="middle"><?php _e('Далее...''theme1469'); ?></span></span></span></a>
        </div>
      </article>
     
    <?php endwhile; else: ?>
      <div class="no-results">
<?php echo '<p><strong>' __('Ошибка!''theme1469') . '</strong></p>'?>
        <p><?php _e('Приносим свои извинения за предоставленные неудобства.''theme1469'); ?> <a href="<?php bloginfo('url'); ?>/" title="<?php bloginfo('description'); ?>"><?php _e('вернуться на главную страницу''theme1469'); ?></a> <?php _e('или используйте форму ниже.''theme1469'); ?></p>
        <?php get_search_form(); /* outputs the default Wordpress search form */ ?>
      </div><!--no-results-->
    <?php endif; ?>
   
    <?php if(function_exists('wp_pagenavi')) : ?>
<?php wp_pagenavi(); ?>
    <?php else : ?>
      <?php if ( $wp_query->max_num_pages ) : ?>
        <nav class="oldernewer">
          <div class="older">
            <?php next_posts_link__('&laquo; Прошлый пост''theme1469')) ?>
          </div><!--.older-->
          <div class="newer">
            <?php previous_posts_link(__('Следующий пост &raquo;''theme1469')) ?>
          </div><!--.newer-->
        </nav><!--.oldernewer-->
      <?php endif; ?>
    <?php endif; ?>
    <!-- Page navigation -->
    <?php include_once(TEMPLATEPATH '/custom-footer.php'); ?>
</div><!--#content-->
<?php get_footer(); ?>


Вот файл Функций:

<?php

$functions_path TEMPLATEPATH '/functions/';
$includes_path TEMPLATEPATH '/includes/';

//Loading jQuery and Scripts
require_once $includes_path 'theme-scripts.php';

//Widget and Sidebar
require_once $includes_path 'sidebar-init.php';
require_once $includes_path 'register-widgets.php';

//Theme initialization
require_once $includes_path 'theme-init.php';

//Additional function
require_once $includes_path 'theme-function.php';

//Shortcodes
require_once $includes_path 'theme_shortcodes/shortcodes.php';
include_once(TEMPLATEPATH '/includes/theme_shortcodes/alert.php');
include_once(TEMPLATEPATH '/includes/theme_shortcodes/tabs.php');
include_once(TEMPLATEPATH '/includes/theme_shortcodes/toggle.php');
include_once(TEMPLATEPATH '/includes/theme_shortcodes/html.php');

//tinyMCE includes
include_once(TEMPLATEPATH '/includes/theme_shortcodes/tinymce/tinymce_shortcodes.php');


//Loading theme textdomain
load_theme_textdomain'theme1469'TEMPLATEPATH '/languages' );










// removes detailed login error information for security
add_filter('login_errors',create_function('$a'"return null;"));

if ( !function_exists'optionsframework_init' ) ) {


/*-----------------------------------------------------------------------------------*/
/* Options Framework Theme
/*-----------------------------------------------------------------------------------*/

/* Set the file path based on whether the Options Framework Theme is a parent theme or child theme */

if ( STYLESHEETPATH == TEMPLATEPATH ) {
define('OPTIONS_FRAMEWORK_URL'TEMPLATEPATH '/admin/');
define('OPTIONS_FRAMEWORK_DIRECTORY'get_bloginfo('template_directory') . '/admin/');
} else {
define('OPTIONS_FRAMEWORK_URL'STYLESHEETPATH '/admin/');
define('OPTIONS_FRAMEWORK_DIRECTORY'get_bloginfo('stylesheet_directory') . '/admin/');
}

require_once (OPTIONS_FRAMEWORK_URL 'options-framework.php');

}

// Removes Trackbacks from the comment cout
add_filter('get_comments_number''comment_count'0);
function comment_count$count ) {
if ( ! is_admin() ) {
global $id;
$comments_by_type = &separate_comments(get_comments('status=approve&post_id=' $id));
return count($comments_by_type['comment']);
} else {
return $count;
}
}


// Custom excpert length
function new_excerpt_length($length) {
return 60;
}
add_filter('excerpt_length''new_excerpt_length');
  

// enable shortcodes in sidebar
add_filter('widget_text''do_shortcode');




// category id in body and post class
function category_id_class($classes) {
global $post;
foreach((get_the_category($post->ID)) as $category)
$classes [] = 'cat-' $category->cat_ID '-id';
return $classes;
}

add_filter('post_class''category_id_class');
add_filter('body_class''category_id_class');

?>
  •  

Chiliec

#3
Да уж, действительно интересная тема, еще и HTML5 :)

Ну вот собственно код отвечающий за обрезание текста после 28 слов:<?php $content get_the_content(); echo my_string_limit_words($content,28);?>

Попробуйте заменить
        <div class="post-content">
          <?php $post_excerpt of_get_option('post_excerpt'); ?>
      <?php if ($post_excerpt=='true' || $post_excerpt=='') { ?>
            <div class="excerpt"><?php $content get_the_content(); echo my_string_limit_words($content,28);?></div>
          <?php ?>
          <a href="<?php the_permalink() ?>" class="button"><span class="left"><span class="right"><span class="middle"><?php _e('Далее...''theme1469'); ?></span></span></span></a>
        </div>
на что-то вроде этого        <div class="post-content">
            <div class="excerpt"><?php the_excerpt();?></div>
        </div>

otherTopic starter

Цитата: Chiliec от 01-05-2012, 14:05:54
Да уж, действительно интересная тема, еще и HTML5 :)

Ну вот собственно код отвечающий за обрезание текста после 28 слов:<?php $content get_the_content(); echo my_string_limit_words($content,28);?>

Попробуйте заменить
        <div class="post-content">
          <?php $post_excerpt of_get_option('post_excerpt'); ?>
      <?php if ($post_excerpt=='true' || $post_excerpt=='') { ?>
            <div class="excerpt"><?php $content get_the_content(); echo my_string_limit_words($content,28);?></div>
          <?php ?>
          <a href="<?php the_permalink() ?>" class="button"><span class="left"><span class="right"><span class="middle"><?php _e('Далее...''theme1469'); ?></span></span></span></a>
        </div>
на что-то вроде этого        <div class="post-content">
            <div class="excerpt"><?php the_excerpt();?></div>
        </div>


Спасибо! Просто увеличил число 28.
Так, и теперь тут есть загвоздка одна - если сокращать текст тегом море, то ставится ссылка "далее...", а внизу уже есть такая же кнопка. То есть после того, как я ставлю тег море, появлятся ссылка и кнопка на читать далее. Надо эту ссылку убрать, что бы осталась только одна кнопка. Как это сделать?


Но! В категориях (не на главной!) ставится просто три точки и кнопка без ссылки! Вот файл категорий:

<?php get_header(); ?>

<div id="content" class="grid_9">
  <h1><?php printf__'Категория: %s' ), '<span>' single_cat_title''false ) . '</span>' ); ?></h1>
  <?php echo category_description(); /* displays the category's description from the Wordpress admin */ ?>
 
  <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <article id="post-<?php the_ID(); ?>" <?php post_class('post-holder'); ?>>
      <header class="entry-header">
        <h2><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>" rel="bookmark"><?php the_title(); ?></a></h2>
        <?php $post_meta of_get_option('post_meta'); ?>
        <?php if ($post_meta=='true' || $post_meta=='') { ?>
          <div style="margin-top:14px;"></div><!--.post-meta-->
        <?php ?>
      </header>
      <?php if(has_post_thumbnail()) {
echo '<figure class="featured-thumbnail"><span class="img-wrap"><a href="'the_permalink(); echo '">';
echo the_post_thumbnail();
echo '</a></span></figure>';
}
?>

      <div class="post-content">
        <?php $post_excerpt of_get_option('post_excerpt'); ?>
        <?php if ($post_excerpt=='true' || $post_excerpt=='') { ?>
          <div class="excerpt"><?php $excerpt get_the_excerpt(); echo my_string_limit_words($excerpt,1000);?></div>
        <?php ?>
        <a href="<?php the_permalink() ?>" class="button"><span class="left"><span class="right"><span class="middle"><?php _e('нДалее...''theme1469'); ?></span></span></span></a>
      </div>
    </article>
  <?php endwhile; else: ?>
    <div class="no-results">
    <?php echo '<p><strong>' __('Ошибка!''theme1469') . '</strong></p>'?>
      <p><?php _e('Приносим свои извинения за предоставленные неудобства.''theme1469'); ?> <a href="<?php bloginfo('url'); ?>/" title="<?php bloginfo('description'); ?>"><?php _e('вернуться на главную страницу''theme1469'); ?></a> <?php _e('или используйте форму ниже.''theme1469'); ?></p>
      <?php get_search_form(); /* outputs the default Wordpress search form */ ?>
    </div><!--no-results-->
  <?php endif; ?>
   
  <?php if ( $wp_query->max_num_pages ) : ?>
    <nav class="oldernewer">
      <div class="older">
        <?php next_posts_link__('&laquo; Прошлый пост''theme1469')) ?>
      </div><!--.older-->
      <div class="newer">
        <?php previous_posts_link(__('Следующий пост &raquo;''theme1469')) ?>
      </div><!--.newer-->
    </nav><!--.oldernewer-->
  <?php endif; ?>
  <?php include_once(TEMPLATEPATH '/custom-footer.php'); ?>
</div><!--#content-->
<?php get_footer(); ?>
  •  


Chiliec

Цитата: other от 01-05-2012, 14:49:54Просто увеличил число 28.
Так, и теперь... если сокращать текст тегом море...
Тогда не нужно сокращать текст тегом more, раз вы решили оставить данную функцию.

Здесь тоже самое, вот оно:
      <div class="post-content">
        <?php $post_excerpt of_get_option('post_excerpt'); ?>
        <?php if ($post_excerpt=='true' || $post_excerpt=='') { ?>
          <div class="excerpt"><?php $excerpt get_the_excerpt(); echo my_string_limit_words($excerpt,1000);?></div>
        <?php ?>
        <a href="<?php the_permalink() ?>" class="button"><span class="left"><span class="right"><span class="middle"><?php _e('нДалее...''theme1469'); ?></span></span></span></a>
      </div>

otherTopic starter

#6
Цитата: Chiliec от 01-05-2012, 14:05:54
Да уж, действительно интересная тема, еще и HTML5 :)

Ну вот собственно код отвечающий за обрезание текста после 28 слов:<?php $content get_the_content(); echo my_string_limit_words($content,28);?>

Попробуйте заменить
        <div class="post-content">
          <?php $post_excerpt of_get_option('post_excerpt'); ?>
      <?php if ($post_excerpt=='true' || $post_excerpt=='') { ?>
            <div class="excerpt"><?php $content get_the_content(); echo my_string_limit_words($content,28);?></div>
          <?php ?>
          <a href="<?php the_permalink() ?>" class="button"><span class="left"><span class="right"><span class="middle"><?php _e('Далее...''theme1469'); ?></span></span></span></a>
        </div>
на что-то вроде этого        <div class="post-content">
            <div class="excerpt"><?php the_excerpt();?></div>
        </div>


Добавлено: 01-05-2012, 14:55:23

Тогда не нужно сокращать текст тегом more, раз вы решили оставить данную функцию.

Здесь тоже самое, вот оно:
      <div class="post-content">
        <?php $post_excerpt of_get_option('post_excerpt'); ?>
        <?php if ($post_excerpt=='true' || $post_excerpt=='') { ?>
          <div class="excerpt"><?php $excerpt get_the_excerpt(); echo my_string_limit_words($excerpt,1000);?></div>
        <?php ?>
        <a href="<?php the_permalink() ?>" class="button"><span class="left"><span class="right"><span class="middle"><?php _e('нДалее...''theme1469'); ?></span></span></span></a>
      </div>


Но я же не могу точно количество символов подобрать к каждому посту. Всё же, почему она появляется только на главной и как её убрать?

Добавлено: 01-05-2012, 15:30:14


Ок, проблему я решил сам. Но появилась новая:
Если указать количество слов до сокращения, например, 1000, а опубликовать пост с 500, то всё равно он сокращает раньше тега море! В чём может быть проблема?
  •  

griska

#7
Если тег "more" не работает после удаления строки в файле функций, то, вероятно, проблема кроется где-то ещё. Вот несколько рекомендаций, которые могут помочь вам разобраться с этим:
1. Убедитесь, что шаблон, который вы использовали, поддерживает функцию "more" и правильно настроен для ее работы.
2. Проверьте свой код и убедитесь, что вы правильно вставили тег "more" в нужных местах. Возможно, есть какая-то ошибка в коде, которая препятствует его работе.
3. Проверьте настройки вашего сайта или плагинов, которые могут влиять на вывод содержимого постов. Возможно, есть какие-то конфликты или ограничения, которые блокируют работу тега "more".
4. Если все вышеперечисленные меры не приводят к результату, возможно, стоит обратиться к технической поддержке или форуму разработчиков, где вы приобрели шаблон. Они смогут помочь вам с конкретными проблемами шаблона и предложить решение.

есть еще несколько вариантов, которые можно попробовать:
1. Проверьте, работает ли функционал "more" для других постов или страниц на вашем сайте. Если он работает только для определенных записей, возможно, проблема связана с контентом или форматированием этих постов.
2. Убедитесь, что вы используете правильный синтаксис для тега "more". Обычно это выглядит как `<!--more-->`, и он должен быть вставлен в редакторе содержимого поста в нужном месте.
3. Возможно, ваш шаблон имеет свои собственные настройки для функционала "more". Изучите дoкументацию или файлы шаблона, чтобы узнать, есть ли специальные инструкции по использованию этой функции.
4. Если все остальное не помогло, попробуйте временно отключить другие плагины или изменить настройки темы, чтобы увидеть, есть ли конфликты с тегом "more".
5. Если ничего из вышеперечисленного не работает, вам может потребоваться обратиться за помощью к разработчикам или форуму сообщества WordPress, чтобы получить дополнительную поддержку и советы.
  •  


remind4me

#8
Цитата: other от 01-05-2012, 14:58:32Если указать количество слов до сокращения, например, 1000, а опубликовать пост с 500, то всё равно он сокращает раньше тега море! В чём может быть проблема?

А вы точно пробовали использовать корректный фильтр для указания максимального значения слов для "more", например такой:

function own_excerpt_length( $length ) {
    return 1000; // макс. кол-во слов до "more" = 1000
}

add_filter( 'excerpt_length', 'own_excerpt_length' );



Если вам нравится SbUP Форум, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....