ブログ部分お客さん カスタマイズ

まとめます。12/19 2013

まずこちらが意図して使って欲しい
サイズ・位置・リンクタイプのデフォルトを設定できる

http://example.jp/wp-admin/options.php

の様なページで
image_default_align : none
image_default_link_type : file
image_default_size : medium

設定保存

サムネイルサイズ増やす。
選べるように
simple image sizesのプラグイン

設定▶メディア▶Add anew size
サイズを入れ 名前を入れ CROPが切り抜き強制 Show in post inserting チェックで ポストに反映される。

大体600px位がコンテンツ幅だから
パンパンサイズを
XL 600 600
L 580 580
デフォルト 大 480 480
ミディアム 320 320

などにする。

まずフロートなしで画像が改行するように設定
blog.css(見える側 editor-style.css(管理画面 書く時

img.alignnone {
	display: block;
	clear: both;
	padding-top: 7px;
	padding-bottom: 7px;
}

あとは画像 フロートの設定

/*画像後改行 中央は含めず ついで上下パディング*/

.alignnone,.alignleft,.alignright,.aligncenter{
	display: block;
	clear: both;/*なしの自動改行*/
	padding-top: 7px;
	padding-bottom: 7px;
}


/*画像 中央 左 右*/
.aligncenter {
	float: none;
	margin-right: auto;
	margin-left: auto;	
}

.alignleft {
	margin-right: 10px;
	float: left;
}

.alignright {
	margin-left: 10px;
	float: right;
}
	
/*ここまで*/

こいつを管理画面 ブログ画面両方のCSSへ

ついでに他のやつも
エディターCSSへ

body{
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Arial, Helvetica, "MS Pゴシック", "MS PGothic", Osaka, "MS, Osaka", "MS ゴシック", "MS Gothic", sans-serif;
}

/*Pを改行と同じに ついで文字サイズ指定*/
p{
	margin: 0px;
	padding: 0px;
	line-height: 28px;
	font-size: 16px;

}

ブログの幅と投稿画面の幅を揃えます。

アスタムアドミンへ
フルスクリーンも整えます。

/*ブログの幅と投稿画面の幅 30px多く*/
#post-body{
	width: 680px!important;
}
/*ブログの幅と投稿画面の幅 22px多く フルスクリーン用*/
#wp-fullscreen-wrap{
	width: 702px!important;
}

現状出てきた問題 ビジュアルエディターの項目 
ストロングはseoかけた場合ほそくするから ブログコンテンツ用にcssつくる。
リストなど消すかmoreけすか さらにとでた

段落 もh1とかいらね t wもいらん

とりあえず 以上かな

TinyMCE Advancedで消す
Save Editor Scroll Position
投稿を保存した時、エディタのスクロールは一番上に移動してしまいます。このスクロールの位置をそのまま動かさないようにするプラグインです。
Parent Category Toggler
親勝てチェック

Admin Post Navigation
変小前後ろ

スパム登録を人間的ブロック

//スパム登録を防止
add_action( 'register_form', 'add_register_field' );
function add_register_field() { ?>
    <p>
        <label><?php _e('市外局番は?スパム防止') ?><br />
        <input type="text" name="user_proof" id="user_proof" class="input" size="25" tabindex="20" /></label>
    </p>
<?php }

add_action( 'register_post', 'add_register_field_validate', 10, 3 );
function add_register_field_validate( $sanitized_user_login, $user_email, $errors) {
    if (!isset($_POST[ 'user_proof' ]) || empty($_POST[ 'user_proof' ])) {
        return $errors->add( 'proofempty', '<strong>ERROR</strong>: あなたはスパムですか?'  );
    } elseif ( strtolower( $_POST[ 'user_proof' ] ) != '0561' ) {
        return $errors->add( 'prooffail', '<strong>ERROR</strong>: 登録したいお店の市外局番を入れてください'  );
    }
}

アイキャッチ画像を表示 クラス名をつけて

<?php the_post_thumbnail( 'post-thumbnail', 'class=alignright' ); ?>
//リンク付き
//クラスをつけ altにタイトル titleにタイトルをつけ blogsamを呼び出し
<a href="<?php the_permalink(); ?>">
<?php 
$title= get_the_title();
the_post_thumbnail('blog_sam',
array('class' => 'blog_sam_img','alt' =>$title, 'title' => $title)
); ?>
            </a>

simple locla avater で 悲しくも 導入削除されたコード

   <?php if(get_the_author_meta('author_img1')): //オーサーイメージがあれば?>
