Изменение поведения тега


Когда я нажимаю "подробнее" внизу одного из сообщений на моем веб-сайте, он просто загружает остальной текст на той же странице и в том же разделе, тем самым заполняя элементы текстом и портя мой макет. Я заметил, что в конце каждого сообщения Wordpress есть тег, когда на панели инструментов добавляется Дополнительная информация. Как я могу переопределить поведение этого тега по умолчанию, чтобы новая страница открывалась, когда пользователь нажимает "Подробнее..." для публикации?
Обновление:
Я использовал следующее код для настройки дополнительной ссылки. Тем не менее, при нажатии он открывает новый экземпляр той же страницы со всеми развернутыми сообщениями (я имею в виду, что все сообщения удаляют ссылку и отображают все их содержимое, что придает моей странице беспорядочный вид.
То, что я хочу, - это просто новая совершенно пустая страница (даже без влияния моей темы), на которой отображается полный текст запрошенного сообщения.

<?php

            add_filter( 'the_content_more_link', 'modify_read_more_link' );
            function modify_read_more_link() {
            return '<a class="more-link" target="_blank" href="' . get_permalink() . '">ادامه...</a>';
            }
            ?>
            <?php
            $cat_id=get_cat_ID('تازه ترین اخبار');
                $posts = get_posts ("cat=$cat_id&posts_per_page=1");
                if ($posts) 
            {
            foreach ($posts as $post):
                setup_postdata($post); ?>
                <h2><?php the_title(); ?></h2>
                <?php the_content();?>
                <?php endforeach;
            }
                ?>

Обновление:

Following the comments, I created a single.php with the following code:<br/>
<?php

get_header(); ?>

    <div id="primary" class="content-area">
        <div id="content" class="site-content" role="main">
            <?php
                // Start the Loop.
                while ( have_posts() ) : the_post();


                    get_template_part( 'content', get_post_format() );



                    if ( comments_open() || get_comments_number() ) {
                        comments_template();
                    }
                endwhile;
            ?>
        </div><!-- #content -->
    </div><!-- #primary -->

<?php


get_footer();
?>

Однако на новой странице отображается только заголовок моего сайта, как только я нажму "подробнее" на главной странице вместе с формой отправки комментариев. Таким образом, сам пост не отображается. Я где-то читал, что могу просто скопировать и вставить содержимое готовой темы, а Wordpress сделает все остальное за меня. Я обрезал несколько частей из-за ошибок, и у меня остался приведенный выше код с упомянутым результатом.
Кто-нибудь знает, что я должен добавить или изменить в single.php чтобы каждый пост был полностью показан на нем с моим произвольным дизайном? Заранее спасибо enter image description here

Author: codezombie, 2014-10-20

3 answers

Похоже, что это проблема с настройкой вашей темы, поскольку то, что вы описываете, не является обычным поведением тега more. Первая часть вашего сообщения предполагает, что в вашей теме есть встроенный Javascript, заставляющий "Подробнее" расширять текст сообщения, а не выводить вас на одну страницу сообщения, удаляя, что JS должен решить эту проблему без каких-либо пользовательских фильтров.

Я бы также дважды проверил, действительно ли ваша тема имеет single.php шаблон включен, последний часть вашего поста предполагает, что, возможно, нет, но это также может быть вызвано JS темы.

 1
Author: Shellbot, 2014-10-20 11:17:54

Это может быть связано с тем, что вы оставили поле выдержки пустым. Если у вас есть несколько текстов (обычно краткое изложение каждого поста), они будут отображаться на странице вместо полного содержимого. Пожалуйста, попробуйте.

Чтобы узнать больше о настройке по умолчанию, ознакомьтесь с дополнительной ссылкой здесь

 0
Author: Hakkim, 2014-10-20 10:02:00

Этот поток стека сообщение помогло мне. Я добавил один php со следующим кодом, который работал для меня:

<?php

get_header(); ?>

    <div id="primary" class="content-area">
        <div id="content" class="site-content" role="main">         
        <?php while ( have_posts() ) : the_post(); ?>
        <h3><?php the_category('&nbsp;&rsaquo;&nbsp;'); echo "&nbsp;&rsaquo;&nbsp;"; the_title(); ?></h3>
        <?php the_content(); ?>
        <?php endwhile; // end of the loop. ?>
        </div><!-- #content -->
    </div><!-- #primary -->

<?php


get_footer();
?>

В любом случае спасибо вам, ребята, за ответы.

 0
Author: codezombie, 2017-05-23 12:40:07