web-dev-qa-db-ja.com

背景画像コントロールをページ管理者コントロールに追加する方法

各ページには.page-id-22などの独自のクラスが割り当てられていることを理解しています。これを使用してスタイルシートを使用して背景画像を割り当てることができます。ページ自体、それが私が達成したいことです。

基本的に、ユーザーはスタイルシートを編集する必要なしに、必要に応じてクリックして個々のページに画像をアップロードすることができます。

これは この日付付きの議論 にあるいくつかのアイデアと似ているでしょうか?

この質問は thisの議論 とは異なります。なぜならそれはヘッダだけではなく、これはプラグインを利用しないテーマの一部である必要があるものです。

2
Jeff W

それはカスタムフィールドで行うことができ、CSSは.phpファイルに変更されるべきです。

$image = get_post_meta( $post->ID, "ImagePathFromCustomField", true );
if ( $image != '' ) { 
    ?>
    <style type="text/css">
        .bg-image { 
            background-image: url(<?php echo $image; ?>); 
            background-repeat: repeat; 
        }
    </style>
    <?php
}
1
Arsalan

最も簡単な方法はカスタムフィールドを使うことでしょう、ACF(Advanced Custom Fields)* WordPress.orgからの無料版でさえ言おう

  1. ACFを使用しているとしましょう。フィールドグループを作成する必要があります。 このリンクに従ってください 、そして[カスタムフィールド]> [新規追加]に進みます。

  2. [フィールド]、[フィールドの作成]、[フィールドラベルの追加]、[フィールド名(YOUR_FIELD_NAME)]の順に選択し、[フィールドタイプ:画像]を選択します(このタイプのフィールドを選択すると、URLとして表示するオプションが表示されます)

  3. 場所(ページまたは投稿)を選択します - 作成したフィールドを表示する場所: ACF Choose Location 

  4. バックエンドの各ページにImage Fieldボタンがあり、フロントエンドの表示にジャンプできます。

  5. あなたがその画像(コード)を表示したい場所を決定してください、それはpage.php、footer.php、header.php(またはあなたが必要とするもの)にすることができ、そのファイルを開いて、あなたはそこに<img src="<?php the_field('YOUR_FIELD_NAME'); ?>" />を貼り付ける必要があります。

  6. より高度なものは、その背景の画像やjqueryを表示するためにif/elseを使うことができます、<?php if( get_field('YOUR_FIELD_NAME') ): ?> <img src="<?php the_field('YOUR_FIELD_NAME'); ?>" /> <script>Your Script here</script>
    <?php endif; ?>

  7. スクリプトファイルをフッターに挿入するのが最善の方法です。したがって、jQueryや他の部分の後で、6と同じコードがスクリプトコードのみを含む場合にのみロードされます。

情報:section3は、新しいページを作成したり古いページを編集したりするときにImage Fieldを表示するバックエンドオプションを提供します。

0
apsolut

カスタマイザでメタボックスを使用する方法については、GitHubの カスタムCSS Per Postプラグイン を参照してください。 Gist: WordPressにはカスタムCSSもあり、カスタマイザで編集可能 CSSの部分を WP_Customize_Image_Controlに置き換えることができます

0
jgraup