web-dev-qa-db-ja.com

WPのおすすめの画像コードはどこに保存されていますか。

さて、私はこれら2つの小さなコンテナのソースコードを探しています(PHPバックエンド、HTMLフロントエンドと画像を添付するのに使われていたJS):

Featured Image

おすすめの画像コードに基づいてテーマオプションを作成したいのですが、見つけることができません。私はそれがwp-adminディレクトリのどこかにあると確信しています、しかし私はそこに長い時間を費やしましたが何も見つかりませんでした。

何か手がかりはありますか?

2
Wordpressor

そのメタボックスのマークアップは、 _wp_post_thumbnail_html() functionによって生成され、 wp-admin/includes/post.php に含まれます。

0
Rarst

あなたのためのいくつかの便利なリンク:

注目の画像に基づいて、テーマ内で表示や動作を変えたい場合に便利です。

2
Otto

これは、おすすめの画像メタボックスを表示して、wp-admin/post.phpページコンテキストの外側に表示する完全な例です(WordPress 4.6以降)。 wp-admin/includes/post.php )を参照してください。これは、コードがどこに格納されているかを知りたい理由の1つです。

/**
 * Featured image metabox
 *
 * @uses _wp_post_thumbnail_html
 *
 * @param int    $post_id   Post ID.
 * @param string $post_type Post type.
 */
function featured_image_metabox( $post_id, $post_type ) {

    // @see edit-form-advanced.php
    $thumbnail_support = current_theme_supports( 'post-thumbnails', $post_type ) && post_type_supports( $post_type, 'thumbnail' );

    if ( ! $thumbnail_support ||
        ! current_user_can( 'upload_files' ) ) {

        return;
    }

    // All meta boxes should be defined and added before the first do_meta_boxes() call (or potentially during the do_meta_boxes action).
    require_once ABSPATH . 'wp-admin/includes/meta-boxes.php';

    if ( ! $post_id ) {
        // New post.
        $post = get_default_post_to_edit( $post_type, true );

        // Fix PHP error. Add filter so get_post( $post ) returns our post!
        $post->filter = 'raw';
    } else {
        $post = get_post( $post_id );
    }

    $thumbnail_id = get_post_meta( $post->ID, '_thumbnail_id', true );

    if ( ! $thumbnail_id ) {

        $thumbnail_id = -1;
    }

    $post_type_object = get_post_type_object( $post_type );

    $title = $post_type_object->labels->featured_image;
    ?>
    <script>
        jQuery( document ).ready(function( e ) {
            wp.media.view.settings.post.id = <?php echo json_encode( $post->ID ); ?>;
            wp.media.view.settings.post.featuredImageId = <?php echo json_encode( $thumbnail_id ); ?>;
            wp.media.view.settings.post.nonce = <?php echo json_encode( wp_create_nonce( 'update-post_' . $post->ID ) ); ?>;
        });
    </script>
    <div id="poststuff" style="min-width: 320px;">
        <div id="postimagediv" class="postbox">
            <h2 class='hndle'><span><?php echo esc_html( $title ); ?></span></h2>
            <div class="inside">
            <?php
                echo _wp_post_thumbnail_html( $thumbnail_id, $post );
            ?>
            </div>
        </div>
    </div>
    <?php
}

Working example (Sensei LMS course wizard), in the wp-admin, but outside the post context

0
François J.