显示“继续阅读”链接的永久链接错误的GET_POST

时间:2012-05-28 作者:gavsiu

我将“继续阅读”链接功能从“211”主题中移除,并且在大多数情况下,它是有效的(在RSS提要中工作)。

我使用get_posts, 然而,“继续阅读”链接只是链接到首页,而不是贴子页。

function gavsiu_continue_reading_link() {
    return \' <a href="\'. esc_url( get_permalink() ) . \'">\' . __( \'Read more <span class="meta-nav">&raquo;</span>\' ) . \'</a>\';
}

function gavsiu_auto_excerpt_more( $more ) {
    return \' &hellip;\' . gavsiu_continue_reading_link();
}
add_filter( \'excerpt_more\', \'gavsiu_auto_excerpt_more\' );

function gavsiu_custom_excerpt_more( $output ) {
    if ( has_excerpt() && ! is_attachment() ) {
        $output .= gavsiu_continue_reading_link();
    }
    return $output;
}
add_filter( \'get_the_excerpt\', \'gavsiu_custom_excerpt_more\' );
短代码:

function gavsiu_recent_posts( $atts ) {
    extract( shortcode_atts( array(
        \'cat\'            => 3,
        \'max_posts\'      => 1
    ), $atts ) );

    $recent_posts = get_posts( array(
        \'category\'       => "{$cat}",
        \'numberposts\'    => "{$max_posts}"
    ) );

    foreach($recent_posts as $recent_post) : setup_postdata($recent_post);
        $post = \'<h4 class="recent-post-title c0">\' . $recent_post->post_title . \'</h4>\';
        $post .= \'<p class="recent-content c0">\' . get_the_excerpt() . \'</p>\';

        return $post;
    endforeach;
}

add_shortcode( \'recent_posts\', \'gavsiu_recent_posts\' );

2 个回复
最合适的回答,由SO网友:gavsiu 整理而成
function gavsiu_recent_posts( $atts ) {
    extract( shortcode_atts( array(
        \'cat\'            => 3,
        \'max_posts\'      => 1
    ), $atts ) );

    $recent_posts = get_posts( array(
        \'category\'       => "{$cat}",
        \'numberposts\'    => "{$max_posts}",
        \'offset\' => 0
    ) );

    foreach($recent_posts as $post) : setup_postdata($post);
        $permalink = \' <a href="\'. esc_url( get_permalink( $post->ID ) ) . \'" title="Permalink to \' . esc_attr( $post->post_title ) . \'" rel="bookmark">\' . __( \'Read more <span class="meta-nav">&raquo;</span>\' ) . \'</a>\';

        $return = \'<h4 class="recent-post-title">\' . $post->post_title . "</h4>\\n";
        if ( $post->post_excerpt == \'\' ) :
            $return .= preg_replace( array( \'/ <a href="http:\\/\\/gavsiu.com\\/" title="Permalink to ".*?<\\/a>/\', \'/<p .*?>/\' ), array( $permalink, \'<p>\' ), get_the_excerpt() ) . "\\n";
        else :
            $return .= \'<p>\' . $post->post_excerpt . $permalink . "</p>\\n";
        endif;

        return $return;
    endforeach;
}
SO网友:Chris_O

自调用setup\\u postdata后,需要在get\\u posts循环后重置post数据。最好同时删除setup\\u postdata。

global $post;
$recent_posts = get_posts( $yourargshere );
    foreach($recent_posts as $post) : 
        $return = \'<h4 class="recent-post-title c0">\' . $post->post_title . \'</h4>\'; 
        $return .= \'<p class="recent-content c0">\' . apply_filters( \'the_excerpt\', $post->post_excerpt ) . \'</p>\';
    return $return;
    endforeach;
您还需要将add\\u筛选器更改为\\u摘录,而不是获取\\u摘录

结束

相关推荐

_excerpt函数也可以获得图像吗?

不确定我是否以正确的方式进行了这项工作,但总的来说,我被告知要创建一个类似于我主页上的新闻框的“最新新闻”将是客户发布的。现在我知道我可以控制the_excerpts(); 内容长度等,但我似乎找不到任何方法,它也允许一个图像。当我向客户展示“新闻框”时,他希望任何与帖子相关的图片都能通过。所以我想到\"the_content();\" 但我不认为这是我所需要的(尽管我不确定哪一个最适合我所需要的)所以我这里的主要问题是我可以如何通过摘录获得图像,或者如果摘录功能不允许,我可以使用什么