wp テーマの仕組み

親テーマにも

子テーマにも

8_page/aaa.php

をおいた場合、

管理画面からページテンプレートを使う場合、子テーマが表示される

親テーマのテンプレートは、

8_page2/aaa.php と、親ページのフォルダ名を違うものにした場合のみ表示される

 

また、ページテンプレートを同じにはできない。

同じにする場合、親テーマのほうが優先される

子テーマのページテンプレートを選んでおり、その後、そのテンプレート名を親テーマと同じ名前にしても、勝手に親テーマのテンプレートが選ばれない デフォルトに戻る

 

 

結果どうすればよいか

 

 

 

セレクト select 矢印 変更 セレクトでリンク作成

///セレクトの矢印を変える

.select_wrapper {
    position: relative;
    display: inline-block!important;
    width: auto!important;

&:after {
    content: "";
    position: absolute;
    top: 18px;
    right: 16px;
    width: 12px;
    height: 12px;
    border-right: 2px solid #333;
    border-bottom: 2px solid #333;
    transform: rotate(45deg);
 pointer-events: none;//これ入れないと、矢印で機能しなくなる
}

select {
    -webkit-appearance: none;
    appearance: none;
font-size: 13px;
    
}
}
 <ul class="single_foot_menu select_wrapper">
     <?php wp_dropdown_categories(
 array(
 'title_li' => '',
 'hide_empty'         => $hide_empty,
'taxonomy' => $menu_trem,
'depth'              => 1,
'orderby' => 'menu_order',//順番は指定します
//'exclude'=> array(2,5)
)
); 


//孫の親の出力準備 2025.01追記 3階層まで対応したい 親 子 孫

$granpma_id = NULL;//変数の初期化

$granpmas = get_terms( array( 'taxonomy'=> $menu_trem, 'parent' => 0, ) );

// echo "<pre>";
// print_r($granpmas);
// echo "</pre>";




foreach($granpmas as $granpma):////フォーチ----------------------------
  $granpma_id[] = $granpma->term_id; //小タームidをセット

 endforeach; 
  
//  echo "<pre>";
//  print_r($granpma_id);
//  echo "</pre>";

//孫の親準備END




?>
    
  </ul>

 

上記リンク出ない

なので、リンク作成時は別のコード

セレクトでリンク作成

<?php $cats = get_categories(array(
'post_type' => 'car',
'taxonomy' => 'car_cat3' ,
'hide_empty' => 0 ,//記事がなくとも表示
'depth' => 1,//子は表示しません。
'orderby' => 'order',//順番は指定します
)); ?>
<?php if(!empty($cats)): ?>
<select name="car_cat1" id="car_cat1">
<option value=" "> 詳細項目で選ぶ</option>
<?php  foreach($cats as $cat): ?>
<option value="<?php $cat_term = $cat->slug; echo get_term_link($cat_term ,'car_cat3'); ?>"><?php echo $cat->cat_name; ?>(<?php echo $cat->count; ?>)</option>
<?php endforeach; ?>
</select>

<script type="text/javascript">
var dropdown = document.getElementById("car_cat1");
function onCatChange(){
    if(dropdown.options[dropdown.selectedIndex].value != ""){
        location.href = dropdown.options[dropdown.selectedIndex].value;
    }
}
dropdown.onchange = onCatChange;
</script>
<?php endif; ?>

</ul>

getElementById(“car_cat1”);

の部分のIDの要素を指定して変更しているので

同じ名前のフォームがあると動作しない

実際、商品のフォームが見えていなく隠れていて、悪さしていため

出来なかったから名前を変更した

子テーマになければ 親テーマ を探す

<?php elseif ($page_make_choice == 'インクルードURL'): //include_pas版
    
    //echo $field['include_pas']
    
    ?>

   <?php //202509 子テーマになければ 親テーマを探す

    $choice_url = get_stylesheet_directory(). $field['include_pas']; //子テーマURL ?>
        <?php if (file_exists($choice_url)): //あるか??>

         <?php include $choice_url ;  ?>
         

    <?php else: // なければ?>

         <?php $choice_url = get_template_directory(). $field['include_pas']; //親テーマURL ?>
        <?php if (file_exists($choice_url)): //あるか??>

  <?php include $choice_url ;  ?>

     <?php endif; //END 親テーマURLあれば ?>

