//複数サイドバーを使える register_sidebars(5, array()); 指定の場所に <?php dynamic_sidebar();?>
カテゴリー: Code コード
投稿タグカンマ表示
<?php the_tags('タグ: ',' > '); ?>
参考
http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/the_tags
記事の文字を指定数で続きを読む
<?php echo mb_substr(get_the_excerpt(),0, 240);?><br /> <div class="alignright a_color" style="font-size:14px;"><a href="<?php the_permalink();?>">全文▶</a></div>
マニュアル設置覚え
wp-admin/imgに画像
Dにtori.php
ファンクションに
//管理メニュー追加 function test_menu_page() { $siteurl = get_option( 'siteurl' ); ?> <div class="wrap"> <h2>マニュアル</h2> <?php include("tori.php"); ?> </div> <?php } function test_admin_menu() { add_menu_page( 'マニュアル', 'マニュアル', 'read', __FILE__, 'test_menu_page' ); } add_action( 'admin_menu', 'test_admin_menu' );
youtube を カスタムフィールドで管理する
http://kachibito.net/wordpress/youtube-tips.html
<?php if(get_post_meta($post->ID, 'YTid', true)): ?> <iframe width="649" height="395" src="http://www.youtube.com/embed/<?php echo get_post_meta($post->ID, 'YTid', true); ?>?rel=0" frameborder="0" allowfullscreen></iframe> <?php endif; ?>
VK Post Author Display改造 ポストオーサープラグイン
$profileUnit = '<h4>'.$author_box_title.'</h4>'. '<div id="avatar">'.get_avatar( get_the_author_meta('email'), 80 ).'</div>'. '<dl id="profileTxtSet">'. '<dt>'.'<span id="authorName">'.get_the_author_meta( 'display_name' ).'</span>'; if(isset($caption)):
を
$profileUnit = '<h4>'.$author_box_title.'</h4>'. '<div id="avatar">'.get_avatar(get_the_author_id(), 80).'</div>'. '<dl id="profileTxtSet">'. '<dt>'.'<span id="authorName">'.get_the_author_meta( 'display_name' ).'</span>';
‘
‘.
php the_time 投稿時間
http://webway.seesaa.net/article/128282171.html
'Y年m月d日(D)' ⇒ 2009年09月09日(木) 'Y/m/d' ⇒ 2009/09/09 'Y年n月j日(D)' ⇒ 2009年9月9日(木) 'Y/n/j' ⇒ 2009/9/9 'Y年m月d日(D)h時i分s秒' ⇒ 2009年09月09日(木)09時09分09秒 'Y/m/d h:i:s' ⇒ 2009/09/09 09:09:09
タグをリンク付きでリスト表示 さらにカレント
<ul> <li>タグ</li> <?php $tagList = $wpdb->get_results($wpdb->prepare(" SELECT t.term_id,t.name,t.slug,tt.count FROM $wpdb->terms AS t JOIN $wpdb->term_taxonomy AS tt USING(term_id) WHERE tt.taxonomy = 'post_tag' ORDER BY tt.count DESC ",null)); foreach ($tagList as $value):?> <?php $add_style = ''; $add_class = ''; if( is_tag( $value ) ){ $add_class = 'current'; $add_style = 'style="color:#71B6FC;"'; } ?> <li> <a href="/?tag=<?php echo $value->slug; ?>/" <?php echo $add_style;?> class="<?php echo $add_class;?>"> <?php echo $value->name; ?></a> (<?php echo $value->count; ?>)</li> <?php endforeach;?> </ul>
参考http://ja.forums.wordpress.org/topic/12295
このままでは駄目だった
タグをリンク付きでリスト表示
<ul> <li>タグ</li> <?php $tagList = $wpdb->get_results($wpdb->prepare(" SELECT t.term_id,t.name,t.slug,tt.count FROM $wpdb->terms AS t JOIN $wpdb->term_taxonomy AS tt USING(term_id) WHERE tt.taxonomy = 'post_tag' ORDER BY tt.count DESC ")); foreach ($tagList as $value):?> <li> <a href="/?tag=<?php echo $value->slug; ?>/"> <?php echo $value->name; ?></a> (<?php echo $value->count; ?>)</li> <?php endforeach;?> </ul>
タグアーカイブページだったら
<?php if(is_tag()): ?> <?php endif; ?>
カテゴリーアーカイブだったら
<?php if(is_category()): ?> <?php endif; ?> <?php if(is_category('9')): ?> カテゴリーIDが"9"の記事を表示します。 <?php elseif(is_category('Stinky Cheeses')): ?> カテゴリーの名前が"Stinky Cheeses"の記事を表示します。 <?php elseif(is_category('blue-cheese')): ?> カテゴリースラッグが"blue-cheese"の記事を表示します。 <?php elseif(in_category( array( 1,2,3 ) )): ?> カテゴリーIDが "1, 2, 3 "の記事を表示します。 <?php elseif(!in_category( array( 4,5,6 ) )): ?> カテゴリーIDが" 4, 5, 6 "意外の記事を表示します。 <?php endif; ?>
リンクなし あり のカテゴリ名表示 未検証
リンクなしのカテゴリ名表示方法。
<?php $cat = get_the_category(); $cat = $cat[0]; { echo $cat->cat_name; } ?>
リンクありは
<?php the_category(); ?>
編集中 絞り込み検索
<form action="<?php echo home_url(); ?>" method="get"> <ul> <li><?php wp_dropdown_categories(array( 'taxonomy' => 'chiiki2', 'show_option_all' => 'すべてのカテゴリーを含む' )); ?></li> <li><select name="tag"> <option value="">タグを選択</option> <?php $tags = get_tags(); foreach ($tags as $tag): ?> <option value="<?php echo esc_attr($tag->slug); ?>"><?php echo esc_html($tag->name); ?></option> <?php endforeach; ?> </select></li> <li> キーワード:<input type="text" value="" name="s" /></li> </ul> <input type="submit" value="この内容で検索!" /> </form>
http://mypacecreator.net/blog/archives/1807
http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/wp_dropdown_categories
↑よりさらに詳しく
階層を維持
'hierarchical' => '1',
検索結果だったら
<?php if(is_search()): ?> <?php endif; ?>
search.phpでユーザー名とか、タグ名・カテゴリ名も検索対象その2
https://gist.github.com/wokamoto/3486944
ファンンクションにこれを追加
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 = ''; foreach ( $search_words as $word ) { if ( !empty($word) ) { $search_word = $wpdb->escape("%{$word}%"); $search .= " AND ( {$wpdb->posts}.post_title LIKE '{$search_word}' OR {$wpdb->posts}.post_content LIKE '{$search_word}' OR {$wpdb->posts}.post_author IN ( SELECT distinct ID FROM {$wpdb->users} WHERE display_name LIKE '{$search_word}' ) OR {$wpdb->posts}.ID IN ( SELECT distinct r.object_id FROM {$wpdb->term_relationships} AS r INNER JOIN {$wpdb->term_taxonomy} AS tt ON r.term_taxonomy_id = tt.term_taxonomy_id INNER JOIN {$wpdb->terms} AS t ON tt.term_id = t.term_id WHERE t.name LIKE '{$search_word}' OR t.slug LIKE '{$search_word}' OR tt.description LIKE '{$search_word}' ) ) "; } } } return $search; } add_filter('posts_search','custom_search', 10, 2);
search.phpでタグ・タームを検索結果にその1
<?php //タグ・ターム //検索キーワードを取得 $keys = get_search_query(); //スペースが全角の場合、半角に変換 $keys = str_replace(' ', ' ', $keys); //SQLインジェクション用 $keys = mysql_real_escape_string($keys); //検索キーワードを配列に変換 $keys_array = explode(' ', $keys); //キーワードの数だけWHERE節を作成する $sql_where = ''; foreach ($keys_array as $key => $value) { if(empty($sql_where)){ $pre_str = 'WHERE '; }else{ $pre_str = 'AND '; } $sql_where .= $pre_str . "(0<LOCATE('{$value}',posts.post_title) OR 0<LOCATE('{$value}',t_terms.name) OR 0<LOCATE('{$value}',t_terms.slug)) "; } //クエリを実行 $objResult = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM {$wpdb->posts} posts LEFT JOIN {$wpdb->term_relationships} t_rel ON posts.ID = t_rel.object_id LEFT JOIN {$wpdb->term_taxonomy} t_term_tx ON t_rel.term_taxonomy_id = t_term_tx.term_taxonomy_id LEFT JOIN {$wpdb->terms} t_terms ON t_term_tx.term_id = t_terms.term_id " . $sql_where )); //検索結果が0でなければ、ヒットした投稿のIDを指定してquery_postsで抽出する。 if (!empty($objResult)){ $id_array = ''; $i=0; foreach ($objResult as $key => $value) { $id_array[$i] = $value->ID; $i++; } $arg = array( 'post__in'=>$id_array, 'post_type'=>'performer' //対象のカスタム投稿タイプ ); $posts = query_posts( $arg ); } //検索結果が0なら、query_postsを行わない。その場合、標準の検索機能が自動的に動作する。 //そのため、何もヒットしなければ、標準の「ヒットしませんでした」画面も自動的に表示される。 ?>
以下ループ
http://masaroku.com/?p=788 参考
カスタムフィールドの値によって画像を表示
「りんご」にチェックが入った時は「りんご」のイラストを
「みかん」にチェックが入った時は「みかん」のイラストを
「ばなな」と「ぶどう」にチェックが入った時は両方のイラスト
<?php $fruits = (array)post_custom('果物'); foreach ($fruits as $fruit) { switch ($fruit) { case 'りんご': echo "<img src='apple.png' />\n"; break; case 'みかん': echo "<img src='orange.png' />\n"; break; case 'ばなな': echo "<img src='banana.png' />\n"; break; case 'ぶどう': echo "<img src='grape.png' />\n"; break; } } ?>
http://memo.dogmap.jp/2011/07/13/%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3%81%AE%E5%80%A4%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E7%94%BB%E5%83%8F%E3%82%92%E8%A1%A8%E7%A4%BA/
Custom Field GUI Utility 複数チェックボックス
[italy] fieldname = 好きな選手を選択してください type = multi_checkbox class = italy value = バッジョ#ピルロ#デルピエーロ default = バッジョ sample = 好きな選手を選択してください
【コード】 <?php echo post_custom('italy'); ?> 【出力結果】 バッジョ,ピルロ,デルピエーロ
【コード】 <?php echo str_replace(',', '<br />', post_custom('italy')); ?> 【出力結果】 バッジョ<br />ピルロ<br />デルピエーロ
【コード】 <ul> <?php $arry_italy = explode(',', post_custom('italy')); foreach ($arry_italy as $italy) { $out .= '<li>' . $italy . '</li>'; } echo $out; ?> </ul> 【出力結果】 <ul> <li>バッジョ</li> <li>ピルロ</li> <li>デルピエーロ</li> </ul>
http://www.tinybeans.net/blog/2010/04/13-053516.html
ページプラグイン wp_page_number
<!-----------------------ページプラグイン---------------------------------> <div style="width:670px;"> <?php if(function_exists('wp_page_numbers')) : wp_page_numbers(); endif; ?> </div>
/*-----------------------ページプラグインcss r-advance---------------------------------*/ #wp_page_numbers { background-color: #F7E9CF; } #wp_page_numbers li.page_info{ padding: 10px!important; font-size: 14px!important; /*margin-left: 20px!important;*/ } #wp_page_numbers a{ padding: 10px!important; font-size: 14px!important; } #wp_page_numbers li.active_page a{ border-color: #666!important; } #wp_page_numbers li a:hover { border-color: #E7AC80!important; } #wp_page_numbers ul, #wp_page_numbers li, #wp_page_numbers a { background-color: #F7E9CF; } #wp_page_numbers a,#wp_page_numbers li.page_info { }
/*-----------------------ページプラグインcss パフォ---------------------------------*/ #wp_page_numbers { background-color: #FFFFFF; } #wp_page_numbers li.page_info{ padding: 10px!important; font-size: 14px!important; /*margin-left: 20px!important;*/ } #wp_page_numbers a{ padding: 10px!important; font-size: 14px!important; } #wp_page_numbers li a:hover { border-color: #FF5D00!important; } #wp_page_numbers li.active_page a{ border-color: #FF5D01!important; background-color: #FF5D00; color: #FFF; } #wp_page_numbers li.active_page a:hover { color: #FFF; } #wp_page_numbers ul, #wp_page_numbers li, #wp_page_numbers a { background-color: #FFFFFF; } #wp_page_numbers a,#wp_page_numbers li.page_info { } /*-----------------------///ページプラグインcss パフォ---------------------------------*/
記事を編集(記事から ログイン時のみ表示)
ログインしていれば 記事に編集が表示
<?php edit_post_link(); ?> <?php edit_post_link('link', 'before', 'after'); ?> コード記述例: <?php edit_post_link('この記事を編集', '<p>', '</p>'); ?> 出力例: <p><a href="#">この記事を編集</a></p>