Category: wordpress


2012/12/21

トップページ等好きな場所に固定ページの内容を表示させる方法

<?php
 $page_id = 9999;//数字はページのIDを入れてください
 $page = get_page($page_id, 'OBJECT' , edit); //指定したページのIDの情報を取得
 $page_include = apply_filters( 'the_content',$page->post_content); //ページの本文をフィルターフックで整形してます
 echo $page_include; //出力します
 ?>
2012/12/21

カスタムフィールドの読み込み

まだよくわかっていないのですが、一応下記のような区別でいつも使っています。

改行なしのテキスト

<?php echo get_post_meta($post->ID,"●●●",true); ?>

未入力の場合非表示

<?php if(post_custom(‘●●●’)): ?>
<?php echo get_post_meta($post->ID,"●●●",true); ?>
<?php endif; ?>

 

 

<?php the_content(”); ?>と同じ役割を果たしてくれる。

<?php echo apply_filters('the_content', get_post_meta($post->ID, '●●●', true)); ?>

未入力の場合非表示

<?php if(post_custom(‘●●●’)): ?>
<?php echo get_post_meta($post->ID,"●●●",true); ?>
<?php endif; ?>

 

画像

<?php echo wp_get_attachment_image(get_post_meta($post->ID,"●●●",true),'medium'); ?>

未入力の場合非表示

<?php if(post_custom(‘●●●’)): ?>
<?php echo wp_get_attachment_image(get_post_meta($post->ID,"●●●",true),'medium'); ?>
<?php endif; ?>

 

画像URL

<?php $image = wp_get_attachment_image_src(post_custom('●●●'),'full'); echo $image[0]; ?>
2012/12/21

最新の一つ目の記事とそれ以降でスタイルを変える

記事の一件目は、アイキャッチ画像や、抜粋文を乗せて、それ以降は、日付とタイトルだけでいい。

というときに使います。

<?php if (have_posts()) : ?>
<?php $count = 0; while(have_posts()) : the_post(); ?>
 <?php $count++; ?>
 <?php if($count == 1) : ?>

(…1件目の記事…)

<?php else : ?>

(…2件目以降の記事…)

<?php endif; ?>
 <?php endwhile; ?>
 <?php endif; ?>
2012/12/21

ウィジットスペース追加

function.php

<?php

if ( function_exists(‘register_sidebar’) )
register_sidebar(array(
‘name’=>’Left-side’,
‘before_widget’ => ‘<div>’,
‘after_widget’ => ‘</div>’,
‘before_title’ => ‘<h2>’,
‘after_title’ => ‘</h2>’,
));


/** 以下を追加 */
register_sidebar(array(
‘name’=>’名前’,
‘before_widget’ => ‘<div>’,
‘after_widget’ => ‘</div>’,
‘before_title’ => ‘<h2>’,
‘after_title’ => ‘</h2>’,
));

?>

ウィジェットを出力

【テンプレートに追加コード】

<?php if (!function_exists('dynamic_sidebar') || !dynamic_sidebar('2')) : ?>
<!-- ウィジェットが設定されていない場合の出力をここに記述します -->
<?php endif; ?>
2012/12/21

アクセス制限

プラグインに頼らず、簡単にアクセス制限をかけれます。

function.php

<?php
/** アクセス制限 */
function require_login() {
if ( ! is_user_logged_in() && ! preg_match( ‘/^(wp-login\.php|async-upload\.php)/’, basename( $_SERVER[‘REQUEST_URI’] ) ) && ! ( defined( ‘DOING_AJAX’ ) && DOING_AJAX ) && ! ( defined( ‘DOING_CRON’ ) && DOING_CRON ) ) {
auth_redirect();
}
}
add_action( ‘init’, ‘require_login’ );
?>
2012/12/21

WordPressでアイキャッチの設定

WordPressでは、投稿ごとにアイキャッチ画像(サムネイル)を入れることが出来ます。
まずは、function.phpに以下のコードを追加します。 

function.php

/** 投稿サムネイル画像(アイキャッチ画像)を表示 */
if ( function_exists( 'add_theme_support' ) )
add_theme_support( 'post-thumbnails' );

/**投稿一覧にサムネイルを表示 */
if ( !function_exists('fb_AddThumbColumn') && function_exists('add_theme_support') ) {

// for post and page
add_theme_support('post-thumbnails', array( 'post', 'page', 'カスタムポスト名' ) );

function fb_AddThumbColumn($cols) {

$cols['thumbnail'] = __('Thumbnail');

return $cols;
}

function fb_AddThumbValue($column_name, $post_id) {

$width = (int) 35;
$height = (int) 35;

if ( 'thumbnail' == $column_name ) {
// thumbnail of WP 2.9
$thumbnail_id = get_post_meta( $post_id, '_thumbnail_id', true );
// image from gallery
$attachments = get_children( array('post_parent' => $post_id, 'post_type' => 'attachment', 'post_mime_type' => 'image') );
if ($thumbnail_id)
$thumb = wp_get_attachment_image( $thumbnail_id, array($width, $height), true );
elseif ($attachments) {
foreach ( $attachments as $attachment_id => $attachment ) {
$thumb = wp_get_attachment_image( $attachment_id, array($width, $height), true );
}
}
if ( isset($thumb) && $thumb ) {
echo $thumb;
} else {
echo __('None');
}
}
}

// for posts
add_filter( 'manage_posts_columns', 'fb_AddThumbColumn' );
add_action( 'manage_posts_custom_column', 'fb_AddThumbValue', 10, 2 );

// for pages
add_filter( 'manage_pages_columns', 'fb_AddThumbColumn' );
add_action( 'manage_pages_custom_column', 'fb_AddThumbValue', 10, 2 );
}

 

アイキャッチ画像を読み込むのは、以下のコードをテンプレートファイルに追加します。

 

テンプレートファイル

<?php if ( has_post_thumbnail() ): // サムネイルを持っているときの処理 ?>

<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>">
<?php $title= get_the_title(); the_post_thumbnail('画像サイズのID', array( 'alt' =>$title, 'title' => $title)); ?>
</a>

<?php else: // サムネイルを持っていないときの処理 ?>
<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>">
<img src="<?php bloginfo('template_url'); ?>/img/noimg.jpg(サムネイルを持っていないときの画像)" alt=""/>
</a>
<?php endif; ?>

画像サイズのIDには以下が設定できます。

thumbnail : サムネイル
medium : 中サイズ
large : 大サイズ
full : フルサイズ