更改<!--More-->标记的行为

时间:2014-10-20 作者:djnotes

当我点击我的一篇网站帖子底部的“阅读更多”时,它只会将其余的文本加载到同一页面和同一部分,从而使文本元素溢出,破坏了我的布局。我注意到,当从工具栏添加“阅读更多”时,每个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;
            }
                ?>
Update:

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可以帮我完成其余的工作。由于出现错误,我修剪了几个部分,并将上面的代码与提到的结果一起保留
有人知道我应该在单曲中添加或修改什么吗。php让我的任意设计将每个帖子都完全显示在上面?提前感谢enter image description here

3 个回复
最合适的回答,由SO网友:Shellbot 整理而成

听起来这是主题设置方式的问题,因为您描述的不是more标记的常见行为。文章的第一部分表明,主题中有一些内置Javascript,导致“阅读更多”扩展文章文本,而不是将你带到单个文章页面,删除了JS应该解决的问题,而不需要任何自定义过滤器。

我还要再次检查你的主题是否有一个单独的。包括php模板,您帖子的后半部分建议可能不是,但这也可能是由主题的JS引起的。

SO网友:Hakkim

这可能是因为您将摘录字段留空。如果你在上面有一些文本(通常是每篇文章的摘要),它会显示在页面上,而不是全部内容。请试试看。

为了了解有关自定义默认的更多信息,请阅读更多链接检查here

SO网友:djnotes

此堆栈溢出post 帮助了我。我添加了一个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();
?>
无论如何,谢谢你们的回答。

结束