背景画像の大きさを設定するCSS
背景画像の大きさを設定するCSSは、各ブラウザの事を考え、下記の様に設定する。
background-size: 100% auto; -webkit-background-size: 100% auto; -moz-background-size: 100% auto; -o-background-size: 100% auto; -ms-background-size: 100% auto;
背景画像の大きさを設定するCSSは、各ブラウザの事を考え、下記の様に設定する。
background-size: 100% auto; -webkit-background-size: 100% auto; -moz-background-size: 100% auto; -o-background-size: 100% auto; -ms-background-size: 100% auto;
<!-- エラー重複処理 --> <script type="text/javascript"> // <![CDATA[ //郵便番号 $(function(){ //"div.categoryの要素毎に処理する $(".errorZip").each(function () { //"div.categoryの要素内のliの数をカウント var num = $(this).find('p').length; //alert (num); //"div.category内のul.catlist liが0件だったら if(num >= 2){ $('.errorZip00').css('display','block'); $('.errorZip01').css('display','none'); $('.errorZip02').css('display','none'); } }); }); // ]]> </script>
WordPress の自動アップデートを止めるには、config.phpに下記を追記する。
/** 自動アップデートの無効 */ define( 'AUTOMATIC_UPDATER_DISABLED', true );
/*————————————————
500pxの最低の高さ
————————————————-*/
#hoge {
min-height:500px;
height:auto !important;
height:500px;
}
WordPressでスマホやタブレットなどに応じてテーマが切り替えられるプラグインMulti Device Switcher
Multi Device Switcher
WordPressでカスタムフィールにショートコード使用するには、
以下のタグを使用する。
<?php echo apply_filters('the_content', get_post_meta($post->ID, 'foo', true)); ?>
テンプレートパートファイルをインクルードする場合に、
<?php include (TEMPLATEPATH . '/mydirectory/template.php') ?>
と記述する事も出来る
<?php get_template_part('mydirectory/template'); ?>
と記述する事も出来ます
<?php locate_template( 'mydirectory/template.php', true,true ); ?>
と記述する事も出来ます
smartyのコメントアウトする際は、
を使うとうまく反映されない場合があるので、
<!--{if false}--> テストテストテストテストテスト <!--{/if}-->
とすると良い。
1.html/frontparts/bloc/product_list.php を新規作成
<?php // {{{ requires require_once(CLASS_EX_REALDIR . "page_extends/frontparts/bloc/LC_Page_FrontParts_Bloc_Product_List_Ex.php"); // }}} // {{{ generate page $objPage = new LC_Page_FrontParts_Bloc_Product_List_Ex(); register_shutdown_function(array($objPage, "destroy")); $objPage->init(); $objPage->process(); ?>
2.data/class_extends/page_extends/frontparts/bloc/LC_Page_FrontParts_Bloc_Product_List_Ex.php を新規作成
<?php // {{{ requires require_once(CLASS_REALDIR . "pages/frontparts/bloc/LC_Page_FrontParts_Bloc_Product_List.php"); /** * product_List のページクラス(拡張). * * LC_Page_FrontParts_Bloc_Product_List をカスタマイズする場合はこのクラスを編集する. * */ class LC_Page_FrontParts_Bloc_Product_List_Ex extends LC_Page_FrontParts_Bloc_Product_List { // }}} // {{{ functions /** * Page を初期化する. * * @return void */ function init() { parent::init(); } /** * Page のプロセス. * * @return void */ function process() { parent::process(); } /** * デストラクタ. * * @return void */ function destroy() { parent::destroy(); } } ?>
3.data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_Product_List.php を新規作成
<?php // {{{ requires require_once CLASS_REALDIR . 'pages/frontparts/bloc/LC_Page_FrontParts_Bloc.php'; /** * Product_List のページクラス. * * @package Page */ class LC_Page_FrontParts_Bloc_Product_List extends LC_Page_FrontParts_Bloc { // }}} // {{{ functions /** * Page を初期化する. * * @return void */ function init() { parent::init(); $bloc_file = 'product_list.tpl'; $this->setTplMainpage($bloc_file); } /** * Page のプロセス. * * @return void */ function process() { if (defined("MOBILE_SITE") && MOBILE_SITE) { $objView = new SC_MobileView(); } else { $objView = new SC_SiteView(); } $objQuery = new SC_Query_Ex(); $objProduct = new SC_Product_Ex(); //$objQuery->setLimitOffset(10); //$objQuery->setOrder("update_date desc"); $this->arrProducts = $objProduct->lists(&$objQuery); $objView->assignobj($this); $objView->display($this->tpl_mainpage); } /** * デストラクタ. * * @return void */ function destroy() { parent::destroy(); } } ?>
$this->arrProducts を定義するところの上にコメントアウトされた行がありますが、
その1行目は「10件のみ取り出す」、2行目は「update_date(更新日時)の降順に並べる」という意味です。
コメント記号を削除すれば、「更新があった商品リスト(最新10件)」にもなりそうです。
4.data/Smarty/templates/default/frontparts/bloc/product_list.tpl を新規作成
<style type="text/css"> div#productlist_area h2 { background-color:#de5e17; text-align:center; color:#fff; padding:7px 0 7px 0; } div#productlist_area div.productImage { float:left; width:40px; padding:0 8px 0 0; } div#productlist_area div.productContents { float:left; width:100px; } div#productlist_area div.product_item { padding:5px 0 5px 5px; } </style> <!--{if count($arrProducts) > 0}--> <div class="bloc_outer clearfix"> <div id="productlist_area"> <h2>商品一覧リスト</h2> <div class="bloc_body clearfix"> <!--{foreach from=$arrProducts item=arrProduct}--> <div class="product_item clearfix"> <div class="productImage"> <a href="<!--{$smarty.const.P_DETAIL_URLPATH}--><!--{$arrProduct.product_id|u}-->"><img src="<!--{$smarty.const.ROOT_URLPATH}-->resize_image.php?image=<!--{$arrProduct.main_list_image|sfNoImageMainList|h}-->&width=40&height=40" alt="<!--{$arrProduct.name|h}-->" /></a> </div> <div class="productContents"> <h3> <a href="<!--{$smarty.const.P_DETAIL_URLPATH}--><!--{$arrProduct.product_id|u}-->"><!--{$arrProduct.name|h}--></a> </h3> <p class="sale_price"> <span class="price"><!--{$arrProduct.price02_min|sfCalcIncTax:$arrInfo.tax:$arrInfo.tax_rule|number_format}--> 円</span> </p> </div> </div> </dl> <div class="clear"></div> <!--{/foreach}--> </div> </div> </div> <!--{/if}-->
5.データベースに新規ブロック情報を登録
insert into dtb_bloc values(10,10,’product_list’,’product_list.tpl’,’product_list’,now(),now(),’frontparts/bloc/product_list.php’,0);
6.特定のカテゴリだけ表示する場合・・・
3.data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_Product_List.php を新規作成
箇所を下記とする
<?php // {{{ requires require_once CLASS_REALDIR . 'pages/frontparts/bloc/LC_Page_FrontParts_Bloc.php'; /** * Product_List のページクラス. * * @package Page */ class LC_Page_FrontParts_Bloc_Product_List extends LC_Page_FrontParts_Bloc { // }}} // {{{ functions /** * Page を初期化する. * * @return void */ function init() { parent::init(); $bloc_file = 'product_list.tpl'; $this->setTplMainpage($bloc_file); } /** * Page のプロセス. * * @return void */ function process() { if (defined("MOBILE_SITE") && MOBILE_SITE) { $objView = new SC_MobileView(); } else { $objView = new SC_SiteView(); } $objQuery = new SC_Query_Ex(); // 商品一覧を取得 $col = 'T1.product_id, T1.main_list_image, T1.name, T2.price02 AS price02_min'; $from = 'dtb_products as T1 INNER JOIN dtb_products_class as T2 ON T1.product_id = T2.product_id'; $from .= ' INNER JOIN dtb_product_categories as T3 ON T1.product_id = T3.product_id'; $where = 'T2.del_flg = 0 and T3.category_id IN ( ? , ? )'; // $arrval で指定するカテゴリIDの数だけ ? を増やす $arrval = Array( 4 , 6 ); // 一番下層のカテゴリIDを指定する //$objQuery->setOrder("T1.update_date desc"); $arrProducts = $objQuery->select($col, $from, $where, $arrval); // 重複データ削除 $tmp = Array(); $i = 0; $max_count = 10; // 取得したい商品個数を指定する foreach($arrProducts as $arrProduct){ if(!in_array($arrProduct['product_id'], $tmp)){ $this->arrProducts[$i] = $arrProduct; $i++; } $tmp[] = $arrProduct['product_id']; if($i >= $max_count){ break; } } $objView->assignobj($this); $objView->display($this->tpl_mainpage); } /** * デストラクタ. * * @return void */ function destroy() { parent::destroy(); } } ?>
カスタム投稿タイプのスラッグが「blog」の場合。
http://WordPressのサイトアドレス/feed?post_type=blog
function.phpに下記を記述
//bodyクラスに最上位のスラッグを表示 function ps_get_root_page( $cur_post, $cnt = 0 ) { if ( $cnt > 100 ) { return false; } $cnt++; if ( $cur_post->post_parent == 0 ) { $root_page = $cur_post; } else { $root_page = ps_get_root_page( get_post( $cur_post->post_parent ), $cnt ); } return $root_page; }
取得したいテンプレートファイルに下記を記述
$root_slug = ps_get_root_page( $post ); $root_slug = $root_slug->post_name; echo $root_slug;
<?php include( TEMPLATEPATH . '/sample.php' ); ?>
/wp-content/themes/使用中のテーマ名/functions.php の最後に以下を挿入。
function Include_my_php($params = array()) { extract(shortcode_atts(array( 'file' => 'default' ), $params)); ob_start(); include(get_theme_root() . '/' . get_template() . "/$file.php"); return ob_get_clean(); } add_shortcode('myphp', 'Include_my_php');
読み込みたいphpファイルを作成し、同フォルダにアップする。
記事内に以下を記述(ファイル名がexample.phpの場合)
[myphp file='example']
cssで背景の大きさをスマホなども含め、各ブラウザに対応する方法は以下。
background-size: 37px 22px; -webkit-background-size: 37px 22px; -moz-background-size: 37px 22px; -o-background-size: 37px 22px; -ms-background-size: 37px 22px;
function shortcode_url() { return get_bloginfo('url'); } add_shortcode('url', 'shortcode_url'); /* 投稿内で [url] と記述する */
投稿内でショートコードを記述するれば、blobinfo(‘url’)の値と置き換えられるようになります。
function shortcode_templateurl() { return get_bloginfo('template_url'); } add_shortcode('template_url', 'shortcode_templateurl'); /* 投稿内で [template_url] と記述する */
こちらも同じく、投稿内でショートコードを記述すれば、blobinfo(‘template_url’)の値と置き換えられるようになります。
.sample { display: table-cell; vertical-align: middle; } /* IE 7 */ *:first-child+html .sample { display: inline; zoom: 1; } /*\*//*/ * html .sample { display: inline-block; } /**/
jQueryでテキストの初期値をフォーカス時に消すには、
下記タグで実現できる
<ul> <li><input type="text" value="ユーザー名" /></li> <li><input type="text" value="メールアドレス" /></li> </ul>
input { color: #ccc; } input .textFocus { color: #333333 !important; }
jQuery(document).ready(function(){ // textBox は テキストボックス全てを指定。 var textBox = jQuery("input:text"); // 条件は テキストボックスにフォーカスされたら。 textBox.focus(function(){ // class名 "textFocus" を追加。(文字色を濃くする) jQuery(this).addClass("textFocus"); // if条件は HTMLで設定した初期値(value)のままかどうか if(this.value == this.defaultValue){ // trueなら テキストボックスを 空 にする jQuery(this).val(''); } // 逆に テキストボックスからフォーカスが失われたとき。 }).blur(function(){ // if条件は テキストボックスの数値が 空(0文字)のとき if(jQuery(this).val() == ''){ // テキストボックスの中身を 元の初期値(value)にする // classも外す(文字色を元の薄い色に戻す) jQuery(this).val(this.defaultValue).removeClass("textFocus"); } }); });
WordPressで特定のカテゴリーの最新記事を表示するタグは以下の通り
<?php query_posts('showposts=1&cat=13'); while(have_posts()) : the_post(); ?> <div><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></div> <div><?php the_content(); ?></div> <?php endwhile; ?>
WordPressでカテゴリー一覧を表示するには、下記の様に記述する。
<ul> <?php $cat_all = get_terms( "category", "fields=all&get=all&exclude_tree=12&exclude=11" ); foreach($cat_all as $value): ?> <li><a href="<?php echo get_category_link($value->term_id); ?>"><?php echo $value->name;?>(<?php echo $value->count;?>)</a></li> <?php endforeach; ?> </ul>
echo $value->name; //カテゴリ名を出力
echo $value->term_id; //カテゴリIDを出力
echo $value->slug; //カテゴリスラッグを出力
echo $value->count; //カテゴリの投稿数を出力
その他にも、
fields=all&get=all&exclude_tree=12&exclude=11
の部分を変更する事で、取得するカテゴリーを指定することもできる。
Copyright © All Rights Reserved · Green Hope Theme by Sivan & schiy · Proudly powered by WordPress