DTP→ほそぼそとWeb業界のカタスミでお仕事しています・・・

特定のページのカスタムフィールドの値をループ外で呼び出す

Wordpress で、特定のページのカスタムフィールドの値を
ループ外で呼び出したな~と思ったので

関数リファレンス/get post meta

この関数は特定の投稿の特定のキーからカスタムフィールドの値を取得します。

●使い方
<?php $meta_values = get_post_meta($post_id, $key, $single); ?>

●パラメータ
 $post_id(整数)
 (必須) カスタムフィールドを取得したい投稿の ID。初期値: なし
●$key(文字列)
 (オプション) 取得したい値のキー名の文字列。初期値: ''
●$single(真偽値)
 (オプション) true をセットした場合、文字列として単一の結果を返します。false または値をセットしなかった場合、関数はカスタムフィールドの配列を返します。初期値: false

・・・と、いうことで

<?php if (get_post_meta( 24 , 'aaa' , true)): ?>
<?php echo esc_html(get_post_meta( 24 ,'aaa','true')); ?>
<?php endif; ?>

もし
ページID「24」のページの
「aaa」というフィールド名のデータがあれば
表示してね、としました。
お客さんが値を入れてくれる部分なので「 < 」とか入ってくるかもしれません。
そのため「echo esc_html」としています。


関数リファレンス/esc html

使い方  <?php esc_html( $text ) ?>
パラメータ  $text (文字列) (必須) エスケープするテキスト
初期値: なし
戻り値 エスケープされた HTML 文字列。

WordPressでコメント欄を表示させたくない

WordPressで
コメント欄を表示させたくない時は
設定 > ディスカッション設定 の中の
□ 新しい投稿へのコメントを許可する
のチェックを外したら良いようです。
wp-2017-08-komento-01.jpg

wp-2017-08-komento-02.jpg

・・・が、すでに投稿されている記事の場合は
1個ずつチェック外すのかな?
wp-2017-08-komento-03.jpg

wp-2017-08-komento-04.jpg

後から調べたら、いっぺんにできるみたいですね。
wp-2017-08-komento-05.jpg

wp-2017-08-komento-06.jpg

管理画面(ダッシュボード)の色を変える

ワードプレスの仕事で
複数の管理画面を見ているとき
たとえば
現行で動いているサイトのやり替えの場合
社名(サイト名)とか一緒なので
今、自分が見ているのは
ローカルなのか、本チャンなのか、どっちの管理画面なのか
分かりにくい時があります。

↓管理画面(ダッシュボード)の色を変えてみた
2017-08-20-001.png

これで、ちょっとだけストレス、マシかな(^^;)

ローカルではうまくいったのに?無料サーバーはやっぱり無料なのね…

WordPressから遠のいている間に いつの間にやら
非推奨になっていた query_posts のかわりに
get_posts を使ってみました。

なんとなく、できたので
クライアントさんは、ドメインで悩んでいるので
とりあえず、自分の 無料サーバー XREA(エクスリア)に
アップしてみました。

ローカル環境ではうまく動いたのに
サーバーにアップしたら、うまく動かない・・・なぜ?!(@_@;)


あーでもない、こーでもないと丸一日悩んでみたのですが
日もとっぷりと暮れてしまったので、プログラマー様に聞いてみた。

サクッと返信

出先なので詳しくはわかりませんけど単純に考えてみましょう。
ローカルで動いてサーバーで動かないというのはWordPressのバージョンかPHPのバージョンが違うということです。
合わせたら動くはずでしょ?

xreaなんて無料のサーバーで動作確認するのはやめましょう。
PHPに制限がかかっていることがありますよ。

そうか! バージョンが違うということもあるのか。
早速見てみようっと。(ワードプレスのバージョンは同じ)


バージョン以外の問題もありますよ。
phpinfo();でServer API の項目を比較してみてください。

「phpinfo();」をローカルでは xampp の「htdocs」に入れて
サーバーにもアップしてみました。

↓結果・・・違ってた

↓xampp
2017-08-05-wp-php-01.png

↓無料サーバー
2017-08-05-wp-php-02.png


xreaのPHPがCGI版で動いていることが原因です。
そもそも無料サーバーのPHPはメモリを浪費されることを嫌い色々と制限がかかっています。
動作確認は本番で使うサーバーで行わないと無駄な修正を繰り返すことになりますよ。