<?php
$prof_photo_id = get_the_author_meta('author_img1'); //prof_photo_idにオーサーイメージを収納 アドバンスにて返り値をIDにしたからIDが
$title= get_the_title();
$prof_photo_img = wp_get_attachment_image_src($prof_photo_id, 'thumbnail');
echo '<img src="' .$prof_photo_img[0] . '" width="77">'
?>

</div>


  

    <?php else: ?>
        
   <img src="img/titol/05navi_profile_no_photo.png" width="77" height="77" alt="瀬戸・尾張旭・長久手・日進・みよしのナビサイト0561naviのNO PHOTOの登録ユーザー"/>
    
    </div>

<?php endif; ?>

これはアドバンスカスタムでオーサーページに新しくカスタムポストを作り それをget_the_author_metaで取得して表示させる方法
画像 ニックネーム としたが
結果 
wpmember+テーマバイログインででログイン時にネックネームをデフォルトで入れる強制ができたので
標準肉ネームを使い
コメント欄でもアバターバしか使えない事がわかったので
シンプルローカルアバターを入れた。

デフォルトでブログ表示名をニックネームにする方法もわかった。

ファンクションに

//登録時ブログ表示名をニックネームに変える wpmenber tmlひつよう
function sd_new_login_filter ($login) { /* Don't do anything to login, just see if already in database.*/ global $wpdb, $sd_is_new_login; $id = $wpdb->get_var("SELECT ID FROM $wpdb->users WHERE user_login = '$login'"); $sd_is_new_login = (isset($id)) ? false : true; return $login; } function sd_substitute_displayname_filter ($display_name) { global $sd_is_new_login; if ($sd_is_new_login) $display_name = $_POST['nickname']; return $display_name; } add_filter('pre_user_login', 'sd_new_login_filter'); add_filter('pre_user_display_name', 'sd_substitute_displayname_filter');
 

ニックネーム導入で非公開となったコード

<div class="blog_nickname">
      <a href="<?php bloginfo('url'); ?>/?author=<?php $user_id = get_the_author_meta( 'id' ); ?><?php echo $user_id; ?>">
    <?php if(get_the_author_meta('author_nickname')): 
	echo get_the_author_meta('author_nickname');
	?>  </a>
   
    
        <?php else: ?>
   投稿者
<?php endif; ?>
</div>

CSSで管理画面内のサイドメニューを非表示にする 権限指定

//CSSで管理画面内のサイドメニューを非表示にする 権限指定
function custom_admin_styles(){
$current_user = wp_get_current_user(); //現在のユーザー情報を取得
if(check_user_role($current_user,’shop_owner’)){ //shop_ownerかチェック
echo ‘ ‘;
}
if(check_user_role($current_user,’editor’)){ //編集者(editor)かチェック
echo ‘ ‘;
}

}
add_action(‘admin_print_styles’, ‘custom_admin_styles’, 21);

/*
* ユーザーの権限をチェックする
* @param $user ユーザーオブジェクト
* @param $role ユーザー権限の文字列
* (administrator, editor, author, contributor, subscriber)
*/
function check_user_role($user,$role){
foreach($user->roles as $user_role){
if($user_role === $role){
return true;
}
}
return false;
}

カスタムアドミンはこちら

ダッシュボードにオリジナルメニューを追加

//☆--オリジナルメニューを追加
function example_dashboard_widget_function() {
 echo '
  <div class="da d1"><a href="./post-new.php">投稿</a></div>
  <div class="da d1"><a href="./edit.php">投稿一覧</a></div>
 <div class="da d6"><a href="./admin.php?page=home/goldsource/www/temp/ecoroop/wp-content/themes/D/functions.php">マニュアル</a></div>
 ';
}
function example_add_dashboard_widgets() {
 wp_add_dashboard_widget('example_dashboard_widget', '更新', 'example_dashboard_widget_function');
}
add_action('wp_dashboard_setup', 'example_add_dashboard_widgets' );
//オリジナルメニューを追加--☆
//☆--オリジナルメニューを追加
function example_dashboard_widget_function() {
 echo '
  <div class="da d1"><a href="./post-new.php">新規 JC NEWS</a></div>
  <div class="da d1"><a href="edit.php?post_type=member_only">新規 ファイルアップロード</a></div>
 <div class="da d6"><a href="post-new.php?post_type=public_information">新規 公開情報</a></div>
 <div style="clear:both"></div>
 ';
}
function example_add_dashboard_widgets() {
 wp_add_dashboard_widget('example_dashboard_widget', '更新', 'example_dashboard_widget_function');
}
add_action('wp_dashboard_setup', 'example_add_dashboard_widgets' );
//オリジナルメニューを追加--☆

