カテゴリー: Code コード
macの隠しファイルを表示 ソフト
Funter
http://nektony.com/products/funter
記事一覧の並び替え
参考
http://blog.anekipedia.com/cus/%E8%A8%98%E4%BA%8B%E4%B8%80%E8%A6%A7%E3%82%92%E3%82%BD%E3%83%BC%E3%83%88%EF%BC%88%E4%B8%A6%E3%81%B3%E6%9B%BF%E3%81%88%EF%BC%89%E3%81%99%E3%82%8B.html
http://ateitexe.com/wordpress-archive-sort-popular/
http://takahashifumiki.com/web/programing/1829/
カスタムフィールドのキーを出力できて リンク先を指定できるプラグイン
Custom Field List
ウィジェッットで使用
きーを選んで通常だと
そのキーの記事が出てくるが
リンクの設定をすると
その先を全て指定できる
デフォルトはなにもはいってない
えらーになるので
指定して保存
S=naninanai と検索なので
サーチエブリシング
もしくは
?s=春日井市&post_type=jirei
なども
&order=ASC
など自分でコード書く
検索結果にカスタム投稿も含ませる
/ 検索結果から固定ページを除外 function search_filter($query) { if (!$query -> is_admin && $query -> is_search) { $query -> set('post_type', array('post','asobu','share','seikatsu','iryou','manabu','koukyou','ofuroyado')); } return $query; } add_filter('pre_get_posts', 'search_filter');
function filter_search($query) { if ($query->is_search) { $query->set('post_type', array('post', 'hogehoge')); }; return $query; }; add_filter('pre_get_posts', 'filter_search');
こんなコードあったが必要なのかどうか今はいらない?
カスタムポストUIに
検索結果から除外する ture false があったが
かわったのか???
未深検証
検索結果 調整 WP Custom Fields Search
まず問題だったこと
それは
古いコードがファンクションに書いてあったため複雑になった。
/ 検索結果から固定ページを除外 function search_filter($query) { if (!$query -> is_admin && $query -> is_search) { $query -> set('post_type', array('post','asobu','share','seikatsu','iryou','manabu','koukyou','ofuroyado')); } return $query; } add_filter('pre_get_posts', 'search_filter');
つまりポストタイプを指定して固定ページを除外してた 多分
これをまず消す。
これで多分ポストタイプ関係無しに検索できるはず
サーチエブリシングを入れる。
これでカスタムフィールドの文字も検索できるはず。
ただし絞り込みプラグインで
ポストタイプを指定する時
and or が指定できない気がする。
サーチページで分岐できれば必要ないが。。
ポストタイプを指定する方法。
–引用—-
● フィールド1つ目の設定内容
このフィールドでやっている事。
・検索は、カスタム投稿「post-typea」の中から行うようにする
—–
データタイプ:「Post Type」を指定
—–
ウィジェット:「非表示の定数」を指定
Post Typeは、ユーザーが指定するものではないので、このフィールドは表示されません。
比較:同等
—–
ウィジェットの設定:post-typea
—–
● フィールド2つ目の設定内容
このフィールドでやっている事。
・検索条件は、カスタムフィールドの登録値をプルダウンで表示するようにする。
—–
データタイプ:「カスタムフィールド」を指定
—–
ウィジェット:「ドロップダウン」を指定
指定のカスタムフィールドに登録されている値がドロップダウンとなって表示する
—–
比較:同等
—–
カスタムフィールドテンプレート 管理画面 デザイン
設定の
オプション
テンプレートフォーマットを選択
[cft] and [cftsearch] Shortcode Format
に
そのフォーマーットのコードを入れる
保育園テストコード
<div class="cft_admin_title">預かり年齢</div> <div class="cft_admin_con">[child_old]</div> <div class="cft_admin_title">エリア選択(絞込検索用)</div> <div class="cft_admin_con">[eria_city]</div> <div class="cft_admin_title">住所(※愛知県から番地まで=マップ表示のため)</div> <div class="cft_admin_con">[adress]</div> <div class="cft_admin_title" style="margin-top:0px;">建物名(あれば)</div> <div class="cft_admin_con">[adress2]</div> <div style="float:left;"> <div class="cft_admin_title">平日保育開始時間</div> <div class="cft_admin_con">[open_time][open_min]</div> </div> <div style="float:left;"> <div class="cft_admin_title">平日保育終了時間</div> <div class="cft_admin_con">[close_time][close_min]</div> </div style="float:left;"> <div style="clear:both"></div> <div style="float:left;"> <div class="cft_admin_title">土曜保育開始時間</div> <div class="cft_admin_con">[open_time_sat][open_min_sat]</div> </div> <div style="float:left;"> <div class="cft_admin_title">平日保育終了時間</div> <div class="cft_admin_con">[close_time_sat][close_min_sat]</div> </div style="float:left;"> <div style="clear:both"></div>
カスタムアドミン
.cft_admin_title{ margin-top: 20px; } .cft_admin_con{ padding:10px;} .cft_admin_con input[type="text"]{ width:100%; max-width:500px;} .cft_admin_disp{}
管理画面の文字置き換え
http://ja.forums.wordpress.org/topic/10592
add_filter('gettext', 'change_post_to_article'); add_filter('gettext_with_context', 'change_post_to_article'); add_filter('ngettext', 'change_post_to_article'); add_filter('ngettext_with_context', 'change_post_to_article'); function change_post_to_article($translated) { $translated = str_ireplace( 'ダッシュボード', 'スペシャルダッシュボード', $translated ); return $translated; }
特定のカスタムフィールドkeyの値をリスト表示
<ul> <?php query_posts('posts_per_page=-1&meta_key=講演者'); while(have_Posts()) : the_post(); $speaker = get_post_meta($post->ID, '講演者', true); ?> <li><a href="<?php the_permalink() ?>"><?php echo $speaker ?></a></li> <?php endwhile; wp_reset_query(); ?> </ul>
未検証
投稿数を制限する(カスタムポストタイプ対応)
function posts_limit() { global $userdata, $post_type, $wpdb; if ( $post_type === 'ポストタイプ' ) { $item_count = $wpdb->get_var( "SELECT count(*) FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'ポストタイプ' AND post_author = $userdata->ID" ); if ( $item_count >= '制限数' ) { wp_die( "エラーメッセージ" ); } } return; } add_action('admin_head-post-new.php', 'posts_limit');
functions.php 未検証
ie8に対する見解
オフィシャルがスクロールjsできなかった。ie8対応と書いてあるから
ワードプレス関連の相性か?不明
対応策
ie8以下のみに読み込ますもの
それ以外に読み込ます物をわける
ie8以下のみに読み込ますもの
<!--[if lt IE 9]> <script src="/js/html5shiv-printshiv.min.js"></script> <script type="text/javascript" src="/js/selectivizr.js"></script> <script> //スムーズスクロール jQuery(function(){ // #で始まるアンカーをクリックした場合に処理 jQuery('a[href^=#]').click(function() { // スクロールの速度 var speed = 400; // ミリ秒 // アンカーの値取得 var href= jQuery(this).attr("href"); // 移動先を取得 var target = jQuery(href == "#" || href == "" ? 'html' : href); // 移動先を数値で取得 var position = target.offset().top; // スムーススクロール jQuery('body,html').animate({scrollTop:position}, speed, 'swing'); return false; }); }); </script> <style type="text/css"> #go1,#go2,#go3,#go4,#go5,#go6,#go7{ margin-top: -160px; padding-top: 160px; } </style> <![endif]-->
それ以外
<!--[if (gte IE 9)|!(IE)]><!--> <script type="text/javascript" src="/js/jquery.multirollover.js"></script> <script> $(document).ready(function() { $('#head_rogo a').multirollover({ crossfade : true, suffix : '_on', duration : 300, }); }); </script> <script type="text/javascript" src="/js/jquery.page-scroller-309.js"></script> <!--<![endif]-->
今回は8以下は
スクロールを
<script> //スムーズスクロール jQuery(function(){ // #で始まるアンカーをクリックした場合に処理 jQuery('a[href^=#]').click(function() { // スクロールの速度 var speed = 400; // ミリ秒 // アンカーの値取得 var href= jQuery(this).attr("href"); // 移動先を取得 var target = jQuery(href == "#" || href == "" ? 'html' : href); // 移動先を数値で取得 var position = target.offset().top; // スムーススクロール jQuery('body,html').animate({scrollTop:position}, speed, 'swing'); return false; }); }); </script>
で対応し
アンカーをあえて空DIVを入れて
パディングとマイナスマージンで対応
こういう調整は空DIVの有用性ってあるねって思ったし!
結局ie8のセレクタは使用できなかった。
<script src="/js/html5shiv-printshiv.min.js"></script> <script type="text/javascript" src="/js/selectivizr.js"></script>
こいつをいれる
しかし
デザイン的なcssのずれなどは治った。
どうしても何番目かを指定したい場合は
http://tasudesign.com/web-desing/nth-child/
http://www.gravity-works.jp/gravica/web/003862.html
これで対応してみよう。
geo mash up まとめ2
プラグインフォルダ
default-templates
のinfo-window.phpにてカスタム
カスタムフィールドの値を自動的に地図の場所にするためには
Geo Mashup Optionsの
Geocode Custom Fieldに所在地と入れてやったらできた!
サイドバーのまとめ
//サイドバー register_sidebars(5, array('before_widget' => '<div>', 'after_widget' => '</div>'));
ファンクションに書く
<?php $args = array( 'name' => sprintf(__('Sidebar %d'), $i ), 'id' => 'sidebar-$i', 'description' => '' 'before_widget' => '<li id="%1$s" class="widget %2$s">', 'after_widget' => '</li>', 'before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2>' ); ?>
デフォルトが上
抜粋 the_excerpt の[…] を変える
//echo mb_substr(get_the_excerpt(),0, 240);の...を変える function new_excerpt_more($more) { return '...'; } add_filter('excerpt_more', 'new_excerpt_more'); //抜粋文字数指定 マルチバイトパッチ必要 function change_excerpt_mblength($length) { return 111; } add_filter('excerpt_mblength', 'change_excerpt_mblength'); unction.phpに以下のコードを追加しますと、「続きを読む」などのリンクに変更 function new_excerpt_more($post) { return '<a href="'. get_permalink($post->ID) . '">' . '...続きを読む' . '</a>'; } add_filter('excerpt_more', 'new_excerpt_more'); オリジナル //抜粋カスタマイズ function new_excerpt_more($post) { return '...<div class="blog_more"><a href="'. get_permalink($post->ID) . '">' . '続きを読む▶▶' . '</a></div>'; } add_filter('excerpt_more', 'new_excerpt_more');
自社紹介のみ様をとる
タクソノミー 1. <?php echo $term->name; ?><?php if(is_tax('client') and !is_tax('client','d-marking-design')): echo ' 様'; endif; ?> 制作実績 2. <?php if(is_tax('client','d-marking-design')): ?> <?php elseif(is_tax('client') and !is_tax('client','d-marking-design')): //ここのandはなくてもよい?> <div style="margin-top:15px; text-align:center; font-size:15px;"><i class="icon-coffee"></i> クライアント様のご紹介</div> <?php else: ?> <div style="margin-top:15px; text-align:center; font-size:15px;"><i class="icon-coffee"></i> ご紹介できる制作物の一部をご紹介いたします。</div> <?php endif; ?> シングル <div class="jirei_disp_title">クライアント名:</div><div class="jirei_disp_con"><?php echo get_the_term_list($post->ID, 'client'); ?> <?php if(! is_object_in_term($post->ID, 'client','76') ): echo '様'; endif;?></div>
シングル タクソノミー ターム 分岐
<?php if(! is_object_in_term($post->ID, 'client','76') ): echo '様'; endif;?> <?php if ( is_object_in_term($post->ID, 'food','pan') ): ?> ここにタクソノミー特有のPHP/HTMLを書く <?php endif; ?>
ターム名をリンク付きで表示
<?php echo get_the_term_list($post->ID, 'chiiki_shurui'); ?> <?php echo get_the_term_list($post->ID, 'タクソノミー名'); ?>
topフラッグ移行時 トランスミット・googleドライブ・MAMPでCGI/Perl
トランスミットでローカルのパーミッション
googleドライブは インストして 名前を変えて バーからエラーをクリック フォルダを探すで再設定
MAMPでCGIは
/Application/MAMP/conf/apache/httpd.conf 453行目ぐらいにある以下の部分を修正する。
#AddHandler cgi-script .cgi
コメントアウト(#)を削除し、.plも動作するように追加する。
を
AddHandler cgi-script .cgi .pl
編集したhttpd.confを保存してMAMPを再起動してください。
テストCGIの作成とパーミッションの変更
以下のような簡単なCGIを用意してtest.cgiとしてフォルダーに入れました。
test.cgiを保存する際には、必ず改行コードを LF としてください。
#!/usr/bin/perl
print “Content-type: text/html \n\n”;
print “Hello CGI”;
パーミッション
ターミンナル
$ cd /Users/TanakaKimi/Web/
$ chmod 755 test.cgi
トランスミット
右クリック 情報を見るから755
CGI(perl)を /usr/local/bin/perl でも動くようにする
最初に隠しフォルダを表示して
hd user local にbinを作る
Mac OSXのPerl のパスは [/usr/bin/perl] ですが、
一般的なサーバは [/usr/local/bin/perl] だと思います。
そのままだとローカル環境でテストしたCGIを設置サーバにアップするときにPerlのパスを書き換えなければいけません。
そこで [/usr/bin/perl] に加えて [/usr/local/bin/perl] でも動くように設定します。
まず [/usr/local/] ディレクトリには [bin] ディレクトリがありませんので、ターミナルで [/usr/local/bin] ディレクトリを作成し、その中にPerlのシンボリックリンク(エイリアス)を作ります。
アプリケーション > ユーティリティ > ターミナルを起動。
以下を入力してください。
※以下のコード部分に含まれる「$」はコマンド入力していることを表していますので、実際には入力しないでください。
$ sudo ln -s /usr/bin/perl /usr/local/bin/perl
これで、MacOS X でも一般的な [/usr/local/bin/perl] で、CGIが動作するようになります。
サクラのCGIは
/usr/bin/perl
777のフォルダの下でも
動くと思っていたけれど、
実は777ではCGIは動かなくて、
705や755にしないと動かない
ファイルパーミッション 755 または 705 のいずれか
ディレクトリパーミッション 755 または 705 のいずれか
メモ ポストメールcgi
cgiへ受け渡すhtmlのurlが絶対パスでは
サクラでは駄目だった。
相対パスで受け渡せた。
シングルでターム名を出力 ただし親のカテゴリを選ばずに分類していく場合に 親の名前も取得する
ループ内で
親で分岐と同じコードを使い表示
<h2><div class="title1"> <?php //シングルでターム名を全部取得表示 if ($terms = get_the_terms($post->ID, 'cate_jirei')) { foreach ( $terms as $term ) { echo esc_html($term->name); } } ?> <?php //シングルDDD分岐 $term_p に タームの親のたーむIDが入る 2つのコードで使用 //ループでホームページカテゴリか分岐 //これは親を選択せずに小カテゴリのみ選択していった場合にも有効な親のIDで分岐する方法 但し、複数の親の子は未対応 //& 親を選択しないカテゴリの場合の親情報を取得 これはすぐしたのコード //ループ内でタームの親で分岐準備 逆さになる場合があるから下記分岐 $term = array_pop(get_the_terms($post->ID, 'cate_jirei')); //array_popで配列の最後を取り出す $term_p = $term->parent; //子か確かめる準備 if ( $term_p == 0 ) //取り出したのが親の場合 { $term = array_shift(get_the_terms($post->ID,'cate_jirei')); //array_shiftで先頭にある配列を取り出す } $term_p = $term->parent; //親のID取得 ?> <?php //ここからシングルのタイトル用のコード $ddterm = get_term($term_p , 'cate_jirei'); // echo $ddterm->name; ?> 実績 </div></h2>
親タームで分岐1
タクソノミー
<?php //タクソノミーで親のタームIDで分岐 //カテゴリー・タグ情報を取得(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; }?> <?php //タームで分岐デザインフォーマット if ($ido == 2): if (is_object_in_term($post->ID, 'hp_cate','フォーマットデザイン')): ?> <div class="original original2 ">フォーマット</div> <?php else: ?> <div class="original">オリジナルデザイン</div> <?php endif; ?> <?php endif; ?>
シングル等ループ内
<?php //ループでホームページカテゴリか分岐 //これは親を選択せずに小カテゴリのみ選択していった場合にも有効な親のIDで分岐する方法 但し、複数の親の子は未対応 //ループ内でタームの親で分岐準備 逆さになる場合があるから下記分岐 $term = array_pop(get_the_terms($post->ID, 'cate_jirei')); //array_popで配列の最後を取り出す $term_p = $term->parent; //子か確かめる準備 if ( $term_p == 0 ) //取り出したのが親の場合 { $term = array_shift(get_the_terms($post->ID,'cate_jirei')); //array_shiftで先頭にある配列を取り出す } $term_p = $term->parent; //親のID取得 if($term_p == 2): ?> <?php //タームで分岐デザインフォーマット if (is_object_in_term($post->ID, 'hp_cate','フォーマットデザイン')): ?> <div class="original original2 d_original">フォーマット</div> <?php else: ?> <div class="original d_original">オリジナルデザイン</div> <?php endif; ?> <?php endif; //ホームページ分岐終わり?>
上記ベースコード
http://liginc.co.jp/designer/archives/4348