・・・そうかぁ~~~、結局は、本番のサーバーでないと
確認しても無駄ということですね。。。(´・ω・`)
と、言いつつ
「xreaなんて無料のサーバーで動作確認するのはやめましょう。
PHPに制限がかかっていることがありますよ。」
というところが、キモのような気がします。

こんな仕事(いちおう、Web制作を時々)していて
ホームページがないというのが、そもそもの
問題なのかもしれないですけど(って、名刺も屋号もないけどね)

親カテゴリー 子カテゴリー の リンクなし名称 URL スラッグ を別々に取り出す(WordPress)

WordPress ん年ぶりにさわりました(^^;)
めっちゃ忘れてますやん。
自分には難しいと、やめていたのだけど
どーしてもカスタマイズをしないといけない仕事が入ってしまったので
めも。

↓これだと、リンク付きで呼び出してしまうのですよねぇ。。。(このタグを使うと、リスト表示で出力されます。)

< ?php the_category(); ? >
このテンプレートタグは、現在の記事が属するカテゴリーへのリンクを表示します。
必ず、ループの中で使わなければなりません。

テンプレートタグ/the category - WordPress Codex 日本語版



↓このような感じにしてみました 親カテゴリーばーじょん
<?php //親カテゴリーについて
$cats = get_the_category();
$cat = $cats[0];
if($cat->parent){
$parent = get_category($cat->parent);
$oyaName = $parent->name; // 親カテゴリー名称取得
$oyaSlug = $parent->slug; // 親カテゴリースラッグ取得
$oyaId = $parent->cat_ID; // 親カテゴリーID取得
$oyalink = get_category_link($oyaId); // 親カテゴリーリンクURL取得
}
?>

〇親カテゴリー名称取得【 <?php echo $oyaName ?> 】

〇親カテゴリーのスラッグを取得【 <?php echo $oyaSlug; ?> 】

〇親カテゴリーID取得【 <?php echo $oyaId ?> 】

〇親カテゴリーリンクURL取得【 <?php echo $oyalink; ?> 】


↓表示は、こんな感じ
2017-08-03-wp-cat-02.gif

↓繰り返したいときは、こんな感じ  親カテゴリーばーじょん
<?php
    $cats = get_the_category();
    foreach($cats as $cat):
	if($cat->parent) {
	$parent = get_category($cat->parent);
	$oyaSlug = $parent->slug; // 親カテゴリースラッグ取得
	$oyaName = $parent->name; // 親カテゴリー名称取得
	$oyaId = $parent->cat_ID; // 親カテゴリーID取得
	$oyalink = get_category_link($oyaId); // 親カテゴリーリンクURL取得

	echo '<li><a href="'; 
	echo $oyalink ;
	echo '">';
	echo $oyaName ;
	echo '</a></li>';
	echo $oyaSlug ;
	}
	endforeach;
?>

↓表示は、こんな感じ
2017-08-03-wp-cat-04.gif


↓子カテゴリーの場合は、ふつう?で良さそげです。
<?php
$cat = get_the_category(); // カテゴリー情報取得
$catName = $cat[0]->name; // 名称取得
$catSlug = $cat[0]->slug; // スラッグ取得
$catId = $cat[0]->cat_ID; // ID取得
$catlink = get_category_link($catId); // リンクURL取得
?>

〇子カテゴリー名称取得【 <?php echo $catName ?> 】

〇子カテゴリーのスラッグを取得【 <?php echo $catSlug; ?> 】

〇子カテゴリーID取得【 <?php echo $catId ?> 】

〇子カテゴリーリンクURL取得【 <?php echo $catlink; ?> 】


↓表示は、こんな感じ
2017-08-03-wp-cat-03.gif

↓繰り返したいときは、こんな感じ  子カテゴリーばーじょん
<?php
	$cats = get_the_category(); // カテゴリー情報取得
    foreach($cats as $cat):
	if($cat->parent) {
	$catSlug = $cat->slug; // スラッグ取得
	$catName = $cat->cat_name; // 名称取得
	$catId = $cat->cat_ID; // ID取得
	$catlink = get_category_link($catId); // リンクURL取得

	echo '<li><a href="'; 
	echo $catlink ;
	echo '">';
	echo $catName ;
	echo '</a></li>';
	echo $catSlug ;
	}
	endforeach;
?>

↓表示は、こんな感じ
2017-08-03-wp-cat-05.gif
WordPress むずかしいなぁ~~。。。。。


↓以下のサイトを参考にさせていただきました。ありがとうございました!
WordPress:親カテゴリーのスラッグ取得
WordPressのカテゴリー名を取得して表示、カテゴリーへのリンクを作る
親カテゴリは出力せずに子カテゴリ名だけ出力する@WordPress