制作備忘録

仕事でぶちあたった壁の備忘録です。Wordpressが多め。

【ムームーDNS×Xserver】Gmailへ送信ができなかったのでSPFを追加した

ドメインムームードメインで契約し、ムームDNSをを使用していた
Aレコード、MXレコード共にXserverを設定中
ムームDNS使用する意味ある?という状態

XserverのサーバーパネルでSPFレコードを確認

DNSレコード一覧⇒【種別】TXT⇒【内容】に記載のあるSPFレコード
メモ帳などにコピーしておく

ムームDNSで、SPFを追加する

 ・サブドメイン:空欄
 ・種別:TXT
 ・内容:XserverのSPFを入れる

だいたい30分くらいでGmailに届くようになる。

All in One SEO でカスタム投稿詳細の<title>タグが正常に出力されない

カスタム投稿の詳細記事でアーカイブのタイトルが自動生成されてしまう問題が発生したので、
強制的に以下のような対応をした。

functions.php

カスタム投稿が special の場合

//titleタグをオフ
add_filter( 'aioseo_disable_title_rewrites', 'aioseo_disable_term_title_rewrites' );
function aioseo_disable_term_title_rewrites( $disabled ) {
  if ( is_singular('special') ) { 
    return true;
  }
  return false;
}
header.php で独自に

All in One SEO でタイトルを書き換えている場合は、All in One SEO のタイトルを取得して表示する

<?php
        if ( is_singular('special') ) { 
            $my_title = get_post_custom()['_aioseo_title'][0];
            if($my_title=='') {
    ?>
    <title><?php the_title() ?> | <?php bloginfo ( 'name' ); ?></title>
    <?php } else { ?>
    <title><?php echo $my_title ?></title>

    <?php
            }
        } 
    ?>
参考サイト

dubdesign.net

カスタムウォーカーを使用して、カスタムメニューのsub-menuをdivで囲む

function.php

class custom_walker_nav_menu extends Walker_Nav_Menu {
    function start_lvl(&$output, $depth = 0, $args = array()) {
        $output .= '<div class="nav-child"><ul class="nav-child-ul">';
    }
    function end_lvl(&$output, $depth = 0, $args = array()) {
        $output .= '</ul></div>';
    }
}
'walker' => new custom_walker_nav_menu(),

01earth.jp

カスタムメニューの階層 ul要素(.sub-menu) に独自のClass名を付けたい【カスタムウォーカークラス】

デフォルトでは子要素、孫要素の場合もすべて sub-menu となる。
カスタムウォーカークラスを使用して独自のClass付けを行う。

functions.php

class My_Walker_Nav_Menu extends Walker_Nav_Menu {
  function start_lvl( &$output, $depth = 0, $args = array() ) {
    $indent = str_repeat("\t", $depth);
    $submenu = ( $depth > 0 ) ? 'sub-menu' : '';
    $output .= "\n$indent<ul class=\"menu-item__level sub-menu depth-$depth\">\n";
  }
}

header.php など

表示したいメニューに「''walker' => new My_Walker_Nav_Menu(),」を追加する

wp_nav_menu( array(
  'theme_location'=> 'メニュー名', 
    ''walker' => new My_Walker_Nav_Menu(),
  ));

【youtube】スマホでも自動再生&ループをさせる

prythmworks.tokyo

HTML

<div class="main-title-wrap"></div>

jQuery

var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

//iframeタグとプレイヤーを作成します
var player;
function onYouTubeIframeAPIReady() {
  player = new YT.Player('js-main-movie', { //js-main-movieはHTMLのid属性の値と同じ
    videoId: '2BkyGrx2F48',  //YouTubeの動画ID
    height: '1080',
    width: '1920',
    playerVars: {
      controls: 1,
      autoplay: 1,
      disablekb:1,
      enablejsapi: 1,
      iv_load_policy: 3,
      playsinline: 1,
      rel: 0,
      autohide:0,
    },
    events: {
      'onReady': onPlayerReady,
      'onStateChange': onPlayerStateChange
    }
  });
}

//YouTube APIは↓の関数を呼び出す
function onPlayerReady(event) {
  event.target.mute();
  event.target.playVideo();
}

//プレイヤーの状態が変化するとYouTube APIは↓の関数を呼び出します
//プレイヤーが終了するとまた動画の再生をします
function onPlayerStateChange(event) {
  var ytStatus = event.target.getPlayerState();
  if (ytStatus == YT.PlayerState.ENDED) {
    player.mute();
    player.playVideo();
  }
}

さくら⇒Xserverへサーバー、ドメイン、サブドメイン(別サーバーへipアドレス設定)を移管する

サブドメインにAレコード(別サーバーへ向くようにipアドレス設定)が設定されている場合
ドメイン移管をするとどのような設定が必要になるか

  1. Xserverでドメインを追加
  2. サーバー内データを移設
  3. サーバーパネルのDNSレコードに設定。事前に設定可とのこと。
  4. DNSをXserverのレンタルサーバーへ向ける