1

カスタム コミュニティ (CC) テーマを使用しています サブテーマを作成しました functions.php ファイルを作成しました

元の CC テーマには、このコードが functions.php にあります。

        // This theme uses post thumbnails
    if (function_exists('add_theme_support')) {
        add_theme_support('post-thumbnails');
        set_post_thumbnail_size(222, 160, true);
        add_image_size('slider-top-large', 1006, 250, true);
        add_image_size('slider-large', 990, 250, true);
        add_image_size('slider-responsile', 925, 250, true);
        add_image_size('slider-middle', 756, 250, true);
        add_image_size('slider-thumbnail', 80, 50, true);
        add_image_size('post-thumbnails', 222, 160, true);
        add_image_size('single-post-thumbnail', 598, 372, true);
    }

投稿のサムネイル サイズを 222x160 から大きいサイズ (400x300 など) に変更したいと考えています。

投稿サムネイル、関数リファレンス/画像サイズの追加、関数リファレンス/投稿サムネイル サイズの設定、関数リファレンス/投稿サムネイル、プラグイン API/フィルター リファレンスのコーデックスを読みました。

残念ながら、PHP についての私の理解はまだ非常に限られており、初期学習段階にあります。

20-ten テーマの他の場所で同様の問題のように聞こえる例を見たことがありますが、functions.php によってロックアウトされ、ftp で削除され、最初からやり直さなければ、理解も適用もできません。

サブテーマの functions.php に関数を追加して、親テーマのサムネイル (またはその他の指定された画像タイプ) の画像サイズを設定解除/再割り当てできるかどうかはまだわかりません。

functions.php とサブテーマが正しく機能していることを明確にするために、ログインのスタイリングに関数を正常に使用したことを確認できます。これを自分で達成するための理解が不足しているだけです。

tuts-plus チュートリアル (ポイント 6 - 追加の画像サイズを削除する) に従って、functions.php で次のコードを試しました。

//change thumbnail size
function remove_parent_image_sizes( $sizes ) {
    unset( $sizes['post-thumbnail-size'] );
    return $sizes;
}

if ( function_exists( 'add_image_size' ) ) {
    // 400 pixels wide and 300 px tall, cropped
    add_image_size( 'post-thumbnails', 400, 300, true );
}

次に、投稿から注目の画像を削除して新しい画像を適用しましたが、サイズは 222x160 のままです。

まだ困惑しています:(

この方法でも試してみましたが、まだうまくいきません。

//change thumbnail size
function remove_parent_image_sizes( $sizes ) {
    unset( $sizes['post-thumbnail-size'] );
    return $sizes;
}

if (function_exists('add_theme_support')) {
    add_theme_support('post-thumbnails');
    set_post_thumbnail_size(400, 300, true);
    add_image_size('post-thumbnails', 400, 300, true);
}

そして、この行(stackexchangeリンクから変更)を最後に追加すると、サイトが壊れました:

add_action( 'after_setup_theme', 'remove_parent_image_sizes' );
4

3 に答える 3

1

最終的に答えは信じられないほどシンプルで、親テーマの作成者は私が何をする必要があるかについて明確な指示を出してくれました。

 * To override cc_setup() in a child theme, add your own cc_setup to your child theme's
 * functions.php file.

元のコードの上に、子テーマに含める必要がある関数の開始がありました。

function cc_setup() {
    global $cap, $content_width;

    // This theme styles the visual editor with editor-style.css to match the theme style.
    add_editor_style();

    // This theme uses post thumbnails
    if (function_exists('add_theme_support')) {
        add_theme_support('post-thumbnails');
        set_post_thumbnail_size(222, 160, true);
        add_image_size('slider-top-large', 1006, 250, true);
        add_image_size('slider-large', 990, 250, true);
        add_image_size('slider-responsile', 925, 250, true);
        add_image_size('slider-middle', 756, 250, true);
        add_image_size('slider-thumbnail', 80, 50, true);
        add_image_size('post-thumbnails', 222, 160, true);
        add_image_size('single-post-thumbnail', 598, 372, true);
    }

次に、変更したくない行を削除して、関数を閉じました }:

// Override parent theme thumbnail size
function cc_setup() {
    global $cap, $content_width;

    // This theme styles the visual editor with editor-style.css to match the theme style.
    add_editor_style();

    // This theme uses post thumbnails
    if (function_exists('add_theme_support')) {
        add_theme_support('post-thumbnails');
        set_post_thumbnail_size(400, 300, true);
        add_image_size('post-thumbnails', 400, 300, true);
    }
}

functions.php (子テーマ) を保存し、新しい注目の画像を投稿にアップロードするとうまくいきました。私のサムネイルは現在 400,300 です。

初めてドキュメントを適切に読まなかった私のせいで、教訓が得られました!

于 2013-08-09T00:08:11.370 に答える
1

最初にremove_action()またはremove_filter()関数を使用して親テーマの動作を削除してから、 を使用してサブテーマのアクションを追加する必要がありますadd_action()参照用に、子テーマ内で親テーマの動作を変更する方法 に関する優れたチュートリアルを次に示します。

于 2013-08-08T06:34:07.667 に答える
1

私の意見では、子テーマ内に独自のサイズを作成する最も簡単な方法は、 remove_theme_support を使用して削除し次の例のようにadd_theme_supportを再度設定することです。

// Use the after_setup_theme hook with a priority of 11 to load after the
// parent theme, which will fire on the default priority of 10
add_action( 'after_setup_theme', 'remove_featured_images_from_child_theme', 11 );

function remove_featured_images_from_child_theme() {

    // This will remove support for post thumbnails on ALL Post Types
    remove_theme_support( 'post-thumbnails' );

    // Add this line in to re-enable support for just Posts
    add_theme_support( 'post-thumbnails', array( 'post' ) );
    // Thumbnail sizes
    add_image_size( 'my-theme-featured', 638, 280, true );
    add_image_size( 'my-theme-featured-home', 311, 207, true);
    add_image_size( 'my-theme-featured-carousel', 970, 400, true);
}

AJAX Thumbnail Rebuildなどのプラグインを使用して、変更後にサムネイルを再構築することを忘れないでください

これが役に立てば幸いです、マイク

于 2014-02-27T16:42:47.603 に答える