ワードプレス よく使うタグ

サイトマップ

ホームページとデザインの会社
株式会社ジェイプラン

menu
 
  ワードプレス よく使うタグ

ワードプレス よく使うタグ

そのぺーじのURLを表示する

<?php echo the_permalink(); ?>

 

「そのページのタイトル | そのサイトの名前」 を表示する

「ページのタイトル」
<?php wp_title(''); ?>

サイト名
<?php bloginfo('name'); ?>

「ページのタイトル | サイトの名前」
<?php wp_title( '|', true, 'right' ); bloginfo('name'); ?>

テーマファイルのディレクトリURL

<?php bloginfo('template_url'); ?>

各ページごとにテンプレートを選択できるようにする

書き方はsingle.phpと同じ

ヘッダーの呼び込みより上に以下を記載することでページ編集内でテンプレートを選択できるようになる。

(テンプレートネーム:News の場合)

<?php query_posts(‘post_type=post&paged=’.$paged); ?>

 

カスタムフィールドを利用して、keyword  description robots  その他meta情報を設定する

functions.php に以下を設定

<?php
// 「投稿」と「固定ページ」へカスタムフィールドを追加
add_action('admin_menu', 'add_custom_fields');
add_action('save_post', 'save_custom_fields');

// 記事ページと固定ページでカスタムフィールドを表示
function add_custom_fields() {
  add_meta_box( 'my_sectionid', 'カスタムフィールド', 'my_custom_fields', 'post');
  add_meta_box( 'my_sectionid', 'カスタムフィールド', 'my_custom_fields', 'page');
}
function my_custom_fields() {
  global $post;
  $robots = get_post_meta($post->ID,'robots',true);
  $keywords = get_post_meta($post->ID,'keywords',true);
  $description = get_post_meta($post->ID,'description',true);
  $toptitle = get_post_meta($post->ID,'toptitle',true);
  $headmeta = get_post_meta($post->ID,'headmeta',true);

  echo '<p>検索ロボット(all または noindex, follow)<br />';
  echo '<input type="text" name="robots" value="'.esc_html($robots).'" size="50" /></p>';
  echo '<p>キーワード(半角カンマ区切り)<br>';
  echo '<input type="text" name="keywords" value="'.esc_html($keywords).'" size="60" /></p>';
  echo '<p>ページの説明(description)30文字以上160文字以内</p>';
  echo '<textarea name="description" value="'.esc_html($description).'" maxlength="160" rows="4" cols="40" /></textarea>';
  echo '<p>H1タイトル<br>';
  echo '<input type="text" name="toptitle" value="'.esc_html($toptitle).'" size="60" /></p>';
  echo '<textarea name="headmeta" rows="4" cols="40" value="'.esc_html($headmeta).'"></textarea>';
}

// カスタムフィールドの値を保存
function save_custom_fields( $post_id ) {
if(!empty($_POST['robots']))
    update_post_meta($post_id, 'robots', $_POST['robots'] );
  else delete_post_meta($post_id, 'robots');

  if(!empty($_POST['keywords']))
    update_post_meta($post_id, 'keywords', $_POST['keywords'] );
  else delete_post_meta($post_id, 'keywords');

  if(!empty($_POST['description']))
    update_post_meta($post_id, 'description', $_POST['description'] );
  else delete_post_meta($post_id, 'description');

if(!empty($_POST['toptitle']))
    update_post_meta($post_id, 'toptitle', $_POST['toptitle'] );
  else delete_post_meta($post_id, 'toptitle');

if(!empty($_POST['headmeta']))
    update_post_meta($post_id, 'headmeta', $_POST['headmeta'] );
  else delete_post_meta($post_id, 'headmeta');
}

テンプレートの利用したい場所に以下のように書き込む

<?php 
$robots = get_post_meta($post->ID, 'robots', true);
$description = get_post_meta($post->ID, 'description', true);
$keywords = get_post_meta($post->ID, 'keywords', true);
$toptitle = get_post_meta($post->ID, 'toptitle', true);
$headmeta = get_post_meta($post->ID, 'headmeta', true);
?>

<?php
//headmetaの場合
if(empty($headmeta)): //何もなかったら以下を記載
?>
通常記載するもの
<?php else: //記載があれば以下コードでそれを呼びだす
?>
<?php echo $headmeta ?>
<?php endif;?>

使用例

<meta name="robots" content="<?php echo $robots ?>" />
<meta name="keywords" content="<?php echo $keywords ?>">
<meta name="description" content="<?php echo $description ?>">
<?php echo $headmeta ?>

抜粋を使う

<?php bloginfo('description'); ?>

 

アイキャッチを使う

functions.php に以下を設定

add_theme_support('post-thumbnails');

使用する場所に以下を記載

<?php echo get_the_post_thumbnail( $post_id, 'large', array( 'class' => 'alignleft' ) ); ?>
//()内のlarge は画像のサイズを指定。
//その他のサイズ指定は以下
the_post_thumbnail();                     // パラメータなし -> 'post-thumbnail'
 
