今朝、Cocoonのショートコードで作成したHTMLサイトマップを確認していて気付いたのだが、「投稿一覧」がアルファベット昇順で並んでいることに気付いた。
引数で対応することもできないようだったので、ショートコード自体を先制宣言することにしました。
なお、Cocoon以外のテーマでもこのショートコードは使えるため、プラグイン無しでHTMLサイトマップを作成したい人にもご活用いただけます。
設置するPHPコード
functions.phpに処理を追加します。
./wp-content/themes/cocoon-child-master/functions.php・・・
// sitemapショートコード改良
if (!function_exists('sitemap_shortcode')) {
function sitemap_shortcode($atts, $content = null)
{
extract(shortcode_atts([
'page' => 1,
'single' => 1,
'category' => 1,
'archive' => 0,
], $atts, 'sitemap'));
$html = '<div class="sitemap">';
if ($page) {
$html .= '<h2>' . apply_filters('sitemap_page_caption', __('固定ページ', THEME_NAME)) . '</h2>';
$html .= '<ul>' . wp_list_pages(['title_li' => '', 'echo' => 0]) . '</ul>';
}
if ($single) {
$html .= '<h2>' . apply_filters('sitemap_single_caption', __('記事一覧', THEME_NAME)) . '</h2>';
$html .= '<ul>' . wp_get_archives(['type' => 'postbypost', 'echo' => 0]) . '</ul>';
}
if ($page) {
$html .= '<h2>' . apply_filters('sitemap_category_caption', __('カテゴリー', THEME_NAME)) . '</h2>';
$html .= '<ul>' . wp_list_categories(['title_li' => '', 'echo' => 0]) . '</ul>';
}
if ($page) {
$html .= '<h2>' . apply_filters('sitemap_archive_caption', __('月別アーカイブ', THEME_NAME)) . '</h2>';
$html .= '<ul>' . wp_get_archives(['type' => 'monthly', 'echo' => 0]) . '</ul>';
}
$html .= '</div>';
return $html;
}
add_shortcode('sitemap', 'sitemap_shortcode');
}
・・・
コード要所解説
元となるソースコードを参考にしつつ、ob_start関数は使わない方向で修正を行っています。
wp_get_archives(['type' => 'postbypost', 'echo' => 0])
で投稿一覧を出力しますが、「type」の設定を「alpha」から「postbypost」に変更することで、アルファベット昇順から公開日降順で表示されるようになります。
ついでなので見出し文言を「投稿一覧」から「記事一覧」に修正しています。
参考サイト
wp_get_archives関数などを標準出力ではなく、文字列取得できないか調べる際に大変参考になりました。

https://elearn.jp/wpman/
以上です。
コメント
kamagra sans ordonnance canadienne
kamagra generique comtat venaissin
buying enclomiphene generic europe
online order enclomiphene australia over the counter
how to order androxal without rx online
buy cheap androxal cheap real
flexeril cyclobenzaprine drug class
flexeril cyclobenzaprine on line cash on delivery
how to buy dutasteride price in us
cheapest buy dutasteride canada generic
how to buy gabapentin generic available in united states
how to buy gabapentin canada cost
how to order fildena united kingdom
buying fildena buy singapore
how to order itraconazole cost insurance
how to order itraconazole generic india
how to order staxyn buy in the uk
buying staxyn australia pharmacy
how to order avodart purchase online uk
buy cheap avodart generic when will be available
buy xifaxan generic available in united states
where can you get xifaxan with out a perskripion
cheap rifaximin generic uk buy
purchase rifaximin canadian online pharmacy
generický kanadský kamagra co bez lékařského předpisu
kamagra ceny walmart