User Categories
http://www.warna.info/archives/1793/
User Categories
http://www.warna.info/archives/1793/
//CSSで管理画面内のサイドメニューを非表示にする 権限指定 function custom_admin_styles(){ $current_user = wp_get_current_user(); //現在のユーザー情報を取得 if(check_user_role($current_user,'shop_owner')){ //チェック echo '<link rel="stylesheet" type="text/css" href="' .get_bloginfo('template_directory'). '/custom-admin-css2.css" />'; } } 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; }
custom-admin-css2.css
#menu-dashboard{ display: none; }
参考
http://mgzl.jp/2013/08/09/how-to-hide-the-unnecessary-item-from-the-side-menu-on-the-admin-page-of-wordpress/
非表示にしたい項目はChrome等の開発者ツールで見てもらうのが早いと思うが、一応下記にデフォルトで存在しているものを列挙する。
#menu-dashboard ダッシュボード
#menu-posts 投稿
#menu-media メディア
#menu-links リンク
#menu-pages 固定ページ
#menu-comments コメント
#menu-appearance 外観
#menu-plugins プラグイン
#menu-users ユーザー
#menu-tools ツール
#menu-settings 設定
.wp-menu-separator (区切り線)
後は管理画面にCSSを読みこませればいい。
//プラグインを全て非表示にする #menu-plugins{ display:none; } //プラグインのサブメニューの2つ目の項目を非表示にする #menu-plugins .wp-submenu li:nth-child(2){ display:none; } //更新可能なプラグインのアイコンを非表示にする #menu-plugins .update-plugins{ display:none; }
http://www.cseas.kyoto-u.ac.jp/info/2013/08/5210
特定サイドメニューの非表示(2013/08/27)
編集者にはいらないメニューは極力見えないようにしたいものです。
カスタム投稿、プラグインが追加したメニューなども消すことができます。
ここでは、「管理者以外」は、「コメント」「カスタム投稿(hogehogeと名前付けしていると仮定)」「Contact Form 7」「Subscribe2」のメニューを非表示にします。
function my_remove_menu(){
remove_menu_page(‘edit-comments.php’); // コメントの非表示
remove_menu_page(‘edit.php?post_type=hogehoge’); // カスタム投稿「hogehoge」の非表示
// プラグインによる追加の場合には、管理画面のid(<li id=”hogehoge-{slug}”>)のslugを指定すること
remove_menu_page(‘wpcf7’); // Contact form 7の「お問い合わせ」を非表示
remove_menu_page(‘s2’); // Subscribe2を非表示
}
// 管理者以外は指定メニューを消す
if(!current_user_can(‘administrator’))
add_action(‘admin_menu’, ‘my_remove_menu’);
プラグイン設定の上書き
WordPress Download Monitorで編集者に特定権限を付与(2013/08/27)
通常は、管理者ユーザしか使えません。これを編集者も使えるようにするための方法です。
下記の設定によって、追加と編集が可能になります。設定やログ閲覧は不可です。
function add_theme_caps() {
$role = get_role( ‘editor’ );
$role->add_cap( ‘user_can_edit_downloads’);
$role->add_cap( ‘user_can_add_new_download’);
$role->remove_cap( ‘user_can_config_downloads’);
$role->remove_cap( ‘user_can_view_downloads_log’);
}
add_action( ‘admin_init’, ‘add_theme_caps’);
ただし、一旦登録してしまうと設定をOFFにしても有効になります。
設定の追加は、add_capに、設定の削除はremove_capに明示しましょう。
TablePressで編集者への特定権限を削除(2013/08/27)
WP-Table Reloadedの後継にあたります。
全面的に書き直されたTablePressについては、いくつかの権限について上書きが可能です。
ここでは、「編集者、作成者は、テーブル削除、インポート、About閲覧を不可」にします。
function add_theme_caps2() {
foreach (array(‘editor’,’author’) as $user){
$role = get_role( $user );
$role->remove_cap( ‘tablepress_delete_tables’);
$role->remove_cap( ‘tablepress_import_tables’);
$role->remove_cap( ‘tablepress_access_options_screen’);
$role->remove_cap( ‘tablepress_access_about_screen’);
}
}
add_action( ‘admin_init’, ‘add_theme_caps2’);
何が出来るかについては、tablepressのソースフォルダ以下で「cap」をキーワードに検索してみてください。
メディア等で扱える拡張子の追加
プラグインを作って公式ディレクトリに登録しましたので、そちらを使って貰えればと思います。
WP Add Mime Types(2013年8月16日公開、日本語説明)
未入力などエラー表示部分を日本語化
参考
http://yumeneko.pmfan.jp/download/d-japanese/japan-language-file-custom-field-suite.html
Custom Field Suiteフォルダ内の「assets」→「js」フォルダに「validation.js」ファイルが格納されています。
このファイルをお手持ちのエディタなどで開いて直接修正していきます。
jQuery(function($) { CFS.validators = { 'required': { 'error': '値を入力してください', 'validate': function(val) { return ('' != val && null != val); }, }, 'valid_date': { 'error': '有効な日付の値を入力してください (YYYY-MM-DD HH:MM)', 'validate': function(val) { var regex = /^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$/; return regex.test(val); } }, 'valid_color': { 'error': '有効な色の値を入力してください 16進 (#ff0000)', 'validate': function(val) { var regex = /^#[0-9a-zA-Z]{3,}$/; return regex.test(val); } }, };
//メディア自分ののみ add_action( "pre_get_posts", "set_ajax_media_query" ); function set_ajax_media_query( $wp_query ) { global $current_user; if( $wp_query ->query_vars['post_type'] != "attachment" ) { return; } get_currentuserinfo(); if( $current_user->roles[0] == "administrator" ) { return; } $wp_query->query_vars['author'] = $current_user->ID; }
<a href="<?php echo get_post_type_archive_link( get_post_type() ); ?>"> <?php echo esc_html( get_post_type_object( get_post_type() )->label ); ?></a>
管理者 [WP Administrator]
編集者 [WP Editor] 他のユーザーの記事の投稿/公開/編集/削除、及びカテゴリやリンクの編集
投稿者 Post Author ファイルアップできず
寄稿者 Post Contributor 公開 メディアアップできず
購読者 [WP Subscriber][Reader] コメントを読んだり、コメントを投稿したり、メールマガジンを受け取ったり
インストすると
投稿者もカスタム投稿がみれなくなるので
General
1.Assign
2.[WP 作成者]
3.??
4.タイプの箇所のAuthorにチェック
更新
複数パン屑参考
http://ja.forums.wordpress.org/topic/5176
カテゴリーを情報取得後フォーチループ
<?php $category = get_the_category(); foreach( $category as $cat ){ // echo '<a href="ホームページのURL">Home</a> > '; echo '<a href="ホームページのURL/category/' . $cat->category_nicename . '/">'; echo $cat->cat_name; echo '</a> >'; echo the_title(); echo '<br />'; } ?>
フォーチの並び替え参考
http://masago.kir.jp/php20030119.php
ksort($category,SORT_STRING);//フォーチの並び替え指示 これ使用 asort($category,SORT_NUMERIC);//フォーチの並び替え指示 asort($category,SORT_STRING);//フォーチの並び替え指示 これ機能せず
フォーチの回数指定参考
http://www.geekzshu.com/php/509
例 $i = 0; $kiji = 5; foreach ($rss->items as $item ) { if($i >= $kiji){ break;} else{ $title = $item['title']; $link = $item['link']; echo "<li><a href="$link">$title</a></li>n"; $i++; } }
シングル用複数パン屑完成 0561仕様
<!--------------------------------------------------------------------------------------------------------------------------------------------------パンくずリスト---> <div id="top_navi"> <?php $urls = home_url(); $category = get_the_terms( 0, 'genre' ); ksort($category,SORT_STRING);//フォーチの並び替え指示 $i = 0; $kiji = 3;//この回数でフォーチ終わる。 foreach( $category as $cat ){ if($i >= $kiji){//siが3よりおおきくなったら break;}//ループおわり else{//それまではこれで出力 $urls2=get_term_link($cat->slug,'genre');//$urls2にゲットタームリんくでとったもの入れた。 echo '<a href="' .$urls. '">0561navi</a> > '; //$termにはいってる情報で分岐 if ( $cat->parent ) { // 親IDが入ってれば (子だったら) //親のIDを取得してターム情報を引き出す。 $ido=$cat->parent; $term2=get_term($ido,'genre'); ?> <a href="<?php //親のターム情報からターム名とリンクを引き出す。 echo get_term_link($term2->slug,'genre'); ?> "> <?php echo $term2->name; ?> </a> > <?php } echo '<a href="' .$urls2. '">'; echo $cat->name; echo '</a> > '; //echo the_title(); echo '<br />'; $i++;//多分繰り返すごとに$iに数値が1つづ増える }//回数指定終了 } ?> <div style="clear:both; padding-bottom:20px;"></div> </div>
Custom Field Suite の
ループフィールドが出ないからおかしい!
DB Cache Reloaded Fixが原因
ラッパーモードに
なんかおかしいかったら注意
ラベルからシングルネームを取り出して表示
<?php echo esc_html( get_post_type_object( get_post_type() )->labels->singular_name ); ?>
タームの場合ディスプリクションを使う
<?php //カテゴリー・タグ情報を取得(slug,アーカイブページでターム名取得,タクソノミー名取得) $term3 = get_term_by('slug',get_query_var( 'term' ),get_query_var( 'taxonomy' )); echo $term3->description; //現在ターム位置所得 ?>
管理者 [WP Administrator]
編集者 [WP Editor] 他のユーザーの記事の投稿/公開/編集/削除、及びカテゴリやリンクの編集
投稿者 Post Author ファイルアップできず
寄稿者 Post Contributor 公開 メディアアップできず
購読者 [WP Subscriber][Reader] コメントを読んだり、コメントを投稿したり、メールマガジンを受け取ったり
カテゴリーの場合のコード
親カテゴリのIDが分かっている場合、 たとえば親カテゴリのIDが1のとき、
<?php wp_list_categories( 'child_of=1' ); ?>
親カテゴリはもちろん記事や子カテゴリによって違うわけです。 なので、親カテゴリデータ受け取り→加工の手順が必要です。
/* 現在のカテゴリ-の取得 */
$cat_now = get_the_category();
$cat_now = $cat_now[0];
/*親カテゴリーのID取得*/
$parent_id = $cat_now->category_parent;
- See more at: http://little.ws/200906/204.html#sthash.GAtaZEJG.dpuf
全部まとめると
<?php $cat_now = get_the_category(); $cat_now = $cat_now[0]; $parent_id = $cat_now->category_parent; ?> <?php wp_list_categories("title_li=&child_of=$parent_id"); ?>
引用
http://little.ws/200906/204.html
//タイトルを入力してくださいを変える function change_default_title( $title ) { $screen = get_current_screen(); if ( 'performer' == $screen->post_type ) { $title = 'パフォーマー名を入力してください。'; } else if ( $screen -> post_type == 'post' ) { $title = 'これは投稿だけ変更します'; } return $title; } add_filter('enter_title_here', 'change_default_title');
<?php //カテゴリー・タグ情報を取得(slug,アーカイブページでターム名取得,タクソノミー名取得) $term = get_term_by('slug',get_query_var( 'term' ),get_query_var( 'taxonomy' ) ); ?> <?php //$termにはいってる情報で分岐 if ( $term->parent ) { // 親IDが入ってれば (子だったら) ?> <!---TOP部分--> <?php //親のIDを取得してターム情報を引き出す。 $ido=$term->parent; $term2=get_term($ido,get_query_var( 'taxonomy' )); ?> <a href="<?php //子 親のターム情報からターム名とリンクを引き出す。 echo get_term_link($term2->slug,get_query_var( 'taxonomy' )); ?> "> <?php echo $term2->name; ?> </a> <div style="clear:both"></div> <!---一覧部分--> <?php wp_list_categories( array( 'title_li' => '', 'taxonomy' => get_query_var( 'taxonomy' ), 'child_of' => $term->parent,//親のIDを出力 'hide_empty' => 0, ) ); } else { //親だったらそのまま出力 ?> <!---TOP部分--> <a href="<?php //親 echo get_term_link($term->slug,get_query_var( 'taxonomy' )); ?> "> <?php echo $term->name; ?> </a> <div style="clear:both"></div> <!---一覧部分--> <?php wp_list_categories( array( 'title_li' => '', 'taxonomy' => get_query_var( 'taxonomy' ), 'child_of' => $term->term_id, 'hide_empty' => 0, ) ); }?>
codeigniterでDBアクセス時に用いるもの
http://codeigniter.jp/user_guide_ja/database/examples.html
$query = $this->db->query('SELECT name, title, email FROM my_table'); foreach ($query->result() as $row) { echo $row->title; echo $row->name; echo $row->email; } echo 'Total Results: ' . $query->num_rows();
タダ見つけたさんこう
http://blog.cgfm.jp/garyu/archives/2001こっから引用下記
<?php //カスタム投稿タイプの場合slugを取得 $post_type = get_post_type(); //取得結果: 'event' //カスタム投稿タイプのラベルを取得 $post_type_object = get_post_type_object($post_type); $post_type_label = $post_type_object->label; //取得結果:'イベント情報' //クエリからtaxonomy(カスタム分類タクソノミー)のslug取得 $taxonomy_var = get_query_var('taxonomy'); //取得結果:'event-category' //クエリからterm(カスタム分類タクソノミー内のカテゴリ)のslug取得 $term_var = get_query_var( 'term' ); //取得結果:'workshop' //termの情報を取得 $my_term = get_term_by('slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) ); //termのラベルを取得 $term_name = $my_term->name; //取得結果:'ワークショップ' ?>
http://ja.forums.wordpress.org/topic/7806
ここ参照
<?php $term = get_term_by('slug',get_query_var( 'term' ),get_query_var( 'taxonomy' ) ); ?> <?php if ( $term->parent ) { // 子? $posts = get_posts( array( 'taxonomy' => get_query_var( 'taxonomy' ), 'term' => get_query_var( 'term' ), ) ); ?><ul><?php foreach ( (array) $posts as $post ) : setup_postdata( $post ); printf('<li><a href="%1$s">%2$s</a></li>', esc_url( get_permalink( get_the_ID() ) ), esc_html( get_the_title( get_the_ID() ) ) ); endforeach; ?></ul><?php wp_reset_postdata(); } else { wp_list_categories( array( 'taxonomy' => get_query_var( 'taxonomy' ), 'child_of' => $term->term_id, 'hide_empty' => 0, ) ); }?>
$wp_query->get_queried_object();
http://elearn.jp/wpman/function/get_queried_object.html
こいつで色色取得できるらし
http://ja.forums.wordpress.org/topic/6403
こっからいった
<?php //アーカイブページでターム名取得 $super1 = get_query_var( 'term' ); echo $super1 ?> <?php //アーカイブページでタクソノミー名取得 $super2 = get_query_var( 'taxonomy' ); echo $super2 ?>
スラッグが'blog'のカテゴリー情報を取得する。 <?php $cat = get_term_by( 'slug' , 'blog' , 'category' ); ?>
http://elearn.jp/wpman/function/get_term_by.html
ここよりゲットタームバイの返り値は
プロパティ名 | データ型 | 意味 |
---|---|---|
term_id | int | ID |
name | string | 名前 |
slug | string | スラッグ |
term_group | int | グループID |
term_taxonomy_id | int | タクソノミーID |
taxonomy | string | タクソノミー名。カテゴリーの場合は’category’、タグの場合は’post_tag’となる |
description | string | 説明 |
parent | int | 親カテゴリーID。親カテゴリーがない場合は0となる |
count | int | 投稿数 |
複合 <?php //カテゴリー・タグ情報を取得(slug,アーカイブページでターム名取得,タクソノミー名取得) $term = get_term_by('slug',get_query_var( 'term' ),get_query_var( 'taxonomy' ) ); ?>
そこで分岐する
<?php //$termにはいってる情報で分岐 if ( $term->parent ) { // 親IDが入ってれば (子だったら) wp_list_categories( array( 'taxonomy' => get_query_var( 'taxonomy' ), 'child_of' => $term->parent,//親のIDを出力 'hide_empty' => 0, ) ); } else { //親だったらそのまま出力 wp_list_categories( array( 'taxonomy' => get_query_var( 'taxonomy' ), 'child_of' => $term->term_id, 'hide_empty' => 0, ) ); }?>