<?php endif; //子テーマになければ 親テーマを探す?>
<?php elseif($con_choice == 'con_include'):  //con_include_pas版 ?>

   <?php //202509 子テーマになければ 親テーマを探す

    $choice_url = get_stylesheet_directory(). $field['con_include_pas']; //子テーマURL ?>
        <?php if (file_exists($choice_url)): //あるか??>

         <?php include $choice_url ;  ?>
         

    <?php else: // なければ?>

         <?php $choice_url = get_template_directory(). $field['con_include_pas']; //親テーマURL ?>
        <?php if (file_exists($choice_url)): //あるか??>

  <?php include $choice_url ;  ?>

     <?php endif; //END 親テーマURLあれば ?>

<?php endif; //子テーマになければ 親テーマを探す?>
   <?php //子テーマにd_1_init.cssあれば 202509 FULL

   $css_url = get_stylesheet_directory()."/d_1_init.css";  ?>
    <?php if (file_exists($css_url)):?>
     <link href="<?php echo get_stylesheet_directory_uri(); ?>/d_1_init.css?<?php echo filemtime( get_stylesheet_directory()."/d_1_init.css"); ?>" rel="stylesheet" type="text/css" />

<?php else: // なければ親テーマ読み込む?>

    <link href="<?php echo get_template_directory_uri(); ?>/d_1_init.css?<?php echo filemtime( get_template_directory()."/d_1_init.css"); ?>" rel="stylesheet" type="text/css" />

 <?php endif; //END d_1_init.cssあれば 202509 FULL?>

 

マルチサイト化 準備 テスト 結局やめた

wp コンフィグ

/* Multisite */
define( 'WP_ALLOW_MULTISITE', true );

プラグインオフ

ツール WordPress サイトネットワークの作成

 

マルチさいとするなら

シンボリックリンク作成してやるみたい。

でも

DBを1個でやるのはいいけど、問題は、DBテーブル

WordPress データベーステーブルの接頭辞 事に DBをインポートできるのか?

そのコントロールが想像つかないから

例えば 小牧 の場合  d_komaki として運営できます?って話

なんで

結局やめた

理由

1.まず、使えないプラグインがある

welcart  ログイン強化など

 

2. 地域対策ページを作成したいわけで、

その際、TOPページやメニューなどは、同じものを使いまわしたいわけで、

サイトの設定自体をインポートし直しは大変

つまり、サイトを作成 対策ページを作成 対策ページのDBはサイトのをコピーしたい

 

そこから記事を削除したり、整えて、すべてのリンクを通常サイトに飛ばす

富士デザインがうまくいってるので、。

 

藤デザイン

藤デザイン

 

 

css ファイルキャッシュさせない ?d=12 をリニューアル ファイルタイムにて

<link href="<?php echo get_stylesheet_directory_uri(); ?>/d_1_init.css?<?php echo filemtime( get_stylesheet_directory()."/d_1_init.css"); ?>" rel="stylesheet" type="text/css" />

css ファイルの場所はかわるかも

<?php //echo filemtime( get_stylesheet_directory()."/d_1_init.css"); ?>

これにて更新日を取得

これにて、アップすれば変わる

完成

   <?php //子テーマにd_1_init.cssあれば 202509 FULL

   $css_url = get_stylesheet_directory()."/d_1_init.css";  ?>
    <?php if (file_exists($css_url)):?>
     <link href="<?php echo get_stylesheet_directory_uri(); ?>/d_1_init.css?<?php echo filemtime( get_stylesheet_directory()."/d_1_init.css"); ?>" rel="stylesheet" type="text/css" />

<?php else: // なければ親テーマ読み込む?>

    <link href="<?php echo get_template_directory_uri(); ?>/d_1_init.css?<?php echo filemtime( get_template_directory()."/d_1_init.css"); ?>" rel="stylesheet" type="text/css" />

 <?php endif; //END d_1_init.cssあれば 202509 FULL?>

 

get_template_part < include(get_stylesheet_directory() . "/cta01.php");  などよりよいかも 結局 やめ

このテンプレートタグでインクルードすると、

これを出力しようとする際、

ファンクションに書いてある、サイト設定が無視された状態で出力される

つまり、上から下に流れて出力されているようで、

実は、このテンプレート出力タグのときは、タグパスのみで実行されて出力される。

なんで、welcart のときと同じで

get_template_part でよみこむなら

そのURLに

include(get_template_directory() . "/func/admin_site.php");

など、設定を一回読み込ませる必要がある。

なんで、インクルードで。。

 

include locate_template('5_header/0_set_con_header.php');

これで、子テーマから探して 親テーマ

そして、admin_fancを維持できる!

 

 

https://qiita.com/ironsand/items/7fce685abdbf18a98c71

 

ここから展開

 

get_template_part()でパーツを読み込む方法と活用方法

 

 

