パラメータをGETで取得しCSSを切り替える英語/日本語スイッチ php

PHP

$langswitch =htmlspecialchars($_GET["lang"], ENT_QUOTES, 'UTF-8' );
if($langswitch===en){
echo '.lang-en{display:block;}';
echo '.lang-jp{display:none;}';
}else{
echo '.lang-en{display:none;}';
echo '.lang-jp{display:block;}';

wordpressのheader.php等に記述

HTML

<div class="lang-en">英語</div>
<div class="lang-jp">日本語</div>

サンプル

Get

GETで取得しhtmlspecialcharsで特殊文字を HTML エンティティに変換。
「===」厳密等価演算子で比較し一致したらCSSを出力します。

問題点

・ページの文字コードは変わらないため海外SEO的にはよくない
・言語が増えるとCSSの記述が増え冗長になる

使うときは簡単に英語切り替えしたい場合が想定されます。

ページ遷移しても言語を切り替えたままにする場合はjavascriptでlocalstorageを使用しパラメータを保存する等が考えられます。

wordpressの投稿でビジュアル・テキストの切り替えでspanが消える場合

wordpressの投稿画面でビジュアルとテキストを選んで編集することができますが、初期機能では<span>span</span>等をテキストで入力しビジュアルに切り替えると勝手に消えます。

調べるとtiny mceというwysiwygエディタを流用して実装されているとのこと。
プラグインを入れて解決する方法も検索するとでてきますが、プラグインは使用したくないのでfunctions.phpをいじります。

function custom_editor_settings( $initArray ){
	$initArray['body_id'] = 'primary';
	$initArray['body_class'] = 'post';
	$initArray['valid_children'] = '+body[style],+div[div|span],+span[span]';
	$initArray['verify_html'] = false;
	return $initArray;
}
add_filter( 'tiny_mce_before_init', 'custom_editor_settings' );

■【WordPress】ビジュアル・テキスト切り替えでタグが消える時の対処法(style,div,span,p,br等)
http://hapisupu.com/2015/09/wordpress-editor-visual-text-switch-tag-erase-fix/

上記のブログから教えていただきました。

spanで囲って装飾をつけたりする場合必須ではないでしょうか。

Hello Dollyの有効活用

hellodolly

hello-dolly

ワードプレスをインストールすると最初からインストールされている有名なプラグイン「Hello Dolly」。

 

これはただのプラグインではありません。Louis Armstrong によって歌われた最も有名な二つの単語、Hello, Dolly に要約された同一世代のすべての人々の希望と情熱を象徴するものです。このプラグインを有効にすると、すべての管理画面の右上に Hello, Dolly からの歌詞がランダムに表示されます。

 

ということで、素敵なプラグインです。

だいたい消されてしまうのですが、ランダム表示プログラムに使えるのでは?と改良してみました。

 

作者のMatt Mullenwegさんリスペクトをこめて。

 

<?php
function hello_dolly_get_lyric() {
	$lyrics ="Hello, Dolly
(*´ω`*)
( ˘ω˘ )スヤァ
(*^◯^*)";
	$lyrics = explode("\n", $lyrics );
	return wptexturize( $lyrics[ mt_rand( 0, count( $lyrics ) - 1 ) ] );
}
	$chosen = hello_dolly_get_lyric();
	echo"<p id='dolly'>$chosen</p>";
?>

サンプル
https://promenade.in/run-wordpress-hello-dolly/

PHP DE 月ごと自動更新

auto

$autoUPdate = date('m');

switch ($autoUPdate) {
  case 1:
    $month = '画像URL';
    break;
  case 2:
    $month = '画像URL';
    break;
  case 3:
    $month = '画像URL';
    break;
  case 4:
    $month = '画像URL';
    break;
  case 5:
    $month = '画像URL';
    break;
  case 6:
    $month = '画像URL';
    break;
  case 7:
    $month = '画像URL';
    break;
  case 8:
    $month = '画像URL';
    break;
  case 9:
    $month = '画像URL';
    break;
  case 10:
    $month = '画像URL';
    break;
  case 11:
    $month = '画像URL';
    break;
  case 12:
    $month = '画像URL';
    break;
  default:
    $month = '画像URL';
    break;
}
echo "<img src=\"$month\" />";

PHPについてはほぼ勉強していないので・・・もっとよいやり方はあると思います。
よくわからないですが、置いときます。