カテゴリー
WordPress

何度書いても忘れてしまうカスタム投稿のカテゴリー(Taxonomy)を表示する

WordPressに久しぶりにさわったら全てを忘れていた。当然、カスタム投稿のカテゴリーを表示する方法など覚えておらず、なんとなーく「タクソノミーの何かだよな・・・」と頭の片隅の記憶を頼りに、検索検索検索検索して表示させることができた。postのループの中で使用すれば、どのカスタム投稿でも使用できる。

<?php

$tax_slug = array_keys(get_the_taxonomies())[0];

$terms = get_the_terms($post->ID,$tax_slug);

foreach( $terms as $term ) {

echo $term->name . ",";

}

?>

WordPressコーディックスってなくなってしまったん(リンク切れ、エラー表示が多い)?英語のリファレンスしかなくて不便になってしまった。

カテゴリー
WordPress

ロゴのリンク先を変更

//ロゴのリンク先を変更
function custom_login_logo_url() {
              return get_bloginfo( 'url' );
}
add_filter( 'login_headerurl', 'custom_login_logo_url' );

と、昔のメールに書いてあった。今も動くのだろうか。

カテゴリー
WordPress

ログインしていないと閲覧できないようにする

すぐ忘れちゃう。。たぶん、過去にも書いている。

ログインしていないと閲覧できないようにする。絶対パスで読み込んでいるもの等、header.phpを通らないものは閲覧できてしまうので注意。

if (!is_user_logged_in()) {
    auth_redirect();
}

カテゴリー
WordPress

管理画面から記事を編集しようとすると500エラー

管理画面から特定の記事を編集しようとすると500エラーを返すというのでみてみた。どうやらリピーターフィールドを大量に使用している記事で、メモリーオーバしているよう。で、下記をwp-config.phpに記述。

define('WP_MAX_MEMORY_LIMIT', '1024M');

現場にはページを軽くしようという概念はないのだ。仕方ない。

下記の記事を参考にしました。ありがとうございます。
http://streamline-jp.net/nextlife/2015/09/16/10233/

カテゴリー
WordPress

posttypeのラベル名を表示

カテゴリーテンプレートでposttypeのラベルを表示させたくなった。んで、いつも悩むのである。とりあえず下記のコードで表示することができた。いつものごとく、あまり理解しないで実装している。ちゃんとしないとなあ。

<?php echo esc_html( get_post_type_object(get_post_type())->label ); ?>

カテゴリー
WordPress

記事がないカテゴリが表示されるという現象

ときに原因不明の事象が起こり、いろいろいじっているうちに回復するときがある。今回もそうだ。時間が限られているので原因究明までは至らないが、状況だけ残しておくこととす。

あるカスタム投稿の記事が無いにも関わらず、表画面からは項目名(タクソノミーの名前)を表示する不具合がおきた。結論として、カスタム投稿内のごみ箱を空にしたら回復した。ごみ箱の中に該当のタクソノミーに属する記事があったからだと思われる。しかし、ごみ箱には他のタクソノミーに属する記事も存在していた。それは表示されていない。まるごと削除してしまったので、その後調査はできず…!1時間も消費してしまった。午前中が終わってしまうので、現場からは以上です。

カテゴリー
WordPress

ACFでタクソノミータームのフィールド値を取得

カテゴリ(タクソノミーターム)ごとにWebアイコンを変えたかったので、ACFでタクソノミータームごとにフィールドを設置できる設定を行ったが、表示方法がよくわからなかった。

こちらのブログに習って設置しました。ありがとうございます。

https://hirashimatakumi.com/blog/1365.html
Advanced Custom Fields で登録したタームのフィールド値を取得する方法

 

実際に設置したコードはこちら。Webアイコンの名前を出力している。

$terms = get_terms('タクソノミー名');
foreach ( $terms as $term ) {
$terms_id = $term->term_id; //termIDを取得

//省略

$icon_name = get_field('フィールド名','タクソノミー名_'.$terms_id);
echo $icon_name;

}

 

カテゴリー
WordPress

見出しと所属する記事の一覧表示

人は忘れる。そして同じところで躓く。今回もそうだった。従って忘れないうちにメモをしておく。

以下はカスタム投稿で固定ページテンプレートを使用する際、見出し(タクソノミーターム)と所属する記事を一覧表示させたいときに使用した。2つのループを使用している。説明不足だが、自分への忘備録なのでご理解いただきたい。

<!-- パラメータ取得&見出しループスタート -->
<?php $terms = get_terms('タクソノミー名'); foreach ( $terms as $term ) { $terms_name = $term->name;
$terms_slug = $term->slug;
?>

<h2><?php echo $terms_name;?></h2>

<!-- 入れ子 -->
<?php $args = array( 'post_type' => 'ポストタイプ名',
	'tax_query' => array(
		array(
			'taxonomy' => 'タクソノミー名',
			'field'    => 'slug',
			'terms'    => $terms_slug,
		),
	),
);
$the_query = new WP_Query( $args ); ?>

<ul>
<?php if ( $the_query->have_posts() ) : ?>
	<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>

		
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>


	<?php endwhile; ?>
	<?php wp_reset_postdata(); ?>
<?php else : ?>
	

<?php esc_html_e( 'Sorry, no posts matched your criteria.' ); ?>

<?php endif; ?>
</ul>

<!-- 入れ子ここまで -->
<?php } ?>
<!-- 見出しループここまで -->

カテゴリー
WordPress

Contact Form7にショートコードを登録

Contact Form7に投稿記事を挿入したかったので、ショートコードを使って記事を挿入することにした。ネット上にあまり情報がなかったので、忘備録として記録する。

Functions.phpに下記を記述。

// Contact Form 7 にショートコードを追加
function wpcf7_description( $tag ) {
$tag = new WPCF7_Shortcode( $tag );
$count = $tag->get_option( 'count', '', true );
$content = get_post( $count );
return $content->post_content;
}
wpcf7_add_form_tag( 'description', 'wpcf7_description' );

Contact Form7管理画面のフォームには下記のように記述。

[description count:10]

無事、Post=10の記事を抽出することができた。

下記サイトを参考にしました。感謝。

Contact Form 7用のショートコードを作成する

以前、ショートコードを登録する際使われていたwpcf7_add_shortcodeタグは非推奨になっているようだ。公式によると、wpcf7_add_form_tagの使用を推奨している。

Contact Form 7 4.6リリースノートより

Contact Form 7 4.6

カテゴリー
WordPress

グーテンバーガーは語らない

(この投稿はGutenbergエディタのテストです)

昔、まだパソコンがマイコンと呼ばれていた時代の話である。場所は埼玉県の片田舎に「ダザニーランド」という名前の遊園地があった。地元でも知る人は少なく、インターネットもなかった時代であるから、どんな遊園地は知る由もなかった。春男がダザニーランドへ来ることになったのは、新聞の折り紙広告に清掃員募集の求人広告を見て、応募したからである。それまで春男はダザニーランドを知らなかったが、片田舎の遊園地の清掃員はおそらく暇であろうということと、思いのほか報酬がよかったことから、なんとなく応募したのであった。

(つづく)

Gutenbergの第一印象は「Mediumみたいなだな」です。エディタはすっきりして好み、このエディタがそのまま表のデザインとして出力するようなテーマが欲しいと思いました。おわり。