• 著者:管理人
  • 記事の最終変更日:2024年8月25日

CSS

ダッシュボード>外観>カスタマイズ>追加CSSや、Scripts n Styles(プラグイン)等でコピペして使用します。

				
					/*ドロップダウンメニュー幅変更*/
.dropdown-menu li .sub-menu li.menu-item {
    width: 185px;
}
				
			
				
					/*ドロップダウンメニューで親が空の場合のカーソル変更*/
li#menu-item-169,li#menu-item-287,li#menu-item-1960 {
    cursor: context-menu;
}
				
			
				
					/*モバイルでのドロップダウンメニューで、サブメニューをインデントして階層明示*/
@media(max-width:959px){
ul.sub-menu {
    padding-left: 20px;
}
}
				
			
				
					/*モバイル時のハンバーガーアイコンの位置調整*/
a.mobile-menu {
    bottom: 1px;
    position: relative;
}
				
			
				
					/*カスタムメニューからのショートコード記述で、ラベル分スペースを削除(プラグインShortcode in Menus3.5.1使用時且つ「ダッシュボード>外観>メニュー」のタブに表示されない時)*/
li.menu-item.menu-item-type-custom.menu-item-object-custom.menu-item-1826 a:first-child,li.menu-item.menu-item-type-custom.menu-item-object-custom.menu-item-1888 a:first-child,li.menu-item.menu-item-type-custom.menu-item-object-custom.menu-item-1889 a:first-child {
    display: none !important;
}
				
			

PHP追加(直上CSSとセット)

プラグインShortcode in Menus3.5.1を使用してメニューに追加するための、指定した投稿記事を取得するショートコードを生成します。該当記事が無い場合はメニューでも非表示となります。
Shortcode in Menus3.5.1は、「ダッシュボード>外観>メニュー」タブに表示されていなくても生きているようです。URLに「#」、ナビゲーションラベルにショートコードを記述して、メニューに追加します。メニューに追加完了後は#を消去可能です。
PHPは、①ダッシュボード>外観>テーマファイルエディター>テーマのための関数(functions.php)や②「子テーマ」のテーマのための関数(functions.php)に追記するか、③Code Snippets(プラグイン)等でコピペして使用します。①はテーマの更新で消失します。②③は更新の影響を受けません。

				
					// 最新の投稿を取得するショートコード
function latest_post_link_shortcode() {
    $latest_post = get_posts(array(
        'numberposts' => 1, // 最新の投稿1件のみを取得
    ));
    
    if ($latest_post) {
        $latest_post_id = $latest_post[0]->ID;
        $latest_post_title = $latest_post[0]->post_title;
        $latest_post_permalink = get_permalink($latest_post_id);
        
        return '<a href="' . esc_url($latest_post_permalink) . '" class="menu-link">最新の記事</a>';
    }
    
    return ''; // 最新の投稿が見つからない場合は空の文字列を返す
}
add_shortcode('latest_post_link', 'latest_post_link_shortcode');


// 現在表示している記事の、ひとつ前の記事を取得するショートコード
function prev_post_link_shortcode() {
    // 現在のページがブログ記事ページかどうかをチェック
    if (is_singular('post')) {
        $prev_post = get_previous_post();
    } else {
        // ブログ記事ページでない場合、何もしない(メニューも非表示)
        $prev_post = null;
    }

    $output = '';

    if ($prev_post) {
        $output .= '<a href="' . get_permalink($prev_post->ID) . '" class="menu-link">ひとつ前の記事(古)</a>';
    } else {
        // ひとつ前の記事がない場合、何もしない(メニューも非表示)
        return ''; 
    }

    return $output;
}
add_shortcode('prev_post_link', 'prev_post_link_shortcode');


// 現在表示している記事の、ひとつ後の記事を取得するショートコード
function next_post_link_shortcode() {
    // 現在のページがブログ記事ページかどうかをチェック
    if (is_singular('post')) {
        $next_post = get_next_post();
    } else {
        // ブログ記事ページでない場合、何もしない(メニューも非表示)
        $next_post = null;
    }

    $output = '';

    if ($next_post) {
        $output .= '<a href="' . get_permalink($next_post->ID) . '" class="menu-link">ひとつ後の記事(新)</a>';
    } else {
        // ひとつ後の記事がない場合、何もしない(メニューも非表示)
        return ''; 
    }

    return $output;
}
add_shortcode('next_post_link', 'next_post_link_shortcode');