忍者ブログ
22 January

検索結果ページのレイアウト welcart

welcartでは検索結果の the_content(); が制御されており、編集するならフックを使う必要がある。blogと共存するための制御だろうけど、すげーうざい。
functions.phpにて $html .= とか使ってhtmlを出力するんだが、
長々やるとあってんだか間違ってんだかわかんなくなる

[解決済み] 検索結果の表示内容の変更


http://www.welcart.com/community/forums/topic/%E8%A7%A3%E6%B1%BA%E6%B8%88%E3%81%BF-%E6%A4%9C%E7%B4%A2%E7%B5%90%E6%9E%9C%E3%81%AE%E8%A1%A8%E7%A4%BA%E5%86%85%E5%AE%B9%E3%81%AE%E5%A4%89%E6%9B%B4

add_filter( 'usces_filter_item_list_loopimg', 'my_filter_searchpage', 10, 2);
function my_filter_searchpage($html, $content){
global $post , $usces;
$html = '<div class="mysearch_box"><a href="' . get_permalink($post->ID) . '">' . usces_the_itemImage(0, 150, 150, $post, 'return');
$html .= '<div class="mysearch_title">' . usces_the_itemName( 'return' ) . '</div></a>';
if (usces_the_itemZaiko('return') == '売切れ'){
$html .= '<div class="price">';
$html .= usces_the_itemZaiko('return') . '</div>';
}else{
if (usces_the_firstCprice('return') > 0) {
$html .= '<div class="reg_price">';
if( function_exists('usces_crform') ){
$html .= usces_crform( usces_the_firstCprice('return'), true, false, 'return' );
}else{
$html .= __('$', 'usces') . number_format(usces_the_firstCprice('return'));
}
$html .= $usces->getGuidTax() . '</div>';
}
$html .= '<div class="price">' . usces_crform( usces_the_firstPrice('return'), true, false , 'return' );
$html .= $usces->getGuidTax() . '</div>' . '</div>';
}
return $html; }

これを丸ごとコピペして改変していってなんとかできた。
しかしここに抜粋のせたいとか色々やろうとしたけど、全然うまくいかないのであきらめた。

PR
21 January

現在のカテゴリ、タグ、タクソノミーの色んな値を取得する

http://blog.ks-product.com/wrodpress-get-current-term/

/*
	アーカイブページで現在のカテゴリー・タグ・タームを取得する
*/
function get_current_term(){

	$id;
	$tax_slug;

	if(is_category()){
		$tax_slug = "category";
		$id = get_query_var('cat');	
	}else if(is_tag()){
		$tax_slug = "post_tag";
		$id = get_query_var('tag_id');	
	}else if(is_tax()){
		$tax_slug = get_query_var('taxonomy');	
		$term_slug = get_query_var('term');	
		$term = get_term_by("slug",$term_slug,$tax_slug);
		$id = $term->term_id;
	}

	return get_term($id,$tax_slug);
}


//カテゴリ・タグ・カスタムタクソノミー オブジェクトを取得 $term = get_current_term(); //以下は必要に応じて記述 echo $term->name; //名前を表示 echo $term->slug; //スラッグを表示 echo $term->description; //説明文を表示 echo $term->count; //投稿数を表示


例)現在のカテゴリー名を取得
<p>
<?php $term = get_current_term(); ?>
<?php echo $term->name; ?>
</p>


カテゴリ名を取得しようと調べたら、1行で終わらないのばかりで面倒っておもった。
そしたらまとめてくれている人がいたので、こんどからコレを利用しようとおもう。
20 January

phpファイルinclude と WPの空検索結果がおかしい

http://morilog.com/wordpress/tips/empty_search_redirect/


WPの検索欄で空検索をしたら、固定ページ本体と投稿ページアーカイブ(float並び)が合わさって、レイアウトくずれていた。
昔作ったWPサイトで空検索してみたら、トップページが表示された。
検索範囲を広げるSearch everything で固定ページを除外してみても、固定ページが空検索ででてくる。なんなの・・・。
投稿だけが全部でてくるなら、たまにみかける検索結果だからいいけど、固定もまざってレイアウトグチャぐちゃは困る
調べた結果、WP4.0から挙動がかわったらしい。
昔作ったWPサイトはまだ3.9だった。

空検索した結果を変更したい。
空検索したらトップページのphpを読み込むことにした。
http://webcre-archive.com/2012/09/14/wordpress_search_no_keywords/

function search_no_keywords() {
    if (isset($_GET['s']) && empty($_GET['s'])) {
        include(STYLESHEETPATH . '/home.php');
        exit;
    }
}
add_action('template_redirect', 'search_no_keywords');


子テーマだとTEMPLATEPATHでは上手くいかない!STYLESHEETPATHで解決。ファイル読み込み | WordPress
http://wptheme.monochrome-photo.info/?p=268

最初、トップページphpよみこまねーぞ!って思ったら、子テーマと親テーマではパスが違うらしい。ホームやサイトルートURL取得するタグと同じで子テーマ用があった。

Show Current Template

このプラグイン最高です。子テーマテンプレ読み込んでないじゃんって分かったのも、コレ使ってたからです。adminバーに現在のページで読み込まれてるテンプレphpが表示されます。
どのphpを修正したらいいかとか、オリジナルテンプレが多いテーマや初めて見るテーマで非常に役に立ちます。
20 January

the_category で特定カテゴリーを除外したい

カテゴリー出力で特定のカテゴリーを除外したい
http://web-taiyo.com/works/110824.html


function the_category_filter($thelist,$separator=', ') {
	if(!defined('WP_ADMIN')) {
		$exclude = array('カテゴリー名','カテゴリー名','カテゴリー名');
		$cats = explode($separator,$thelist);
		$newlist = array();
		foreach($cats as $cat) {
			$catname = trim(strip_tags($cat));
			if(!in_array($catname,$exclude))
				$newlist[] = $cat;
		}
		return implode($separator,$newlist);
	} else
		return $thelist;
}
add_filter('the_category','the_category_filter',10,2);
20 January

「ログイン・ログアウト」のテキストを変更したい welcart

[解決済み] ”ログイン”の表記を変更したい


http://www.welcart.com/community/forums/topic/%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%AE%E8%A1%A8%E8%A8%98%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%97%E3%81%9F%E3%81%84



add_filter('usces_filter_loginlink_label', 'my_filter_loginlink_label');
function my_filter_loginlink_label(){
return 'ログインの替わりの文字列';
}
add_filter('usces_filter_logoutlink_label', 'my_filter_logoutlink_label');
function my_filter_logoutlink_label(){
return 'ログアウトの替わりの文字列';
}

元のソース

function/template.func.phpの1330行目
function usces_loginout( $out = '') {
	global $usces;
	if ( !$usces->is_member_logged_in() )
		$res = '<a href="' . apply_filters('usces_filter_login_uri', USCES_LOGIN_URL) . '" class="usces_login_a">' . apply_filters('usces_filter_loginlink_label', __('Log-in','usces')) . '</a>';
	else
		$res = '<a href="' . apply_filters('usces_filter_logout_uri', USCES_LOGOUT_URL) . '" class="usces_logout_a">' . apply_filters('usces_filter_logoutlink_label', __('Log out','usces')) . '</a>';

	if( $out == 'return' ){
		return $res;
	}else{
		echo $res;
	}
}