カスタムアドミンに

.da{
	float: left;
	padding-top: 10px;
	padding-right: 5px;
	padding-bottom: 10px;
	padding-left: 5px;
}


.da a{
	padding: 15px;
	background-color: #4091B4;
	color: #FFF;
	    -webkit-border-top-left-radius: 5px;  
    -webkit-border-top-right-radius: 5px;  
    -webkit-border-bottom-right-radius: 5px;  
    -webkit-border-bottom-left-radius: 5px;  
    -moz-border-radius-topleft: 5px;  
    -moz-border-radius-topright: 5px;  
    -moz-border-radius-bottomright: 5px;  
    -moz-border-radius-bottomleft: 5px;  
}

オリジナルアドミンバーメニュー

//オリジナルアドミンバーメニュー
add_action('admin_bar_menu', 'customize_admin_bar_menu', 9999);

function customize_admin_bar_menu($wp_admin_bar){
    $title = sprintf(
        '<span class="ab-icon"></span><span class="ab-label">%s</span>',
        '瀬戸青年会議所'
    );
    $wp_admin_bar->add_menu(array(
        'id'    => 'bookpress-app',
        'meta'  => array(),
        'title' => $title,
        'href'  => home_url()
    )); 
	$wp_admin_bar->add_menu(array(
    'parent' => 'bookpress-app', // 親メニューのIDを指定する
    'id'     => 'bookpress-app-sub4',
    'meta'   => array(),
    'title'  => '管理画面へ',
    'href'   => home_url('/wp-admin/')
));
	$wp_admin_bar->add_menu(array(
    'parent' => 'bookpress-app', // 親メニューのIDを指定する
    'id'     => 'bookpress-app-sub',
    'meta'   => array(),
    'title'  => 'JC NEWSを書く',
    'href'   => home_url('/wp-admin/post-new.php')
));
$wp_admin_bar->add_menu(array(
    'parent' => 'bookpress-app', // 親メニューのIDを指定する
    'id'     => 'bookpress-app-sub2',
    'meta'   => array(),
    'title'  => 'ファイルをアップロード',
    'href'   => home_url('/wp-admin/post-new.php?post_type=member_only')
));

$wp_admin_bar->add_menu(array(
    'parent' => 'bookpress-app', // 親メニューのIDを指定する
    'id'     => 'bookpress-app-sub3',
    'meta'   => array(),
    'title'  => 'ログアウト',
    'href'   => home_url('/wp-login.php?action=logout&redirect_to=http%3A%2F%2Fwww.setojc.org&_wpnonce=58ea72a46d')
));
}



//アドミンバー内容消す
add_action('admin_bar_menu', 'customize_admin_bar_menu2', 9999); // 優先順位は大きめで!

function customize_admin_bar_menu2($wp_admin_bar){
    // Adminバー左側
    $wp_admin_bar->remove_node('wp-logo');     // 一番左のWordPressのロゴを消す。
	$wp_admin_bar->remove_node('comments'); // コメント
    $wp_admin_bar->remove_node('site-name');   // 左から2番めのサイト名を消す。
    $wp_admin_bar->remove_node('new-content'); // 「+ 新規」ってメニューを消す。

    // Adminバー右側
    $wp_admin_bar->remove_node('my-account'); // アカウントのメニューを消す。
    $wp_admin_bar->remove_node('search');     // 検索のメニューを消す。
}

ダッシュボードウィジェット非表示

// ダッシュボードウィジェット非表示
function example_remove_dashboard_widgets() {
if (!current_user_can(‘level_10’)) { //level10以下のユーザーの場合ウィジェットをunsetする
global $wp_meta_boxes;
unset($wp_meta_boxes[‘dashboard’][‘normal’][‘core’][‘dashboard_right_now’]); // 現在の状況
unset($wp_meta_boxes[‘dashboard’][‘normal’][‘core’][‘dashboard_recent_comments’]); // 最近のコメント
unset($wp_meta_boxes[‘dashboard’][‘normal’][‘core’][‘dashboard_incoming_links’]); // 被リンク
unset($wp_meta_boxes[‘dashboard’][‘normal’][‘core’][‘dashboard_plugins’]); // プラグイン
unset($wp_meta_boxes[‘dashboard’][‘side’][‘core’][‘dashboard_quick_press’]); // クイック投稿
unset($wp_meta_boxes[‘dashboard’][‘side’][‘core’][‘dashboard_recent_drafts’]); // 最近の下書き
unset($wp_meta_boxes[‘dashboard’][‘side’][‘core’][‘dashboard_primary’]); // WordPressブログ
unset($wp_meta_boxes[‘dashboard’][‘side’][‘core’][‘dashboard_secondary’]); // WordPressフォーラム
}
}
add_action(‘wp_dashboard_setup’, ‘example_remove_dashboard_widgets’);