get_template_part

何が良いか

 

それは、

parts/cta.php

parts/cta-maruse.php

parts/cta-rossta.php

parts/cta-forpride.php

として作成し、

get_template_part( 'parts/cta', 'forpride' );

 

と呼び出せるようだ

厳格には

parts/cta/cta-maruse.php

get_template_part( 'parts/cta/cta', 'forpride' );

としたほうが管理が楽か?

またこれで良いと思ったのが、

親テーマに入れておいても動作し、

もしカスタムしたい場合は、子テーマに移動させれば、そちらが読み込まれるという感じだ

プリンター メモ

電源をちゃんと切る

https://faq2.epson.jp/web/Detail.aspx?id=52383#:~:text=%E3%83%97%E3%83%AA%E3%83%B3%E3%82%BF%E3%83%BC%E3%81%AE%E9%9B%BB%E6%BA%90%E3%82%92%E6%AD%A3%E3%81%97%E3%81%8F,%E3%81%AE%E5%8E%9F%E5%9B%A0%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82&text=%E3%83%97%E3%83%AA%E3%83%B3%E3%82%BF%E3%83%BC%E3%81%AE%E9%9B%BB%E6%BA%90%E3%82%92%E3%82%AA%E3%83%95,%E3%81%93%E3%81%A8%E3%81%A7%E8%A1%8C%E3%81%A3%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82

電源を切る際にクリーニングしてる

停電などが起きたら、すぐ電源を入れて 電源をきるべき

swiper 記載 増えすぎるから まとめ

まず、

swiper 複数使うときの まとめ 扱いやすく マスター 苦手意識 消す


この記事のように

基本

<div class="youtube_swipwe_wrap">
<div class="swiper_wrap_wrap">
    <div class="swiper swiper_youtube">
  <!-- 必要に応じたwrapper -->
  <div class="swiper-wrapper">
    <!-- スライド -->
    <div class="swiper-slide">

このように 大外にクラスをかいて(youtube_swipwe_wrap)

swiper というところに どのスワイパーか(swiper_youtube)書いて(これで、jsでコントロール)

基本のCSSは swiper-slide とかで効いているから

 

.youtube_swipwe_wrap  swiper-slide などと、cssを変更して 調整する

 

f3インポートcssに

@import "../2_head/swiper/swiper_youtube.less"; //スワイパーyoutube
@import "../2_head/swiper/swiper_roop_gallery.less"; //スワイパー ループギャラリー
@import "../2_head/swiper/swiper_gallery4.less"; //スワイギャラリー4 まるせ作成 js手動で4個まで記載

@import "../2_head/swiper/swiper_gallery_auto01.less"; //スワイギャラリー飾り等速

こうやってかいてあって いらんなら コメントアウトすべし

コメントアウトできるようにわかりやすく

 

3_css_js_foot.phpでjsの設定を読み込ませており、

そちらも利用していないのであれば、消すべきかも

 

MNP予約番号 auから iijmioに変更したときのメモ

まず、auよりMNP転出を行う。
色々出てくるがすすめてOK
携帯電話にSMSで発行される。

iijmioを申し込み
MNPにて、同じくau回線 キャンペーンでiphone se 第二世代が110円だったのでそれも申し込む

au 住所 本人確認書類等 すべて 同じで 情報入力
一度愛知県 愛知県春日井市 となっており、失敗した。

申し込むと、しばらくして。
[IIJmio]ご契約者の本人確認完了のご連絡
がくる

10分後に
[IIJmio] eSIM開通手続きのご案内
がきて、すぐに利用できるようになる

開通手続きページより開通をし、

[IIJmio] MNP転入手続き完了のお知らせがまた10分ぐらいでくる

iphoneは届く前に 今のアンドロイドのsimを入れ替える

開通手続きページにURLがあり、それをQRでアンドロイドでよませて
SIMの設定をしたら、速攻できた。

現状 au 4,309 + 220円 = 4529円 から
あいあいじぇー 850+ 1400 = 2250円  差額 2279円 年間27348円

初回iphone 20000円 110円  19890円
350円×3 = 1050円
1400 × 3 = 4200円

手数料 3910円くらい 
5250円割引
20000のiphone
年間28000近くやすい

fullリニューアルメモ

