Wordpress中的第二部分

时间:2015-12-26 12:05:11

标签: php wordpress

我在Wordpress中使用以下代码创建了第二个摘录。

add_action( 'admin_menu', 'my_create_post_meta_box' );
add_action( 'save_post', 'my_save_post_meta_box', 10, 2 );

function my_create_post_meta_box() {
    add_meta_box( 'my-meta-box', 'Second Excerpt', 'my_post_meta_box', 'post', 'normal', 'high' );
}

function my_post_meta_box( $object, $box ) { ?>
    <p>
        <?php if ( current_user_can( 'upload_files' ) ) : ?>
           <div id="media-buttons" class="hide-if-no-js">
           <?php do_action( 'media_buttons' ); ?>
           </div>
           <?php endif; ?>
        <br />
        <label for="second-excerpt">Second Excerpt With Images for Post List Page</label>
        <textarea name="second-excerpt" id="second-excerpt" cols="60" rows="4" tabindex="30" style="width: 97%;"><?php echo wp_specialchars( get_post_meta( $object->ID, 'Second Excerpt', true ), 1 ); ?></textarea>
        <input type="hidden" name="my_meta_box_nonce" value="<?php echo wp_create_nonce( plugin_basename( __FILE__ ) ); ?>" />
    </p>
<?php }

function my_save_post_meta_box( $post_id, $post ) {

    if ( !wp_verify_nonce( $_POST['my_meta_box_nonce'], plugin_basename( __FILE__ ) ) )
        return $post_id;

    if ( !current_user_can( 'edit_post', $post_id ) )
        return $post_id;

    $meta_value = get_post_meta( $post_id, 'Second Excerpt', true );
    $new_meta_value = stripslashes( $_POST['second-excerpt'] );

    if ( $new_meta_value && '' == $meta_value )
        add_post_meta( $post_id, 'Second Excerpt', $new_meta_value, true );

    elseif ( $new_meta_value != $meta_value )
        update_post_meta( $post_id, 'Second Excerpt', $new_meta_value );

    elseif ( '' == $new_meta_value && $meta_value )
        delete_post_meta( $post_id, 'Second Excerpt', $meta_value );
}

现在,我如何能够显示它而不是整个帖子内容?我的wordpress主页显示最新帖子而不是任何静态页面。

1 个答案:

答案 0 :(得分:1)

您想要使用get_post_meta()

echo get_post_meta( get_the_ID(), 'Second Excerpt', true );

如果您想要使用第二段摘录替换帖子内容,则需要编写自定义the_content filter