if(is_post_type_archive( 'xxxxx' )){
//処理内容
}
投稿者: doggstar
スパムブロック入れるだけ
No-captcha Spam Block
ブラスタブログで検証中
http://daniemon.com/blog/ja/block-comment-spam-without-captchas-ja/
WordPressのユーザーに所属情報などを付加できるプラグイン
User Categories
http://www.warna.info/archives/1793/
CSSで管理画面内のサイドメニューを非表示にする 権限指定
//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;
}
なかなか fanctionで 権限制御
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日公開、日本語説明)
Custom Field Suite日本語化
未入力などエラー表示部分を日本語化
参考
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>
Role Scoper 設定
管理者 [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>
DB Cache Reloaded Fix 注意
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; //現在ターム位置所得
?>
wordpress 権限 英語日本語意味
管理者 [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');
05ナビの上部メニューのコード完成系
<?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,
) );
}?>