記事をつっこもうかと思ったが
実績等の画像IDが変わると思ったので
やめ
既存のDBに対して、まずテーマを入れ替えて
管理画面を今のものに変更していく
メニュー調整 menu editer
CFコンテンツ
サイト設定 をエクスポ インポ
AFCをエクスポ インポ
ただし、事例とHP事例 お客様の声は 除外しないと、再度、AFCでせっていしないかん
site設定に 2024の記事を入れ込んだら 6499が画像で使われていたので、DB変更できず
admin_site で変更
//$site_2024 = 6499; //ヘッダー・フッター
$site_2024 = 12302; //ヘッダー・フッター
これでヘッダーメニュ等出た。
///////////////////
center_title_box を細いのにすると文字大きくしたいから 新しいクラス作る
shop info のタイトルを補足したいけど、ほかとかと合わせて 1っぱつで全部変更できると良い
///////////////////
okブログの幅広げた
okフレームレス
///////////////////
ブログ 1box とか lessが 複数にわたって書かれている
1個変更しても かわらないとか
一度全部書き直す もしくは
クラスを変える ループボックスごと変更して、あらたにless を
///////////////////
????インデックス ブログ ページオール消す
とりまおk flex_flot_box2 個の挙動 おかしい
.tsuzuki_box2 .more {
    font-family: “Solitreo”, cursive;
    font-size: 1.4rem;
    display: inline-block;
    line-height: 1;
    margin-top: .4rem;
}
セレクトの高さ決まってるの辞め
select.side_drop,
select.wpcf7-select{
border: 1px solid #ccc;
font-size: 15px;
background: #fff;
min-width: 200px;
//height: 40px;
margin-bottom: 24px;
}
ボタンの整理

flexboxで孫の高さを揃える

 

https://applism.net/news/flexbox-html-css/

.type_wrap{

    .flex_box;

    .type1{
        width: 47%; margin: 0 1.5%;
        background: #fff;
        color: #000;

        padding: 2px;

        ///孫の高さを揃える工夫
        display:flex;/*子要素に追加*/
         flex-direction:column;/*子要素に追加*/


        .title_box{.flex_box; .flex_high;

            padding: 0.5rem;

            .title{width: 50%; text-align: center; font-size: 25px; font-weight: bold;}
            .nouki{width: 50%; text-align: center; font-size: 20px; }
        
        }

        .con_box{ padding: 1rem; background:#3e3a39 ; color: #fff;font-size: 18px;
            ///孫の高さを揃える工夫
        flex-grow:1;/*空きスペースの伸びる倍率を指定*/
     }

    }
}

<div class="type_wrap">

<!--  -->
<div class="type1">
    <h3 class="title_box">
        <div class="title">ハイクオリティ</div>
        <div class="nouki">納期: 約2ヶ月程度</div>

    </h3>

    <div class="con_box">
        長期的な美観を保ちたい方や、高級車や<br>
クラシックカーなど特別な車にお勧めです。<br>
しっかりとした下地処理により、耐久性が高まります。

    </div>
</div>

<!--  -->


<!--  -->
<div class="type1">
    <h3 class="title_box">
        <div class="title">ハイクオリティ</div>
        <div class="nouki">納期: 約2ヶ月程度</div>

    </h3>

    <div class="con_box">
        長期的な美観を保ちたい方や、高級車や<br>
クラシックカーなど特別な車にお勧めです。<br>
しっかりとした下地処理により、耐久性が高まります。<br>
array_diff_assoc

    </div>
</div>

<!--  -->


</div>

 

特定のタクソノミーがついた記事のviewをファンクションで0にする

global $wpdb;

$taxonomy = 'service_chiiki'; // ← ここを対象のタクソノミーに変更
$meta_key = 'views';       // ← ここを削除したいカスタムフィールドキーに変更

