僕が僕を保つ

家族が大好きな、自分も好きでいたい、その辺に転がっているエンジニア

マイホームが欲しい

マイホームが欲しいと思っているコマツです。

今まで幼少期からは実家、学生からはずっと賃貸なので自分の家を購入はしたことがありません。

一体なにから始めたらいいのかわからないので、メモがてら動いたことを記載していこうかと思います。

 

やったこと

・欲しいエリアで戸建て検索してから掲載業者が載っているのでそこに電話をかけた

 

……まだそれだけしかしていません。

しかも一社のみ。

やる気があるのかないのか。

 

掛けて、とりあえずざっくりと今の状況を説明。

・家が欲しい

・エリアが今住んでいるところからは遠方なので、仕事辞めないといけないと思うんだけど、ローンとか相談に乗ってくれるの?

 

伝えたのは本当にそれだけです。

まあ会話をしていけば何とかなるかなという感じ。

 

向こうは受付っぽい女性でとりあえずローンとかわかる人に変わりますとのこと。

変わってからもう一度軽く説明。

 

担当から軽く年収と勤続年数、他の借り入れの有無などを聞かれ、

その条件で今から銀行行って聞いてきますという返答。

 

また流れとかもざっくり教えてと言ってメールアドレスを教える。

後でPDF形式で流れの資料をいただきました。

 

担当から再度着信があり、銀行にいるとのこと。

質問があり、「なぜ遠方のエリアに家が欲しいの?」と銀行の方が知りたいとのこと。

「嫁の実家があるからです」ということを言うと、それは良かったという感じでした。

なぜよかったのかというと、正当な理由ぽいかららしいです。

縁もゆかりもない人には融資しにくいのかもしれません。

転職のタイミングについても、ローンの審査が通ってから転職すべきとのこと。

それでいいんだなあとは思いますが、お金を貸してくれる銀行がそういうならそのほうがいいんでしょうな。

 

まだ一つのところからしか聞いてませんが、少しずつ情報を集めながら進んでいきたいと思います。

 

絞り込み検索結果でページネーションが機能しなかった

WordPressでカスタムタクソノミーのタームで絞り込み検索をかけた際にページネーションがうまくいかなかった現象が出ました。


チェックボックスでタームを検索する以外に、キーワード検索も実装していて
両方から同じsearch.phpに検索結果を表示させるようにしていました。

//functions.php
<?php 
//-----------------ページネーション-----------------
function pagination( $pages, $paged, $range = 3, $show_only = true ) {

    $pages = ( int ) $pages;
    $paged = $paged ?: 1;

    if ( $show_only && $pages === 1 ) {
        echo '<div><ul><li>1</li></ul></div>';
        return;
    }

    if ( $pages === 1 ) return;

    if ( 1 !== $pages ) {
        echo '<div><ul>';
        if ( $paged > $range + 1 ) {
            echo '<li><a href="', get_pagenum_link(1) ,'"><i class="fas fa-fast-backward"></i></a></li>';
        }
        if ( $paged > 1 ) {
            echo '<li><a href="', get_pagenum_link( $paged - 1 ) ,'" ><i class="fas fa-caret-left"></i></a></li>';
        }
        for ( $i = 1; $i <= $pages; $i++ ) {

            if ( $i <= $paged + $range && $i >= $paged - $range ) {
                if ( $paged === $i ) {
                    echo '<li>', $i ,'</li>';
                } else {
                    echo '<li><a href="', get_pagenum_link( $i ) ,'">', $i ,'</a></li>';
                }
            }
        }
        if ( $paged < $pages ) {
            echo '<li><a href="', get_pagenum_link( $paged + 1 ) ,'"><i class="fas fa-caret-right"></i></a></li>';
        }
        if ( $paged + $range < $pages ) {
            echo '<li><a href="', get_pagenum_link( $pages ) ,'"><i class="fas fa-fast-forward"></i></a></li>';
        }
        echo '</ul></div>';
    }
}
?>
//search.php
<?php
$searchType = $_GET['searchType'];
$termCheck  = $_GET['termCheck'];
if($searchType == 'keyword'){
    $search_query = new WP_Query(
                        array(
                            'post_type' => get_query_var( 'post_type', 'custom' )
                            , 'paged' => get_query_var( 'paged', 1 )
                            , 's' => get_search_query()
                            , 'posts_per_page' => 5
                        )
                    );
}elseif($searchType == 'checkBox'){
    $search_query = new WP_Query(
                        array(
                            'post_type' => get_query_var( 'post_type', 'custom' )
                            , 'paged' => get_query_var( 'paged', 1 )
                            , 'posts_per_page' => 5
                            , 'tax_query' => array(
                                array(
                                    'taxonomy' => 'taxonomy',
                                    'field' => 'slug',
                                    'terms' => $termStack,
                                    'operator' => 'IN'
                                )
                            )
                        )
                    );
}
if ( $search_query->have_posts() ) :
  while ( $search_query->have_posts() ) :
    $search_query->the_post();
    /*
    ~
    検索結果出力
    ~
    */
  endwhile;