ログアウト2種

インデックスへ
<div class="menu_d"><a href="<?php echo wp_logout_url(home_url()); ?>">ログアウト</a></div>

ログインページへ
<div class="menu_d"><?php wp_loginout(); ?></div>

会員専用ページ ログインしてないとログインページへ

http://amazon-ebay.inthecom.net/?p=662

リダイレクト テーマバイログインだとだめだったな

<?php /* Template Name: 会員専用ページ Single Post Template: 会員専用ページ Description: This part is optional, but helpful for describing the Post Template */ ?>

<?php if (is_user_logged_in()){  }else {auth_redirect(); }; ?>

アドミンバー項目削除

function remove_bar_menus( $wp_admin_bar ) {
    $wp_admin_bar->remove_menu('wp-logo'); // W ロゴ
    $wp_admin_bar->remove_menu('site-name'); // サイト名
    $wp_admin_bar->remove_menu('view-site'); // サイト名 -> サイトを表示
    $wp_admin_bar->remove_menu('comments'); // コメント
    $wp_admin_bar->remove_menu('new-content'); // 新規
    $wp_admin_bar->remove_menu('new-post'); // 新規 -> 投稿
    $wp_admin_bar->remove_menu('new-media'); // 新規 -> メディア
    $wp_admin_bar->remove_menu('new-link'); // 新規 -> リンク
    $wp_admin_bar->remove_menu('new-page'); // 新規 -> 固定ページ
    $wp_admin_bar->remove_menu('new-user'); // 新規 -> ユーザー
    $wp_admin_bar->remove_menu('updates'); // 更新
    $wp_admin_bar->remove_menu('my-account'); // マイアカウント
    $wp_admin_bar->remove_menu('user-info'); // マイアカウント -> プロフィール
    $wp_admin_bar->remove_menu('edit-profile'); // マイアカウント -> プロフィール編集
    $wp_admin_bar->remove_menu('logout'); // マイアカウント -> ログアウト
}
add_action('admin_bar_menu', 'remove_bar_menus', 201);

カテゴリ系のまとめ

<?php //カテゴリーページでカテゴリー名を取得 りんくなし
 $cat_d = get_the_category(); 
 $cat_d = $cat_d[0];
 $cat_name_d = $cat_d->cat_name;
 echo $cat_name_d;
  ?>

上記 記事が無いとでないため

<?php single_term_title(); ?> 

こっち

かてID2へのリンク

<a href="<?php echo get_category_link('2');?>">活動報告をもっと見る▶</a>

リンクつき記事のカテゴリ出力

<?php the_category(', '); ?> 

Custom Field Suite 日付日本語化!!!

日付日本語化 プラグ▶fields▶date
jquery.datetime.js

変更

出力
単発

echo date('Y年m月d日', strtotime($cfs->get('birthday')));

ループ未検証

<?php $loop = new WP_Query(array("post_type" => "schedule", "posts_per_page" => 1 ));

while($loop->have_posts()): $loop->the_post(); ?>

<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

 <h2><?php the_title(); ?></h2>
 <h3><?php echo $cfs->get('title'); ?></h3>

<ul>
 <li><?php echo date('Y年m月d日', strtotime($cfs->get('date'))); ?></li>
 <li><?php echo $cfs->get('summary'); ?></li>
</ul>

 <?php $fields = $cfs->get('Schedule'); foreach ($fields as $field) { ?>

 <h3><?php echo $field['title']; ?></h3>

<ul>
 <li><?php echo date('Y年m月d日', strtotime($field['date'])); ?></li>
 <li><?php echo $field['summary']; ?></li>
</ul>
 <?php } ?>

</div>

 <?php endwhile; ?>

参考

http://brushape.com/wordpress/%E3%80%90wordpress%E3%80%91%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%82%92%E7%B0%A1%E5%8D%98%E4%BD%9C%E6%88%90%E3%81%97%E3%81%9F%E3%81%8F%E3%81%A6%E3%80%8Ccu/