WordPress functions.phpの各種設定

目次

function.phpでの設定

アイキャッチ画像設定

※説明

※説明


add_theme_support('post-thumbnails');

// アイキャッチ画像サイズ設定
// add_image_size('name', width, height, true(切取り));
// ex)
add_image_size('top', 1077, 622, true);
add_image_size('contribution', 557, 280, true);
add_image_size('front-contribution', 255, 189, true);
add_theme_support('post-thumbnails');

// アイキャッチ画像サイズ設定
// add_image_size('name', width, height, true(切取り));
// ex)
add_image_size('top', 1077, 622, true);
add_image_size('contribution', 557, 280, true);
add_image_size('front-contribution', 255, 189, true);
add_theme_support('post-thumbnails');

// アイキャッチ画像サイズ設定
// add_image_size('name', width, height, true(切取り));
// ex)
add_image_size('top', 1077, 622, true);
add_image_size('contribution', 557, 280, true);
add_image_size('front-contribution', 255, 189, true);

スタイルシート、Javascript等読み込み

※説明

※説明

function my_enqueue_scripts()
{
  wp_enqueue_script('jquery');
  wp_enqueue_script('bundle_js', get_template_directory_uri() . '/assets/js/bundle.js', array());
  wp_enqueue_style('my_styles', get_template_directory_uri() . '/assets/css/styles.css', array());
}
add_action('wp_enqueue_scripts', 'my_enqueue_scripts');
function my_enqueue_scripts()
{
  wp_enqueue_script('jquery');
  wp_enqueue_script('bundle_js', get_template_directory_uri() . '/assets/js/bundle.js', array());
  wp_enqueue_style('my_styles', get_template_directory_uri() . '/assets/css/styles.css', array());
}
add_action('wp_enqueue_scripts', 'my_enqueue_scripts');

サムネイル任意サイズ出力

※説明

※説明

//sample code
*******************************
*******************************

子ページを取得する関数

※説明

※説明

function get_child_pages($number = -1, $specified_id = null)
{
  if (isset($specified_id)) :
    $parent_id = $specified_id;
  else :
    $parent_id = get_the_ID();
  endif;
  $args = array(
    'posts_per_page' => $number,
    'post_type' => 'page',
    'orderby' => 'menu_order',
    'order' => 'ASC',
    'post_parent' => $parent_id,
  );
  $child_pages = new WP_Query($args);
  return $child_pages;
}
function get_child_pages($number = -1, $specified_id = null)
{
  if (isset($specified_id)) :
    $parent_id = $specified_id;
  else :
    $parent_id = get_the_ID();
  endif;
  $args = array(
    'posts_per_page' => $number,
    'post_type' => 'page',
    'orderby' => 'menu_order',
    'order' => 'ASC',
    'post_parent' => $parent_id,
  );
  $child_pages = new WP_Query($args);
  return $child_pages;
}

※説明

※説明

//sample code
*******************************
*******************************

抜粋分の文字数を制御

※説明

※説明

function cms_excerpt_more()
{
  return '...';
}
add_filter('excerpt_more', 'cms_excerpt_more');
function cms_excerpt_length()
{
  return 80;
}
add_filter('excerpt_mblength', 'cms_excerpt_length');
function cms_excerpt_more()
{
  return '...';
}
add_filter('excerpt_more', 'cms_excerpt_more');
function cms_excerpt_length()
{
  return 80;
}
add_filter('excerpt_mblength', 'cms_excerpt_length');

抜粋文関連の設定

※説明

※説明

// 抜粋機能を固定ページに使えるよう設定
add_post_type_support('page', 'excerpt');

//抜粋分を適度な長さに調整する
function get_flexible_excerpt($number)
{
  $value = get_the_excerpt();
  $value = wp_trim_words($value, $number, '...');
  return $value;
}

//抜粋分の文字列に開業タグを挿入
function apply_excerpt_br($value)
{
  return nl2br($value);
}
add_filter('get_the_excerpt', 'apply_excerpt_br');

ウィジェット機能を有効化

※説明

※説明

function theme_widgets_init()
{
  register_sidebar(array(
    'name' => 'サイドバーウィジェットエリア',
    'id' => 'primary-widget-area',
    'description' => '固定ページのサイドバー',
    'before_widget' => '<aside class="side-inner">',
    'after_widget' => '</aside>',
    'before_title' => '<h4 class="title">',
    'after_title' => '</h4>',

  ));
}
add_action('widgets_init', 'theme_widgets_init');

ページネーション

※説明

※説明

function the_pagination()
{
  global $wp_query;
  $bignum = 999999999;
  if ($wp_query->max_num_pages <= 1)
    return;
  echo '<nav class="pagination">';
  echo paginate_links(array(
    'base'         => str_replace($bignum, '%#%', esc_url(get_pagenum_link($bignum))),
    'format'       => '',
    'current'      => max(1, get_query_var('paged')),
    'total'        => $wp_query->max_num_pages,
    'prev_text'    => '&larr;',
    'next_text'    => '&rarr;',
    'type'         => 'list',
    'end_size'     => 3,
    'mid_size'     => 3
  ));
  echo '</nav>';
}

※説明

※説明

//sample code
*******************************
*******************************

※説明

※説明

//sample code
*******************************
*******************************

※説明

※説明

//sample code
*******************************
*******************************

※説明

※説明

//sample code
*******************************
*******************************

※説明

※説明

//sample code
*******************************
*******************************
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次