こんにちは
show_last_update パラメータは、バージョン 3.4 で削除されたようです。
wp_list_categories() はリストをレンダリングする Walker クラスを指定できるので、これを使用して投稿日を追加するのもいいかもしれませ。
例)
functions.php 等に、
class My_Walker_Category extends Walker_Category {
var $date_format;
function __construct( $date_format ) {
$this->date_format = $date_format;
}
function start_el( &$output, $category, $depth, $args ) {
$output .= '<li><a href="' . get_category_link( $category->term_id ) . '" title="' . esc_attr( $category->name ) . '" rel="category">' . $category->cat_name . '</a>';
$args = array(
'posts_per_page' => 1,
'tax_query' => array( array(
'taxonomy' => 'document-cat',
'field' => 'term_id',
'terms' => $category->term_id
) )
);
if ( $posts = get_posts( $args ) ) {
$output .= ' ' . date( $this->date_format, strtotime( $posts[0]->post_date ) );
}
}
}
テンプレートに、
<?php wp_list_categories( array( 'taxonomy' => 'document-cat', 'walker' => new My_Walker_Category( get_option( 'date_format' ) ) ) ); ?>
トピック投稿者
SxS
(@sinore-laxdesigncom)
ishikita様、こんにちは。
ソースをありがとうございました!
上記、試しましたところ互換性のエラーが出ましたので、
function start_el( &$output, $category, $depth, $args ) {
を
function start_el( &$output, $category, $depth = 0, $args = array(), $id = 0){
と、
させていただきました。
そしてテンプレートで出力を・・と思ったのですが、出力されませんでした。
タクソノミー出力は正常に出来ているので、一番最後のdateのところか・・?と思ってはいるのですが、今一度ヒントをご教示いただけましたら幸いです。
何卒よろしくお願い申し上げます。
上記、試しましたところ互換性のエラーが出ましたので、
失礼しました(汗
出力されませんでした。
get_posts() で投稿を取得できていないのかもしれません。
取得できているかどうかを調べるため下記のように変更してみてはどうでしょうか。
if ( $posts = get_posts( $args ) ) {
$output .= ' ' . date( $this->date_format, strtotime( $posts[0]->post_date ) );
}
↓
if ( $posts = get_posts( $args ) ) {
$output .= ' ' . date( $this->date_format, strtotime( $posts[0]->post_date ) );
} else {
$output .= ' 投稿がありません。';
}
なお、コード中の “document-cat” は実際のタクソノミーの名前を記述してください。
ちなみに、タクソノミーの名前にハイフンは使えません。
http://wpdocs.osdn.jp/関数リファレンス/register_taxonomy
wp_list_categories() の代わりに、get_categories() を使用するのもいいかもしれません。
テンプレートに、
<?php
$date_format = get_option( 'date_format' );
$categories = get_categories( array( 'taxonomy' => 'タクソノミーの名前' ) );
echo '<ul>';
foreach ( $categories as $category ) {
echo '<li><a href="' . get_category_link( $category->term_id ) . '" title="' . esc_attr( $category->name ) . '" rel="category">' . $category->cat_name . '</a>';
$args = array(
'posts_per_page' => 1,
'orderby' => 'date',
'tax_query' => array( array(
'taxonomy' => 'タクソノミーの名前',
'field' => 'term_id',
'terms' => $category->term_id
) )
);
if ( $my_posts = get_posts( $args ) ) {
echo ' ' . date( $date_format, strtotime( $my_posts[0]->post_date ) );
} else {
echo ' 投稿がありません。';
}
echo '</li>' . "\n";
}
echo '</ul>';
?>
トピック投稿者
SxS
(@sinore-laxdesigncom)
ishikita様、ありがとうございました!!!!
両コードとも、いけました!!!!
初めは、「投稿がありません」と出てくるのでおかしいな、と思ったのですが、
$args = array(
に
'post_type' => 'document',
を追加したら素晴らしく完璧に表示されました!!!!
とても嬉しいです!!ありがとうございます。
拙い説明をご理解いただき、感謝しております。
解決済みとさせていただきます!!
ありがとうございました!!!