フォーラムへの返信
-
投稿者投稿
-
ごめんなさい、古いアカウントでログインをためしたのですが、ダメでした
メールアドレスを廃止してるので、アカウントを削除してしまったのかもしれませんこれって買い直しですよね…
とりあえずプロトタイプなので今回はその場合スルーします♥ 0いいねをした人: 居ません> アカウントページから再ダウンロードできるので
古いアカウントで一度解約しちゃって新たに契約してるので
それだとダウンロードできないですよね…♥ 0いいねをした人: 居ませんごめんなさい 再度ひらいちゃいました
テーマ、プラグインは最新 今までのやりとりをふまえ以下の様になってますやりたいこと
・上の一覧では新規に追加されたものが追加順に表示されたい
現在は新着時期にpickupタグをつけて、スライダーとあわせて一覧している・下の一覧ではZINEというカテゴリー(人間による加筆)があった記事だけを
更新順(書き換えるから)表示したい
しかしカテゴリー変更やタグの編集まで更新扱いになってしまって意図と違うリストになる現在下記のコードがはいってます。
更新日、公開日がわからなくなるのでアイコンつけたいです改善可能でしょうか?
/** * 最新用語を更新日でソートする */ add_filter( 'snow_monkey_get_template_part_args_template-parts/common/entries/entries', function( $args ) { // 最近の投稿ブロックのとき if ( 'snow-monkey-blocks/recent-posts' === $args['vars']['_context'] ) { // 並び順を変更 $args['vars']['_posts_query'] = new \WP_Query( array_merge( $args['vars']['_posts_query']->query, array( 'orderby' => 'modified', 'order' => 'DESC' ) ) ); } return $args; } );
♥ 0いいねをした人: 居ませんありがとうございます!
日本語URL対策のため、オウンドメディア系では基本を採用することが多いのですが
REST APIでぶつかるんですね。別件で考えなきゃ個人的にはSEO効果があるのかどうか分からないけど、日本語URLは嫌いじゃないんですが
SNSで共有したりするときに長くなって困るんですよねあ、SNSといえばThreadsにシェアボタン欲しいのですけど
この話題は別スレッド(要望系)ですねありがとうございました。最終確認して閉じますね
♥ 0いいねをした人: 居ませんもう1件 不具合改修できません
プラグイン、テーマはアップデート済問い合わせ・お申し込み現在、お問い合わせフォームが不調なため、いかのメールからお問い合わせくださいE-mail:info[at]mi…machida-co-cinema.mixpie.designエラーメッセージが出ています。原因わかりますか?
♥ 0いいねをした人: 居ませんありがとうございます
でテストして、管理画面、送信テストともOKでした
同様の現象が出ているサイトをアップデート&確認してまわりますありがとうございました!
不具合サイト全部確認後,クローズします♥ 0いいねをした人: 居ませんメンバーの統計のところに以下のエラーがでてました
Fatal error: Uncaught ValueError: Missing format specifier at end of string in /home/xs149655/piemx.net/public_html/onboard.piemx.net/wp-content/plugins/buddypress/bp-members/classes/class-bp-members-admin.php:1415 Stack trace: #0 /home/xs149655/piemx.net/public_html/onboard.piemx.net/wp-content/plugins/buddypress/bp-members/classes/class-bp-members-admin.php(1415): printf(‘\xE6\x9C\x80\xE5\xBE\x8C\xE3\x81\xAE\xE6\xB4\xBB\xE5\x8B\x95…’, ‘2024\xE5\xB9\xB4…’) #1 /home/xs149655/piemx.net/public_html/onboard.piemx.net/wp-admin/includes/template.php(1456): BP_Members_Admin->user_admin_stats_metabox(Object(WP_User), Array) #2 /home/xs149655/piemx.net/public_html/onboard.piemx.net/wp-content/plugins/buddypress/bp-members/classes/class-bp-members-admin.php(1246): do_meta_boxes(Object(WP_Screen), ‘side’, Object(WP_User)) #3 /home/xs149655/piemx.net/public_html/onboard.piemx.net/wp-includes/class-wp-hook.php(324): BP_Members_Admin->user_admin(”) #4 /home/xs149655/piemx.net/public_html/onboard.piemx.net/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(”, Array) #5 /home/xs149655/piemx.net/public_html/onboard.piemx.net/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #6 /home/xs149655/piemx.net/public_html/onboard.piemx.net/wp-admin/admin.php(259): do_action(‘users_page_bp-p…’) #7 /home/xs149655/piemx.net/public_html/onboard.piemx.net/wp-admin/users.php(11): require_once(‘/home/xs149655/…’) #8 {main} thrown in /home/xs149655/piemx.net/public_html/onboard.piemx.net/wp-content/plugins/buddypress/bp-members/classes/class-bp-members-admin.php on line 1415
ちなみにBoddyPressと併用しており、左上の参加申請などを消すのに苦労しています(設定さがしてるところ)
♥ 0いいねをした人: 居ません随分前のプロジェクトで買ったのですが
バージョン 0.13.1 でした古すぎます?
♥ 0いいねをした人: 居ませんほかのサーバーでも以下のような画面になりました。
プラグイン削除して入れ直してもダメでした問い合わせ・お申し込み現在、お問い合わせフォームが不調なため、いかのメールからお問い合わせくださいE-mail:info[at]mi…machida-co-cinema.mixpie.designプラグインの問題なんですね
改良お待ちしています!♥ 0いいねをした人: 居ませんこんな感じです。1画面目のように何もないように見えるのに
2画面目のようにあるべき箇所をクリックホールドするとあるのですDBバグってますかね。さすがにDBをいじるのは避けたく
♥ 0いいねをした人: 居ません♥ 0いいねをした人: 居ませんいや、wp-adminからログインした編集画面で
まったくなにも表示されてないのです、通常フォーム選択ブロックがあると思うのですがそれも画面を触るとチラリと表示されるのです。
♥ 0いいねをした人: 居ませんこちら、やっと購入した、指定のプラグインをつかったのですが
一覧ページではソートできたものの、ページめくりはかわりませんでしたどうもページめくりは、ソートとは関係ない?? いや取り出す順番はソートですよね
ChatGPTで作成したコードだと、次へはOKだけど、前へはダメでした
アイキャッチが飛ぶのは別に問題なし、なんらかの色にCSSでできれば充分ですこのコードがうまくいったのか分からないのですが参考までにアップします
— ここから —
前のコードに戻しつつ、前の項目が常に最初のものになってしまう問題を解決する方法に焦点を当てて修正します。meta_compareやmeta_valueの使い方に加え、カスタムフィールドの順番取得が安定するように再調整します。
以下は、前々のコードの基本構造を保持しつつ、改善を加えた修正版です。
// furigana に基づいて次または前の投稿を取得する関数 function get_adjacent_post_by_furigana($direction = 'next') { global $post; // 現在の投稿の 'furigana' 値を取得 $current_furigana = get_post_meta($post->ID, 'furigana', true); // クエリの方向を決定 $order = ($direction === 'next') ? 'ASC' : 'DESC'; $comparison_operator = ($direction === 'next') ? '>' : '<'; // furigana のカスタムフィールドを基に前後の記事を取得 $args = array( 'post_type' => $post->post_type, 'posts_per_page' => 1, 'meta_key' => 'furigana', 'meta_value' => $current_furigana, 'meta_compare' => $comparison_operator, 'orderby' => 'meta_value', 'order' => $order, 'meta_type' => 'CHAR', // furiganaは文字列型として扱う 'suppress_filters' => false, // カスタム投稿タイプなどに対応 'fields' => 'ids', // ID のみを取得 ); // クエリ実行 $adjacent_posts = get_posts($args); // 結果があればその投稿の ID を返す if (!empty($adjacent_posts)) { return $adjacent_posts[0]; // 次または前の投稿を返す } return null; // 結果がなければ null を返す } // カスタムフィールド 'furigana' に基づいて前後リンクをカスタマイズする関数 function custom_adjacent_post_link($output, $format, $link, $post, $adjacent) { // クエリの方向を設定 $direction = ($adjacent === 'next') ? 'next' : 'prev'; // カスタムクエリで次または前の投稿を取得 $adjacent_post_id = get_adjacent_post_by_furigana($direction); if ($adjacent_post_id) { $adjacent_link = get_permalink($adjacent_post_id); $adjacent_title = get_the_title($adjacent_post_id); // リンクを生成 $link_format = '<a href="' . esc_url($adjacent_link) . '">' . esc_html($adjacent_title) . '</a>'; $output = str_replace('%link', $link_format, $format); } return $output; } // フィルターを使用して前後リンクをカスタマイズ add_filter('next_post_link', 'custom_adjacent_post_link', 10, 5); add_filter('previous_post_link', 'custom_adjacent_post_link', 10, 5);
改良点の説明
1. 基本ロジックを保持: 前のコードのロジックを維持し、furiganaカスタムフィールドに基づいた投稿の前後リンクを取得するようにしています。
2. 前の投稿が最初のものにならないように修正: meta_compareとmeta_valueの使い方を保持しつつ、クエリの順序を適切に調整することで、前の投稿が常に最初のものにならないようにしています。
3. 最適化のためのフィルタリング: posts_per_pageを1に設定して、常に1件だけ(前または次)の投稿を取得するようにしています。デザインに影響しないようなリンク生成
テンプレートをいじれない前提のため、WordPressのフィルターを使ってnext_post_linkとprevious_post_linkを置き換え、適切に前後のリンクを表示する方法を採用しています。
動作確認
これで、前後の投稿がfuriganaカスタムフィールドに基づいて正しく取得されることを期待しています。
—
次へは大丈夫ですが、前へがダメです。ただ夜も遅くなったので、いったんここまでにしましょう。もう一歩なのですが
♥ 0いいねをした人: 居ません -
投稿者投稿