MENU

SWELLのfunction.phpのバックアップ

備忘録として。

2025.3.30現在

<?php

/* 子テーマのfunctions.phpは、親テーマのfunctions.phpより先に読み込まれることに注意してください。 */

function my_child_block_editor_styles() {
    wp_enqueue_style(
        'my-child-block-editor-styles',
        get_stylesheet_directory_uri() . '/editor-style.css',
        array(),
        filemtime( get_stylesheet_directory() . '/editor-style.css' ) // キャッシュ対策
    );
}
add_action( 'enqueue_block_editor_assets', 'my_child_block_editor_styles' );

// HTMLサイトマップ用のショートコード
function custom_html_sitemap() {
    $output = '';

    // 固定ページ一覧
    $output .= '<h2>固定ページ</h2><ul>';
    $pages = get_pages(array('sort_column' => 'menu_order'));
    foreach ($pages as $page) {
        $output .= '<li><a href="' . get_permalink($page->ID) . '">' . esc_html($page->post_title) . '</a></li>';
    }
    $output .= '</ul>';

    // 投稿(カテゴリー別)
    $output .= '<h2>投稿</h2>';
    $categories = get_categories();
    foreach ($categories as $category) {
        $output .= '<h3>' . esc_html($category->name) . '</h3><ul>';
        $posts = get_posts(array(
            'category' => $category->term_id,
            'numberposts' => -1,
        ));
        foreach ($posts as $post) {
            $output .= '<li><a href="' . get_permalink($post->ID) . '">' . esc_html($post->post_title) . '</a></li>';
        }
        $output .= '</ul>';
    }

    return $output;
}
add_shortcode('custom_sitemap', 'custom_html_sitemap');

/**
 * 親テーマのfunctions.phpのあとで読み込みたいコードはこの中に。
 */
// add_filter('after_setup_theme', function(){
// }, 11);


/**
 * 子テーマでのファイルの読み込み
 */
add_action('wp_enqueue_scripts', function() {
	
	$timestamp = date( 'Ymdgis', filemtime( get_stylesheet_directory() . '/style.css' ) );
	wp_enqueue_style( 'child_style', get_stylesheet_directory_uri() .'/style.css', [], $timestamp );

	/* その他の読み込みファイルはこの下に記述 */

}, 11);
よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次