wordpressのfunctions.phpにデフォルトで記述したいこと

カスタムフィールドを検索対象にする

//カスタムフィールドを検索対象にする
function custom_search($search, $wp_query) {

    global $wpdb;

    if (!$wp_query->is_search) return $search;
    if (!isset($wp_query->query_vars)) return $search;

    $search_words = explode(' ', isset($wp_query->query_vars['s']) ? $wp_query->query_vars['s'] : '');

    if ( count($search_words) > 0 ) {
        $search = '';
        $search .= "AND post_type = 'post'";
        foreach ( $search_words as $word ) {
            if ( !empty($word) ) {
                $search_word = '%' . esc_sql( $word ) . '%';
                $search .= " AND (
                {$wpdb->posts}.post_title LIKE '{$search_word}'
                OR {$wpdb->posts}.ID IN (
                SELECT distinct post_id
                FROM {$wpdb->postmeta}
                WHERE {$wpdb->postmeta}.meta_key IN ('num') AND meta_value LIKE '{$search_word}'
                )
                ) ";
            }
        }
    }
    return $search;
}
add_filter('posts_search','custom_search', 10, 2);

ショートコードでphpを読み込む

// ショートコードでphpを読み込む
function Include_my_php($params = array()) {
  extract(shortcode_atts(array(
      'file' => 'default'
  ), $params));
  ob_start();
  include(get_theme_root() . '/' . get_template() . "/$file.php");
  return ob_get_clean();
}
 
add_shortcode('myphp', 'Include_my_php');// ショートコード

テーマ内のparts-myphp.php を 呼ぶ場合のショートコード
[myphp file='parts-myphp']