ITの隊長のブログ

ITの隊長のブログです。Rubyを使って仕事しています。最近も色々やっているお(^ω^ = ^ω^)

【WordPress】get_search_query()は、検索する前に使用せよ

query_posts()のあとで使うと値がリセットされてとれなくなる(っぽい)

<?php
  $searchQuery = get_search_query(); // 取れる
  $args = array(
      'post_type' => 'post'
  );
  query_posts($args); // この後では取れない
  ?>
  <?php if ($searchQuery): ?>
      <h2>
          <span><?= $searchQuery ?>の検索結果 : <?php echo $wp_query->found_posts; ?></span>
      </h2>

ちなみにこの後、query_posts()でハマった。。。

これからはquery_posts()使わずにpre_get_postsにフックしていこうと思います。

【WordPress】add_filter()とapply_filters()

header.phpのなかに検索フォームがあるんだけど、特定のページには、その下に検索情報を追加したいとのこと。

おーう。めんどくせぇ。header.php増やす?増やせるけど、きたねえなおい。

ってなったけど。よく考えたらadd_filter()あんじゃん。それの逆で自分でfilterを登録できるやつをheader.phpに追記すればいいじゃんと思った。

ということでできました。

関数リファレンス/add filter - WordPress Codex 日本語版

関数リファレンス/apply filters - WordPress Codex 日本語版

  1. apply_filters('名前', 'filterにフックした関数に渡す値')を、フックを実行したい箇所に書く
  2. functions.phpとかで、add_filter('apply_filterで宣言した名前', '実行したい関数')する

これが流れ。

<?php
// ... 省略
<?php apply_filters('after_search', ''); ?>
<?php
add_filter('after_search', function($string) {
    get_template_part('template-parts/parts', 'area-link');
    return $string;
});
get_header(); ?>

これでうまくいきましたぁあああ!!!

【WordPress】カスタム投稿タイプのTaxonomyをエクスポート。それをPost Typeのところでインポートしたらぶっ壊れた

大変なことになった。。。。

f:id:aipacommander:20160928224924p:plain

ふぇえええええええええ!!!!?

このエラーがいっぱいいっぱい。

もううまく動かないし、どこをどう復旧していいのかわからない。

ちょうど案件引き継ぎのタイミングで、ローカルでsqldump叩いていたので、バックアップsqlでDB上書き。

もとに戻った。。。ε-(´∀`*)ホッ

自分のローカル環境なのでセフセフ。これが本番だったら。。。。。オエ