个性化阅读
专注于IT技术分析

更改阅读更多链接以在WordPress中显示全文

我正在尝试更改帖子摘录中的”更多阅读”按钮的功能。我希望将文章的其余部分加载到存档页面上, 而不是转到文章页面上的”更多信息”按钮。

这是我的功能页面中的内容:

function new_excerpt_more($more) {
       global $post;
    return '... <a href="'. get_permalink($post->ID) . '">Read more</a>';
}
add_filter('excerpt_more', 'new_excerpt_more');


function custom_excerpt_length( $length ) {
    return 250;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );

我知道我必须用其他东西代替get_permalink($ post-> ID), 但是我不确定该怎么做。任何帮助将不胜感激。


#1


你可以在jQuery中执行此操作。技巧是隐藏摘录div并在单击链接后显示全部内容div。

编辑你的functions.php

<?php
function new_excerpt_more($more) {
    global $post;
    return '... <a class="reveal-full-content"  action-id ="' . $post->ID .'" href="#">Read more</a>';
}
add_filter('excerpt_more', 'new_excerpt_more');

编辑循环页面(index.php, archive.php等)

<div class="wrap">
<div id="primary" class="content-area">
    <main id="main" class="site-main" role="main">
        <?php
        /* Start the Loop */
        while ( have_posts() ) : the_post();
        ?>
        <article id="post-<?php the_ID(); ?>" <?php post_class( 'post' ); ?>>
            <div class="post-content">
                <div class="excerpt-content" action-id="<?php the_ID(); ?>">
                    <?php the_excerpt(); ?>
                </div>
                <div class="full-content" action-id="<?php the_ID(); ?>" style="display: none;">
                    <?php the_content(); ?>
                </div>
            </div>
        </article>
        <?php

        endwhile; // End of the loop.
        ?>

    </main><!-- #main -->
</div><!-- #primary -->
<?php get_sidebar(); ?>

最后, 你使该脚本入队或将其挂接到你wp_footer

<script type="text/javascript">
$(document).ready(function() {
    $('a.reveal-full-content').on('click', function() {
        var $postID = $(this).attr('action-id');

        $('.excerpt-content[action-id="'+$postID+'"]').css('display', 'none');
        $('.full-content[action-id="'+$postID+'"]').css('display', 'block');
    });
})
</script>

#2


你需要创建一个JS函数来加载/替换其中的文本。我将使用jQuery的.load(), 并在你的函数中使用类似以下内容:

$( "#archive-post-div" ).load( "url-from-permalink.html #the-content-div" );

那是做到这一点的一种方法。你也可以只加载所有隐藏的文章, 并使用”阅读更多”按钮交换可见性。

我会详细说明, 但我不知道你对JS / jQuery或CSS的熟悉程度。

赞(0)
未经允许不得转载:srcmini » 更改阅读更多链接以在WordPress中显示全文

评论 抢沙发

评论前必须登录!