endif;
wp_reset_postdata();

//ページネーション部分
if ( function_exists( 'pagination' ) ) :
        pagination( $search_query->max_num_pages, get_query_var( 'paged' ) );
endif;
?>
//searchformFreeWord.php
<div>
    <form method="get" class="search_container" action="<?php echo home_url('/'); ?>">
        <input type="text" name="s" value="<?php the_search_query(); ?>" placeholder="キーワードを入力" />
        <input type="hidden" name="searchType" value="keyword">
	<input type="hidden" name="post_type" value="custom">
	<input type="hidden" name="termCheck[]" value="">
	<button type="submit" class="search_btn" value="検索する">
    </form>
</div>
//searchformCheckBox.php
<form method="get" action="<?php echo home_url('/'); ?>">
    <input type="hidden" name="s" value="">
    <input type="hidden" name="searchType" value="checkBox">
    <input type="hidden" name="post_type" value="custom">
    <div>
        <input type="checkbox" name="termCheck[]" value="term1" id="term1">
        <label for="term1">term1</label>
        <input type="checkbox" name="termCheck[]" value="term2" id="term2">
        <label for="term2">term2</label>
        <input type="checkbox" name="termCheck[]" value="term3" id="term3">
        <label for="term3">term3</label>
    </div>
    <button type="submit" class="search_btn" value="検索する">検索する
</form>


キーワード検索の場合ではページネーションが機能していたのですが、
タームの絞り込み検索ではうまくいきませんでした。


原因はキーワード検索用に使用していたプラグイン「Search Everything」でした。
kotori-blog.com


このプラグインを使用してカスタムフィールド内にもキーワード検索ができるようにしていました。

しかし、プラグインを導入すると、キーワードを空で検索した際に全件表示ではなく全件非表示になってしまいます。

それが原因でタームで絞り込んだ際にキーワードを空に設定したことによってページネーションがうまく機能しなかった可能性が出てきました。

キーワードが空で検索した際の挙動の修正を行います。
プラグインの入っているフォルダにある「search-everything.php」を修正します。

~~/wp-content/plugins/search-everything/search-everything.php
の階層にファイルは存在します。
279行目付近に

//search-everything.php
<?php 
if ( $searchQuery != '' ) {
    // lets use _OUR_ query instead of WP's, as we have posts already included in our query as well(assuming it's not empty which we check for)
    $where = " AND ((" . $searchQuery . ")) ";
}
?>

という箇所があると思いますが
これを修正します。

//search-everything.php
<?php 
if ( $searchQuery != '' && $searchQuery != '()'  ) {
    // lets use _OUR_ query instead of WP's, as we have posts already included in our query as well(assuming it's not empty which we check for)
    $where = " AND ((" . $searchQuery . ")) ";
}
?>	

キーワードが空の場合には「$searchQuery」は「''」空文字ではなく、「'()'」を返します。
「 '()'」を返す場合の記述がないので空の場合に全件取得する挙動になっています。

これを修正することにより、希望通りに検索結果を取得することができました。

以下、参考サイト
wordpress.org

眼科に行った

朝の5時半ごろに目が覚めたが、右目に痛みが出ていて開かない。

異物が入っているような感覚だった。

生理食塩水でもアイボンしても全然治らない。とりあえず眼科が開くまで我慢。

仕事は午前休にして8時半ごろに近所の眼科へ入った。

6人くらい先に入っていて、初診であることを伝える。

9時20分くらいに呼ばれて検査。視力を測ったりした。

また待合室に戻されて10時頃に先生のところへ。

まぶしい光に照らされまくり、目を見られまくる。

眼科って暗いなと思っていたけど、こうやって診察するからなのか。

「まつ毛やな」

まつ毛だったのか。違う場所に移され、顕微鏡と呼ばれるものでのぞき込まれる。

あんまり違いはわからなかったけど、たぶんよく見えるんだと思う。

ピンセットで何本か取られて(怖かった)目薬だしてもらって終わり。

まつ毛が3本ほど目に入っていて、下のまつ毛が逆まつ毛でそれも目に触れていたらしい。

取ってもらったけど正直まだ若干違和感はある。

目は大切にしないとね。