フォーラムへの返信

15件の返信を表示中 - 1 - 15件目 (全24件中)
  • フォーラム: 使い方全般
    返信が含まれるトピック: 指定パス以降を禁止にしたい
    トピック投稿者 fongafon

    (@fongafon)

    こんにちは、@munyagu 様、ありがとうございます。

    WordPressのことなのだから# BEGIN WordPressより下だろうと思っておりましたし、WordPessのRewriteEngine Onがあるから不要だと思っておりました。

    難しいですね…。

    フォーラム: 使い方全般
    返信が含まれるトピック: ACFの値が一致するときの条件分岐について

    条件1

    <?php
    //ACFフィールド名(topics-category)が「イベント」「セール」「キャンペーン」のいずれかのとき処理を実行
    $cat = get_post_meta( $post->ID , 'topics-category' , true );
    if( $cat == 'イベント' || $cat == 'セール' || $cat == 'キャンペーン')
    : ?>
    <!-- 処理 -->
    <?php endif; ?>

    in_array()でもできます。

    // if( $cat == 'イベント' || $cat == 'セール' || $cat == 'キャンペーン')
    // ↓
    if( in_array( $cat, ['イベント', 'セール', 'キャンペーン'], true ) )

    条件2

    <?php
    //ACFフィールド名(topics-category)が「イベント」で、かつ、ACFフィールド名(topics-category2)が「AAA」のとき処理を実行
    $cat = get_post_meta( $post->ID , 'topics-category' , true );
    $cat2 = get_post_meta( $post->ID , 'topics-category2' , true );
    if ( $cat == 'イベント' && $cat2 == 'AAA' )
    : ?>
    <!-- 処理 -->
    <?php endif; ?>
    トピック投稿者 fongafon

    (@fongafon)

    ありがとうございます。.htaccess の変更だけでサブディレクトリが使えるようになるのですね。大変参考になりました。

    角括弧への修正いただき、エラーが改善するかご確認くださいませ。

    同様のエラーの対処法がございました。
    https://wp-trouble.tokyo/array-and-string-offset.html

    706行目がどの辺りで、どのように修正すればよいのか分かりません。

    WordPress のコアファイルは WordPress にログインしても編集できません。
    FTPソフトでサーバーからファイルをDLし、編集後、ULしてください。DLとULはFTPソフトで行います。
    https://miya-system-works.com/blog/detail/filezilla-how-to-use/

    ファイル編集はメモ帳などのエディタを使ってください。エディタでファイルを開けば編集できるので、保存してULです。
    https://www.google.com/search?q=メモ帳でファイルを開く方法

    こうして wp-includes/script-loader.php は編集できますが、そもそも WordPress のコアファイルをいじるのはあまりよろしくありません。エラーメッセージによれば互換性の問題なので、php のバージョンを落とすか、WordPress のバージョンを上げるかで対策すべきです。
    https://lolipop.jp/info/news/7206/

    もちろん、「Gutenberg が嫌なので古い WordPress を使っている」などの意図があるかもしれませんので、その点は利用者に確認し適切な対処が必要ですが、あくまで wp-includes/script-loader.php の編集はその場しのぎにしかならないと覚えておいてください。

    最後に、

    wpアドレスとサイトアドレスを旧ドメインから新ドメインへ変更後エラーとなりました。

    とのことですが、その作業だけで当該エラーメッセージが出ることはないので、なにか見落としがありそうです。(管理画面でうっかり php のバージョンを上げてしまっただけじゃないかなぁと思います。)

    フォーラム: 使い方全般
    返信が含まれるトピック: 最終更新日の1ヶ月後の日付を表示させたい

    ➀ どこにそれを表示したいのですか?

    ② 更新対象のテーブルはわかりますか?例えば記事の更新ならwp_postsになりますし、ユーザー情報の更新ならwp_usersになりますし、テーマ設定の更新ならwp_optionsになります。そういった該当のテーブルから最終更新日時をSELECTし、➀の部分へ出力することになるかと思います。

    もし「各記事ページの先頭に1か月後の日付を表示したい」なら、the_content() または the_excerpt() の直前にこれを書けば表示されるかと思います。

    $updated_date = get_the_modified_date('Ymd', '', '', false);
    $updated_date_obj = DateTime::createFromFormat('Ymd', $updated_date);
    $updated_date_obj->add(new DateInterval('P1M'));
    $updated_date_after_1_month = $updated_date_obj->format('Y/m/d');
    echo '<p>次回更新予定日: ' . $updated_date_after_1_month . '</p>';
    フォーラム: 使い方全般
    返信が含まれるトピック: 保存処理で早いのはどちらですか?
    トピック投稿者 fongafon

    (@fongafon)

    なるほど、特にかわりなければ見やすい方法1にした方がよさそうですね。どうもありがとうございました!

    フォーラム: 使い方全般
    返信が含まれるトピック: タームのスラッグにドットを使う方法
    トピック投稿者 fongafon

    (@fongafon)

    ・・💧

    フォーラム: 使い方全般
    返信が含まれるトピック: タームのスラッグにドットを使う方法
    トピック投稿者 fongafon

    (@fongafon)

    「.」は「%2E」でしたね。試していただきありがとうございます。
    どのようなコードで実装できましたか?

    フォーラム: 使い方全般
    返信が含まれるトピック: add_rewrite_rule で、強制的に子階層を追加する方法
    トピック投稿者 fongafon

    (@fongafon)

    失礼いたしました。入れ違いでコメント気づきませんでした。

    例!
    どうもありがとうございます!

    'wp'というアクションフックを使うのですね。ほんっとに、どんなケースでもご存じですね。脱帽すぎます。

    できました。

    いつもいつもいつも、本当にありがとうございます。

    フォーラム: 使い方全般
    返信が含まれるトピック: add_rewrite_rule で、強制的に子階層を追加する方法
    トピック投稿者 fongafon

    (@fongafon)

    すみません$_SERVER["REQUEST_URI"]が何を取得するかわかっていませんでした。

    あとひょっとしたらですが、function rewrite_init()に書くのが間違っていたのでしょうか?

    下記のように<head>内に書きましたら、URLの変更には成功しました!

    //header.php
    
    <head>
    
    <?PHP
    	//現在ページのURLの取得
    	$url = $_SERVER["REQUEST_URI"];
    	
    	// リダイレクト前後のURLを指定
    	$source_url = '#/country/japan/#';
    	$dest_url   = 'http://example.com/country/japan/history/';
    
    	//取得したURLがアクセスさせたくないURLかどうかの比較
    	$match = preg_match($source_url, $url);
    
    	if($match === 1){
    		wp_redirect($dest_url, 302);
    		exit;
    	}	
    ?>
    
    <?php wp_head(); ?>
    </head>

    しかし、URLの変更には成功したのですが、ブラウザで「ページの自動転送設定が正しくありません。このアドレスへのリクエストに対するサーバーの自動転送設定がループしています。」というエラーが表示されてしまうことに…

    なかなかです。泣

    フォーラム: 使い方全般
    返信が含まれるトピック: add_rewrite_rule で、強制的に子階層を追加する方法
    トピック投稿者 fongafon

    (@fongafon)

    ありがとうございます。

    preg_match() については正規表現にすべきですよね。先日も教えて頂いたのにすみませんでした。

    wp_redirect()については絶対パスにすればいいとのアドバイスかと思うので、とりあえず同様にしていいと解釈しました。

    それらを踏まえた下記ですができず、何がおかしいか今一度アドバイスをいただけませんでしょうか?

    	// リダイレクト前後のURLを指定(この2行を参考リンクに追加しました)
    	$source_url = '^http:\/\/example.com\/country\/([^/]+)?$';
    	$dest_url   = '^http:\/\/example.com\/country\/([^/]+)\/history?$';
    フォーラム: 使い方全般
    返信が含まれるトピック: add_rewrite_rule で、強制的に子階層を追加する方法
    トピック投稿者 fongafon

    (@fongafon)

    なるほど。add_rewrite_ruleは「>ブラウザの上のURLバーに表示されるURLはアクセスさせたくないページのURLのまま」なのですね。

    なんでもよくご存じですね…💧笑

    となるとそちらの参考リンクを見ながら、質問のfunction rewrite_init()はこう変更すればいいのかと思ったのですが…変化なく。

    	// デフォルトの子ページを指定【これができません】
    	add_rewrite_rule(
    		'^country/([^/]+)?$',
    		'index.php?country=$matches[1]/history',
    		'top'
    	);
    

    ↓ 変更

    	//現在ページのURLの取得
    	$url = $_SERVER["REQUEST_URI"];
    	
    	// リダイレクト前後のURLを指定(この2行を参考リンクに追加しました)
    	$source_url = '^country/([^/]+)/?$';
    	$dest_url   = 'index.php?country=$matches[1]&countrychild=history';
    
    	//取得したURLがアクセスさせたくないURLかどうかの比較
    	$match = preg_match('<.$source_url.>', $url);
    
    	if($match === 1){
    		wp_redirect($dest_url, 302);
    		exit;
    	}	
    

    上記(この2行を参考リンクに追加しました)を自分で追加したのですが、ここが問題でしょうか?

    またはこの部分を次のようにも試したのですがやはりだめで…もし他にも試すべきことがございましたら、また宜しくお願い致します。

    	// リダイレクト前後のURLを指定(この2行を参考リンクに追加しました)
    	$source_url = home_url().'^country/([^/]+)/?$';
    	$dest_url   = home_url().'^country/([^/]+)/history/?$';
    
    • この返信は4年、 9ヶ月前にfongafonが編集しました。
    フォーラム: 使い方全般
    返信が含まれるトピック: add_rewrite_rule で、強制的に子階層を追加する方法
    トピック投稿者 fongafon

    (@fongafon)

    @ishitakaさま、こんにちは。いつもお世話になっております。

    やってみたのですが、やはり
    example.com/country/japan/ にアクセスしたときのURLは
    example.com/country/japan/ のままで、
    example.com/country/japan/history/ に変化するということはありませんでした。

    きちんとコピペしてアップロードしましたし、アップロード後にパーマリンク更新もしたのですが。

    まず文章を読み返して修正があればなおしていただきたいのですが、

    とりあえず、

    下記【条件】に該当する記事一覧を取得したい。

    ということでよろしいでしょうか?

    
    【条件】
    
    投稿タイプ:product
    │
    ├ タクソノミー:product-cat
    │ └ ターム:watch
    │
    ├ タクソノミー:brand
    │ ├ ターム:rolex
    │ └ ターム:casio
    
    

    つまり、
    ・「product」に属し、かつ
    ・「product-cat」の「watch」に属し、かつ
    ・「brand」の「rolex」および「casio」に属す
    という記事でよろしいでしょうか?

    トピック投稿者 fongafon

    (@fongafon)

    ぱっ!!!!
    パーマリンク設定を忘れていました……
    つい先日も教えて頂いたことでしたのに。死にたいです。
    どうもありがとうございます。

    ところで質問には「たとえば」として3種類の試行錯誤を書いておきましたが、いずれが正しい指定方法でしょうか?

    また、指定方法の一覧などはどこかにございませんでしょうか?

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