最新公告
  • 欢迎您光临站盟网(原知事网),一个优质的网站源码基地、精品网站模板和插件。欢迎加入永久SVIP
  • WordPress函数get_the_content()用法 调用当前文章的正文内容

    正文概述 知事网   2020-09-11 11:09   827

    描述:

    获取当前文章的正文内容

    用法:

    <?php get_the_content( $more_link_text, $stripteaser ) ?>

    参数:

    $more_link_text
    
    (string) (可选) 当有更多文本时的内容。
    
    默认值: null
    
    $stripteaser
    
    (boolean) (可选) 在更多的文本之前删除摘要内容。
    
    默认值: false

    示例:

    <?php
    $content = get_the_content('Read more');
    print $content;
    ?>

    源文件:

    unction get_the_content( $more_link_text = null, $strip_teaser = false, $post = null ) {
    global $page, $more, $preview, $pages, $multipage;
    
    $_post = get_post( $post );
    
    if ( ! ( $_post instanceof WP_Post ) ) {
    return '';
    }
    
    if ( null === $post ) {
    $elements = compact( 'page', 'more', 'preview', 'pages', 'multipage' );
    } else {
    $elements = generate_postdata( $_post );
    }
    
    if ( null === $more_link_text ) {
    $more_link_text = sprintf(
    '<span aria-label="%1$s">%2$s</span>',
    sprintf(
    /* translators: %s: Post title. */
    __( 'Continue reading %s' ),
    the_title_attribute(
    array(
    'echo' => false,
    'post' => $_post,
    )
    )
    ),
    __( '(more&hellip;)' )
    );
    }
    
    $output = '';
    $has_teaser = false;
    
    // If post password required and it doesn't match the cookie.
    if ( post_password_required( $_post ) ) {
    return get_the_password_form( $_post );
    }
    
    if ( $elements['page'] > count( $elements['pages'] ) ) { // if the requested page doesn't exist
    $elements['page'] = count( $elements['pages'] ); // give them the highest numbered page that DOES exist
    }
    
    $page_no = $elements['page'];
    $content = $elements['pages'][ $page_no - 1 ];
    if ( preg_match( '/<!--more(.*?)?-->/', $content, $matches ) ) {
    if ( has_block( 'more', $content ) ) {
    // Remove the core/more block delimiters. They will be left over after $content is split up.
    $content = preg_replace( '/<!-- /?wp:more(.*?) -->/', '', $content );
    }
    
    $content = explode( $matches[0], $content, 2 );
    
    if ( ! empty( $matches[1] ) && ! empty( $more_link_text ) ) {
    $more_link_text = strip_tags( wp_kses_no_null( trim( $matches[1] ) ) );
    }
    
    $has_teaser = true;
    } else {
    $content = array( $content );
    }
    
    if ( false !== strpos( $_post->post_content, '<!--noteaser-->' ) && ( ! $elements['multipage'] || $elements['page'] == 1 ) ) {
    $strip_teaser = true;
    }
    
    $teaser = $content[0];
    
    if ( $elements['more'] && $strip_teaser && $has_teaser ) {
    $teaser = '';
    }
    
    $output .= $teaser;
    
    if ( count( $content ) > 1 ) {
    if ( $elements['more'] ) {
    $output .= '<span id="more-' . $_post->ID . '"></span>' . $content[1];
    } else {
    if ( ! empty( $more_link_text ) ) {
    
    /**
    * Filters the Read More link text.
    *
    * @since 2.8.0
    *
    * @param string $more_link_element Read More link element.
    * @param string $more_link_text Read More text.
    */
    $output .= apply_filters( 'the_content_more_link', ' <a href="' . get_permalink( $_post ) . "#more-{$_post->ID}" class="more-link">$more_link_text</a>", $more_link_text );
    }
    $output = force_balance_tags( $output );
    }
    }
    
    return $output;
    }

    站盟网 » WordPress函数get_the_content()用法 调用当前文章的正文内容

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者
    请选择支付方式
    ×
    支付宝支付
    微信支付
    余额支付
    ×
    微信扫码支付 0 元