$wpdb->query(
    $wpdb->prepare("
        DELETE pm
        FROM {$wpdb->postmeta} pm
        INNER JOIN {$wpdb->posts} p ON pm.post_id = p.ID
        INNER JOIN {$wpdb->term_relationships} tr ON p.ID = tr.object_id
        INNER JOIN {$wpdb->term_taxonomy} tt ON tr.term_taxonomy_id = tt.term_taxonomy_id
        WHERE tt.taxonomy = %s
        AND pm.meta_key = %s
    ", $taxonomy, $meta_key)
);

gtp

やりたいことと違った

クリック オープン アコーディオン

<script>

  //回転
  $(function () {
$('.toggle').click(function () {
$(this).toggleClass('active');
});
});

///現れる 
    $(function(){
        $(".toggle").on("click", function() {
            $(this).next().slideToggle();
        });
    });

</script>
    //クリックで矢印回転 基本

    .toggle {
position: relative;
display: inline-block;
    padding-right: 1em;
}

.toggle:after {
content: "";
display: block;
position: absolute;
}

.toggle.active:after {
}

//矢印が回転するアニメーション
.toggle:after {
content: "";
display: block;
position: absolute;
top: 35%;
right: 0;
width: 11px;
height: 11px;
border-top: 2px solid #000;
border-right: 2px solid #000;
transform: rotate(45deg);
}

.toggle.active:after {
transform: rotate(135deg);
transition: .3s;
}
    //全国

    .d_bg_green{ background: #edffed;


        .center_title_box .title{ color: #333;}


.erea_wrap{ margin-top: 4rem;

    .erea_chihou_wrap{

        margin-bottom: 2rem;

        .title{ font-weight: bold; margin:  1rem 0; font-size: 24px;} //.toggle
        
        .chihou_con{background: #fff; padding: 2rem; border-radius: 1rem; 
                                                                        //display: none;///toggleでオープン

            .chihou_one{ font-size: 18px;
                h4{font-weight: bold;}}
        
        }

        }
        }
    
    }

 

full リニューアル時 メモ

パスワード保護した固定ページ にリストカテゴリにカレント入れたかった。

特定のカテゴリにアーカイブにパスワード入れたかったから、転送して固定ページで

参考

【WordPress/jQuery】グローバルナビゲーションで現在のページにクラス名をつける方法【カレント表示】

結局location.href ==がうまく分岐できないので

 

<?php $this_url = home_url().'/base-system-3-0-制作実績/'; 
    // echo "<pre>";
    // print_r($this_url);
    // echo "</pre>";
    ?>
<script>
    $(function(){
    $(".cat-item-1551 a").each(function(){

            $(this).parents("li").addClass("current-cat");

    });
});

    </script>

こうやって実践

 

あと、

パスワード保護は、

投稿で設定 同じパスワードであれば すべて見れるようになる

パスワード時分岐

<?php the_content(); ?>


<?php if ( !post_password_required( $post ) ) : //カスタムフィールド部分をパスワード保護の対象にする場合 ?>

ここに書く
<?php endif; ?>

the_content() にて、パスワードを出力コントロールしてる

 

その他

/*-------------------------------------------*/
/* パスワード入力ページの文章を変更する */
/*-------------------------------------------*/
function my_password_form() {
    //$my_page_title = get_the_title();//パスワード保護されているタイトル
  //'.$my_page_title. '

    //'.include(get_stylesheet_directory() . "/4_cf_contents/bg_back.php"). ' ;
    $pw_text = '<div class="password_wrap center_box"> <p>このコンテンツははパスワードで保護されています。</p><p>閲覧するには以下にパスワードを入力してください。</p><form class="post_password" action="' . home_url() . '/wp-login.php?action=postpass" method="post"><input name="post_password" type="password" size="24" class="pw_wid" /><input type="submit" name="Submit" value="' . esc_attr__("送信") . '" class="pw_btn" /></form></div>';
   echo 	$pw_text;
  include(get_stylesheet_directory() . "/password_form.php");
 
    return;
  
}
add_filter('the_password_form', 'my_password_form');


/*-------------------------------------------*/
/* パスワード入力前と後でタイトルを変更する */
/*-------------------------------------------*/
function remove_branch_protected_word($title) {
    if ( post_password_required() ) {
        return 'このコンテンツははパスワードで保護されています。';//パスワード入力前に表示させるタイトル
    } else {
        return '%s';//パスワード入力後に表示させるタイトル
    }
}
add_filter('protected_title_format', 'remove_branch_protected_word');

ファンクション

分岐もいるかも 今後

でも、クライアント生地はめんばーでやるか?

///パスワード 改造
.password_wrap{padding: 0 3rem;


    .post_password{margin: 1rem 0;}

    .pw_wid{margin-right: 0.5rem;}

}

 

 

Converter for Media がシンサーバーで使えなかった

Server configuration: Imagick does not support WebP format.

と出て変換できない

そのため、ewwwに戻して

変換

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_ACCEPT} image/webp
    RewriteCond %{REQUEST_FILENAME} (.*)\.(jpe?g|png|gif)$
    RewriteCond %{REQUEST_FILENAME}\.webp -f
    RewriteCond %{QUERY_STRING} !type=original
    RewriteRule (.+)\.(jpe?g|png|gif)$ %{REQUEST_URI}.webp [T=image/webp,L]
</IfModule>
<IfModule mod_headers.c>
    <FilesMatch "\.(jpe?g|png|gif)$">
        Header append Vary Accept
    </FilesMatch>
</IfModule>
AddType image/webp .webp

 

こーなってくると

サムネイルを切り抜いたときに、webp変換されないため 手動でもう一度変換させる必要ある