前提・実現したいこと
wordpress初心者です。
勉強のため、head内のtitleが自動生成されるプログラムを作成しています。
例:表示ページが孫ページの場合
孫ページ|子ページ|親ページ|祖父ページ|サイト名
上記のように親要素などがあれば、それらも出力させたいのですが、
孫・子は出力されますが親以降の先祖がうまく出力できません。
具体的には以下のように出力されます。
孫ページ|子ページ|サイト名
ショートコードにして、headerに埋め込んだところ問題なく表示されたので
フック、もしくはプロパティの設定に問題があるのでは?と考えているのですが、、、
phpの文法もあやふやでお恥ずかしいのですが、こういう際のデバックの仕方なども教えていただけると嬉しいです。
よろしくお願いします。
該当のソースコード
add_theme_support( 'title-tag' ); function get_pagettl( $ttl ){ $wp_obj = $wp_obj ?: get_queried_object(); $page_id = $wp_obj->ID; $page_title = $wp_obj->post_title; if ( $wp_obj->post_parent !== 0 ) { $parent_array = array_reverse( get_post_ancestors( $page_id ) ); foreach( $parent_array as $parent_id ) { $ttl = ' | '.get_the_title( $parent_id ).' | '; } }else{ $ttl = ' | ' ; } return $ttl; } add_filter( 'document_title_separator', 'get_pagettl' );
###試してみたこと
パンくずも似た感じと思い、ショートコードにしてしてみたところ
こちらは問題なく出力されました。
###バージョンなど
使用しているバージョンはwordpress-5.0.3です。
回答1件
あなたの回答
tips
プレビュー