the_post_thumbnail( 'thumbnail' );        // サムネイル (デフォルト 150px x 150px :最大値)
the_post_thumbnail( 'medium' );           // 中サイズ   (デフォルト 300px x 300px :最大値)
the_post_thumbnail( 'large' );            // 大サイズ   (デフォルト 640px x 640px :最大値)
the_post_thumbnail( 'full' );             // フルサイズ (アップロードした画像の元サイズ)
 
the_post_thumbnail( array( 100, 100 ) );  // 他のサイズ


アイキャッチのURLのみを利用する

<?php echo wp_get_attachment_url( get_post_thumbnail_id() ); ?>

例:アイキャッチがあればそれを meta property=”og:image” に利用する

<?php
if (is_singular()) {
        if (has_post_thumbnail($post_id)) {
            $ogimage = wp_get_attachment_url( get_post_thumbnail_id() );
        } else {
            $ssdir = get_stylesheet_directory_uri();
            $ogimage = $ssdir."/images/ogimg.jpg";
        }
    } else {
        $ssdir = get_stylesheet_directory_uri();
        $ogimage = $ssdir."/ogimg.jpg";
    }
 ?>
<meta property="og:image" content="<?php echo $ogimage; ?>">

又は

<?php 
 if (has_post_thumbnail($post_id)) {
        $image_id = get_post_thumbnail_id();
        $ogimage1 = wp_get_attachment_image_src($image_id, true);
$ogimage = $ogimage1[0];
}else {
$ssdir = get_stylesheet_directory_uri();
        $ogimage1 = $ssdir."/ogimg.jpg";
    }
?>
<meta property="og:image" content="<?php echo $ogimage; ?>">

投稿日時

<?php the_time('Y/m/d') ?> // 記事投稿時間
<?php the_modified_date('Y/m/d') ?> // 記事更新時間

 

ナビゲーションを表示

管理画面 > 外観 > メニュー で作成したメニューをサイトに表示します。

functions.php に以下を設定

// カスタムメニューを有効化 
add_theme_support( 'menus' );
<?php // TopMENUを使用
 wp_nav_menu( array('menu' => TopMENU' )); ?>

細かく設定の場合は以下
<?php
$wpmenu = array(
	'menu'            => 'TopMenu',
	'menu_class'      => 'menu', //ul の クラス名 デフォルト:menu
	'menu_id'         => 'menu',//ulのID。初期値: '{メニューのスラッグ}-{連番}'
	'container'       => false,//ulのラップ・親ボックス なしにする場合は false。初期値は'div'
	'container_class' => '',//初期値 'menu-{メニューのスラッグ}-container'
	'container_id'    => '',//初期値: なし
	'fallback_cb'     => 'wp_page_menu',//メニューが存在しない場合にコールバック関数を呼び出す
	'before'          => '',// リンクテキストの前のテキスト
	'after'           => '',//リンクテキストの後のテキスト
	'link_before'     => '',//リンクの前のテキスト
	'link_after'      => '',//リンクの後のテキスト
	'echo'            => true,//メニューをHTML出力する(true)か、PHPの値で返す(false)か
	'depth'           => 0,//何階層まで表示するか。0 は全階層。
);
wp_nav_menu( $wpmenu );
?>

</head>前の決まり

<?php wp_head(); ?> を入れる

</footer>前の決まり

<?php wp_footer(); ?> を入れる

次のページのリンク index.html用

<!-- pager -->
<?php if ( $wp_query -> max_num_pages > 1 ) : ?>
<!--もしページ数が 1ページより多かったら-->
<div class="navigation">
<div class="alignleft"><?php next_posts_link('« PREV'); ?></div>
<div class="alignright"><?php previous_posts_link('NEXT »'); ?></div>
</div> <?php endif; ?>
<!-- /pager -->

 

表示している投稿は一覧表示に含まない

<?php
  $args = array(
      'cat' => '4',//カテゴリー4の投稿
      'post__not_in' => array($post->ID),//現在の投稿を含まない
       'post_status' => 'publish', // 公開済の投稿
      'posts_per_page' => 8 // 投稿を8件表示
      );
  $the_query = new WP_Query($args); if($the_query->have_posts()):
?>
       <?php while ($the_query->have_posts()): $the_query->the_post(); ?>
ループする内容
<?php endwhile;// 繰り返し処理終了
else : // ここから記事が見つからなかった場合の処理
?>
              <p class="headline h3">記事はありません</p>
<p class="btn col-btn btn-brown">お探しの記事は見つかりませんでした。</p>
               <?php endif; ?>

 

array();  で絞り込める内容

  'post_type' => 'カスタム投稿タイプ名', // カスタム投稿タイプ
 'post__not_in' => array( 1,2,3,4 ),//投稿ID 1,2,3,4 を除外
    'tax_query' => array(
      array(
        'taxonomy' => 'カスタム分類名', //
        'field' => 'slug',
        'terms' => 'ターム名', // ターム名 で絞り込む
     'operator' => 'NOT IN', // ターム名を除外する
'order' => 'ASC'//昇順で並び変え
      )
    )

 

印刷はこんなに安かったの?

梅オーナー情報はこちら

おすすめレンタルサーバー

独自SLLが無料!月額100円~使える!使いやすく初心者にお勧め!


ホームページお役立ち情報

記事はありません

お探しの記事は見つかりませんでした。

東京・千葉の中国語教室

中国語教室