サブドメインのサイトで本サイトへcanonicalを送る

<?php ///////////////////////// canonical //////////////////////////// ?>

   <?php if(is_singular('post')): //ブログなら?>
 
     <?php $title =  $post->post_name;; ?>
    <link rel="canonical" href="https://life-serv.com/<?php echo $title ?>/">

   <?php endif; ?>

       <?php if(is_singular('jisseki')): //実績なら?>
 
      <?php $title =  $post->post_name;; ?>
    <link rel="canonical" href="https://life-serv.com/<?php echo $title ?>/">

   <?php endif; ?>


     <?php if(is_archive( )): //アーカイブで  これはカテゴリーと、月間アーカイブ,タグ?>



    <?php 
    $term = get_queried_object();
     $term_url = get_term_link($term); 

         ///ドメインURLを ドメインに変更して出力

         // URL を分解
         $parts = parse_url($term_url);
         // ホスト部分をドメインに変換
         $hostParts = explode('.', $parts['host']);
         // サブドメインを削除(最後の2つを残す)
         $domain = implode('.', array_slice($hostParts, -2));
         // 新しい URL を構築
         $newUrl = $parts['scheme'] . "://" . $domain;
         if (isset($parts['path'])) {
             $newUrl .= $parts['path'];
         }
         if (isset($parts['query'])) {
             $newUrl .= '?' . $parts['query'];
         }
     
     ?>

       <link rel="canonical" href="<?php echo $newUrl ?>">
 
  <?php endif; ?>

  
    <?php ///////////////////////// canonical END //////////////////////////// ?>

ヘッダーに

gtpに聞いた サブドメインをドメインに置き換え get_permalink

///サブドメインURLを ドメインに変更して出力
$url = get_permalink();

// URL を分解
$parts = parse_url($url);

// ホスト部分をドメインに変換
$hostParts = explode('.', $parts['host']);

// サブドメインを削除(最後の2つを残す)
$domain = implode('.', array_slice($hostParts, -2));

// 新しい URL を構築
$newUrl = $parts['scheme'] . "://" . $domain;
if (isset($parts['path'])) {
    $newUrl .= $parts['path'];
}
if (isset($parts['query'])) {
    $newUrl .= '?' . $parts['query'];
}

//echo $newUrl;

地域対策サブドメインページにて

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' );

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

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

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

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