フォーラムへの返信

15件の返信を表示中 - 1 - 15件目 (全18件中)
  • フォーラム: その他
    返信が含まれるトピック: カスタムフィールド検索機能自作で困っています。
    トピック投稿者 greon999

    (@greon999)

    >ishitakaさん
    ありがとうございます。解決しました!

    $meta_query = array( 'relation' => 'OR' );
    $field_key = get_fields_grep();
    foreach ( $field_key as $key ) {
    	$meta_query[] = array('key'=>$key,'value'=>$_GET[$key]);
    }
    $loop = new WP_Query( array(
    	'meta_query' => $meta_query,
    ) );

    で期待通りの動作になりました。
    $meta_query[]
    の[]で配列に要素を追加できることも勉強できました。

    本当にありがとうございました。

    フォーラム: 使い方全般
    返信が含まれるトピック: 投稿内のphpコードを削除する方法知りませんか?
    トピック投稿者 greon999

    (@greon999)

    ★★訂正★★
    すみません、訂正です。
    <!–?php the_title(); ?–> → <?php the_title(); ?>
    と戻るのは、wordpressバージョン5以上で、プラグインのClassic Editorを有効化した時でした。
    Exec-PHPの有効化の有無に関わらず、wordpressバージョン5以上の標準エディタでは
    <!–?php the_title(); ?–>
    になるようです。

    つまり、プラグインのClassic Editorを適応させれば、先述のやり方で解決できるようです。

    フォーラム: 使い方全般
    返信が含まれるトピック: 投稿内のphpコードを削除する方法知りませんか?
    トピック投稿者 greon999

    (@greon999)

    皆様、たくさんのご回答ありがとうございます。
    結論からですが、以下の方法で解決しました。

    プラグインExec-PHPを停止していたが、一旦有効化に戻す。

    <!–?php the_title(); ?–> → <?php the_title(); ?>
    と戻る。
    (Exec-PHPを停止することで、<?php ?>がコメントアウト扱いで<!–?php ?–>となっていたものが、元通りphpの記述に戻る)

    phpMyadminで
    UPDATE wp_posts SET post_content=REPLACE(post_content,'<?php the_title(); ?>’,'[thetitle]’);
    を実行して、成功。

    Exec-PHPを停止。

    /\<\!–\?php(.*)\?–\>/

    ダッシュ (-) ではなくENダッシュ (–)
    を考慮することでも解決したのかもしれませんが、先述の通り - そのものを無くすことで解決するに至りました。

    functions.phpに追加する方法に関しては、確かにreturnすることで正常に表示されました。
    ただ、投稿内のphp自体を削除する方が安全と考えましたので、置換するに至りました。

    「記事内にphp絡みのコメントアウトがあった場合の一括置換」
    については検証して答えを出さなかった形になりますが、
    「記事内のphpを削除」
    「Exec-PHPを使っていた場合におけるphpバージョンアップの対処 ※」
    については答えを共有できたと思いますので、これにて解決とさせていただければと思います。
    預かり物のサイトゆえ、検証しすぎて破壊してしまってはいけないので、何卒ご理解ください。


    Exec-PHP はphpバージョン7.2以降(未確認ですが7.0でも?)では、サイト自体が表示されなくなる程の影響があります。
    それを回避するには Exec-PHP を停止するしかないのですが、停止すると記事内のphpが自動的にコメントアウトに変換(<?php ?> → <!–?php ?–>)されるのです。
    もちろん、それまで<?php ?>で表示されていたものが表示されなくなるので、ショートコードに置換する必要があったのです。

    フォーラム: 使い方全般
    返信が含まれるトピック: 投稿内のphpコードを削除する方法知りませんか?
    トピック投稿者 greon999

    (@greon999)

    すいません、補足です。
    記事数は何千とあり、投稿内のphpが大量にあり、手作業では困難なので一括置換したいのです。

    トピック投稿者 greon999

    (@greon999)

    >ishitakaさん
    ご回答ありがとうございます。
    おっしゃるとおりでした!csvをtax_tax_custom01にすればインポートできました!

    「接頭辞 tax_ で始まるフィールドは、カスタムタクソノミーとして使われます」
    という点を、自分は「カスタムタクソノミー名はtax_で始まる名前にしなければいけない」と解釈し、その名前のままのcsvを作成していたのでうまくいかなかったようです。
    カスタムタクソノミー名は自由に設定して、csvではその名前の頭にtax_をつければよいということが理解できました。

    また、ダッシュボードでcate01、cate02のようなタームを作成してからでなくても、tax_tax_custom01の値としてcate01、cate02を読み込めば自動的にタームが作成される・・・つまりは
    (★未作成の状態でもインポートできる結果が理想です。)
    という目的が果たせることも確認できました。

    非常に助かりました。
    お知恵、ありがとうございました。

    トピック投稿者 greon999

    (@greon999)

    >gblsm様

    ご回答ありがとうございます。
    参考URLを元に、titleタグに関しては目的を達成できました!
    以下に作成したものを記載いたします。

    function my_pre_get_document_title( $title ) {
    	if ( is_singular('custom') ) {
    	$title = get_the_title().'追加テキスト';
    	}
    	return $title;
    }
    add_filter( 'pre_get_document_title', 'my_pre_get_document_title' );

    h1に関してはどうしても無理でした。
    cocoonはh1にthe_title()を使っている仕様のようでした。single-custom.phpを作成することも考えましたが、どうも特殊な構造で、single.phpの内部は他のphpファイルから読み込み読み込みでした。single-custom.phpを作っても読込先ファイルのh1の箇所を変更しなければいけなくなるので、他ファイル全てに影響すると思われる仕様でした。
    結果その読み込み先のファイルに条件分岐でカスタム投稿のときだけ任意のテキストが表示されるようしました。親テーマがアップデートしたら都度変更しなければいけない煩わしさは残りましたが、仕方ないです・・・。

    目的は達成できましたので、本件解決とさせていただきます。
    ありがとうございました!

    トピック投稿者 greon999

    (@greon999)

    追記です。
    少しでも軽量化、および製作段階での設定工数を極力減らしたいと思っていますので、プラグインでの対応ではないようにしたいと思っています。

    トピック投稿者 greon999

    (@greon999)

    解決しました。

    トピック投稿者 greon999

    (@greon999)

    $args = array(
    	(省略)
    	'slug ' => '北海道',
    );

    で出来ました!!
    目的が達成できたので、タームIDの方は試してないですが、本当にありがとうございます!

    答えを知ってしまえば、たったこれだけのことかと、自分の知識不足を恥じますが、ネットでいろいろ調べてどうしてもわからなかったので、本当に助かりました。

    トピック投稿者 greon999

    (@greon999)

    >munyagu
    Google XML Sitemaps の設定を削除することが出来ました。
    ただ、
    DELETE FROM wp_options WHERE option_name like ‘sm\_%’
    では何故かsm_rewrite_doneしか削除されませんでしたが、phpMyadminの操作でsm_statusとsm_optionsを削除しました。
    そして、Google XML Sitemaps が初期設定になっていることも確認できました。
    目的達成できました、ありがとうございます。

    >Toshiyuki Honda
    ご指摘ごもっともでした。
    上記のように初期化には成功しましたが、出来上がったサイトマップを見ると日付は過去のままでした。
    なかなかインデックスされなかった事象に関係あると思っていたのですが、思い過ごしでした。
    もうしばらくインデックス状況を見守りたいと思います。
    コメントありがとうございました。

    トピック投稿者 greon999

    (@greon999)

    >nobitaさん
    ご回答ありがとうございます。

    ショートコードではやはり無理ですか・・・

    CSSでの非表示箇所が多くなるとSEO的に良くないので、CSSでの対応は考えていませんでしたが、それしか方法ないかもですね。
    やってみます。

    ありがとうございました。

    フォーラム: 使い方全般
    返信が含まれるトピック: コメントのランダム表示は可能でしょうか?
    トピック投稿者 greon999

    (@greon999)

    >jim912さん
    functions.phpにその記述をすることでランダムに表示することができました!
    大変助かりました。
    誠にありがとうございました!

    トピック投稿者 greon999

    (@greon999)

    >jim912さん

    ありがとうございます!
    出来ました!!

    今回は単に親のみ取得したかったので、以下のような形で目的のものを取得できました。

    /*親ターム情報取得*/
    $parent = get_queried_object();
    $parent_id = $parent->parent;
    $parent_taxonomy = $parent->taxonomy;

    /*親ターム情報からスラッグを取得*/
    $parent_element = get_term($parent_id,$parent_taxonomy);
    $parent_slug = $parent_element->slug;

    そして取得した親スラッグを

    $args = array(
    ‘term’ => $parent_slug, //子タームの場合、親タームを代入
    );

    というような形で使って、期待通りの動作になりました。
    誠にありがとうございました!

    トピック投稿者 greon999

    (@greon999)

    追記:
    方法としては、phpを記述する方法でもプラグインでも問いません。

    トピック投稿者 greon999

    (@greon999)

    お騒がせしました。
    自己解決しましたが、誰かのお役に立てればとメモしておきます。

    <?php
    $taxonomy_name = get_query_var(‘taxonomy’);
    $term_var = get_query_var( ‘term’ );
    $args = array(
    ‘taxonomy’ => $taxonomy_name,
    ‘term’ => $term_var,
    ‘posts_per_page’ => 5,
    ‘orderby’ => rand,
    );
    ?>
    <?php $loop = new WP_Query($args); ?>
    <?php while ($loop->have_posts() ) : $loop->the_post(); ?>
    ループ内容
    <?php endwhile; ?>

    上記でいけました!

15件の返信を表示中 - 1 - 15件目 (全18件中)