フォーラムへの返信
-
投稿者投稿
-
ありがとうございます!
日本語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いいねをした人: 居ませんこの件、動作満足しています
あとはアイコン(公開 or 更新)で付与できればいいのと
ソート順の確認方法が明確になればいいなと
管理画面でも更新順のソートができればいいんですよねそれをいったら50音かなカスタムフィールドでも
管理画面でも表示できればいいなと思いますいったん閉じますね 長く引きずってスミマセン
♥ 0いいねをした人: 居ませんあ、表現がまずかったですね、ソートキーを決める(公開でならべる、更新でならべる)を選べるやつ
並び順は新着順で問題ないです、逆にする必要はないアイコンは事情はわかりました。消すのはわかるけど、追加ってcontentとかでURL指定して追加するのかな。記事で表示されてるところのコードを解読してみて真似してみますね。優先度低いので少しまってください。ZINEを書くのが一番大切なんだけど、まだサンプル的な物しかかけてないので。
いろいろ相談のってもらって助かります。
♥ 0いいねをした人: 居ませんソート問題なさそうです。ただこれもう「更新順」でしかならばないのですね
で、Glossaryを立項済の項目に、ZINEを追記したものを更新順で表示
新たに項目を立項してGlossaryを立項したものを公開順にしてみましたすると次ぎの2点が欲しくなります
– 公開日、更新日のアイコンが欲しくなる
– 公開日のみの場合は公開日でソート
– 更新日のみの場合は更新日でソート
– 両方の場合は公開日?
– いっそプルダウンでソート順を選べるようにすると言ったところですが、これ時期blockで実装可能でしょうか?
とりあえず、当面このままで公開しておきます♥ 0いいねをした人: 居ませんONOFF問題はよくわからなかったのですが
とりあえず表示できてるのでよしとしますアイコンは、SnowMonkeyの表記統一として
アイコンがあったほうがうれしいです 気に入らない人はCSSで消せばいいのでソート順は問題なさそうなので。
週末に他サイトへ展開してみて問題なければ
報告して 閉じますねありがとうございあす
♥ 0いいねをした人: 居ません -
投稿者投稿