Nakkan Base

WordPress

【WordPress】固定ページのテンプレートを作る

固定ページに新たなテンプレートを作る方法は容易い。(はず😅)

新しくphpファイルを作って、その一番上に

<?php
/*
 Template Name : 新しいテンプレート名
*/
?>

これだけで良い。(はず😢)

でも、私の場合、新たなテンプレートがドロップダウン表示されなかった。

なぜ? (ここから私のWhy? は始まった)

テーマファイルにもちゃんと新たなphpファイルはアップされている。

なんなら、

Template Post Type: post

とも追加してみた。でもダメ。

プラグインが邪魔をしているかと思って、色々停止してみた。

いったん他のテーマに切り替えてから再度テーマを戻したり、キャッシュクリアを試みた。

でも全て徒労に終わった。Why?

そしてついに、次のサイト様から解決の糸口を見つけた❗️

★WordPressでテンプレートを作成して固定ページに適用する

つまり、「page-***.php」というファイルを作れば、「Template Name」の設定は必要ないということ。

ちなみに、「***」の部分には、スラッグ名またはIDを入れればOK。

そうかぁ、Template Nameの設定は要らないのかぁ。

眼から鱗とは、このこと。

結局、「できるはず」のやり方がなぜ効かなかったのか原因は突き止められなかったが、まあこれからはこの方法でいきましょう。

【WordPress】jQueryが動かない時の一番簡単な対処方法

(これ、書いておいたと思っていたけど書いていなかったみたいなので、備忘録として残しておきます)

WordPressのjQueryはすでに独自で備わっているので、コードを書くときに「$」を使ってはならぬという決まりがある。

で、「$ → jQuery」に全て書き換えると良いのだが、それは面倒だし漏れることもあるのでやめておく。

結論。以下で。

「jQuery(function($){ });」でコードを囲む。

<script>
   jQuery(function($){
      $(‘#test’).text();
      $(‘.test’).remove(‘.sample’);
   });
</script>

【WordPress】css.mapは削除…だよね?

基本、「極力無駄なファイルはサーバーにアップロードしない」ということで、sassを使ったときに自動で生成されるcss.mapファイルもアップロードしてはいけないと習った記憶が。

元々sassファイルも変更すればいちいち全部アップロードしていたのですが、最近はcssだけをアップロードするようにしました。

で、それだったらsass関係のファイルは全消去でいいんだと思い、実際サーバーから削除したのですが、検証ツールに「css.mapが見つかりません」というエラーメッセージが出る。

不要なんでしょう? どうして見つけようとするの?😢

別に影響はないからほっといてもいいんだけど、やっばり気になるよねぇ。

このエラーを消すにはどうしたらいいか…。

答えは簡単。「そっか❗️」って感じ。

cssファイルのイッチバン下、「/*# sourceMappingURL=style.css.map */」を消すだけなのサ。

「電話番号をタップ→発信」の簡単コード

電話番号や電話アイコンをタップするだけで、そのままスマホから発信できるようにする。

出先ではすごく便利な機能です。

この機能は、これからは必須ですね。

コードはめちゃ簡単です。

<a href="tel:00012345678">000-1234-5678</a>

WordPressの投稿でリンクを貼る場合は、もちろん、tel:00012345678 だけでOK。

それで、一応パソコンからはこの挙動を禁止する方が良いらしいので、そのコードも書いておきます。

=functions.php=

function my_wp_head_tel_link(){
if(!wp_is_mobile()): ?>
<style type="text/css">
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
</style>
<?php endif;
}
add_action('wp_head', 'my_wp_head_tel_link');

これはWordPress限定のコードです。

他にも、jQueryを使ったりする方法があるようですが、とりあえずこれで様子を見たいと思います。

★HTMLで電話番号リンクを設定する方法解説|タップで発信・PCでは無効にする方法も

【WordPress】アクティブメニューの色を変える

現在閲覧しているページのメニューに色をつける方法。

静的サイトの場合は、JavaScriptを使うのが一般的だけど、WordPressの場合は?

それがまあ、とっても簡単なことだった。

WordPressでは、アクティブページに自動的に ”current_page_item” というclassが付くんだって。

なので、静的サイトのcssで “.active” としていたところを ”.current_page_item” に置換すればOKです。

ちなみに、JavaScriptのコードは、以下になります。

=script.js=

$(function(){
  $('a').each(function(){
    var $href = $(this).attr('href');
      if(location.href.match($href)) {
      $(this).addClass('active');
    } else {
      $(this).removeClass('active');
    }
  });
});

★jQueryを使ってメニューのアクティブを判断する

または、

document.addEventListener('DOMContentLoaded', function() {
    var filename = location.href.match(".+/(.+?)\.[a-z]+([\?#;].*)?$")[1];
    $('a[href*="' + filename + '"]').addClass('active');
  });

★表示されているメニューにActiveクラスを自動的に付与する方法