フォーラムへの返信
-
投稿者投稿
-
ちょっと確認です。
いま、
・親カテゴリー(0件)
・子カテゴリー(1件)という状態で、「親カテゴリー」を選択してテストしているのですが、エディター上では「投稿が見つかりませんでした」と表示され、実際の画面ではちゃんと1件表示されました。エディター上で「見つかりません」になるのはバグなので直さなきゃなと思うのですが、実際の画面上でも表示されない感じでしょうか?
♥ 0Who liked: No userお、いけましたか。ということはやっぱり何らかのキャッシュが更新されないのが原因ですね。うーん、どこのキャッシュなんだ…。
他のURLのあとにも、「?v=1」を付けたせば良いのですね?ただし、関連リンクのURLもひとつひとつ全部修正しないといけないのですね・・・・・・
そうですねー、面倒ですが一番簡単にキャッシュをなかったことにするのはこの方法になります。
それと、WP SuperCache は有効化に戻してもよいでしょうか?
はい、大丈夫です。
♥ 0Who liked: No userWP Super Cache を停止して更新してみましたが、改善されませんでした。
うおーダメですか…。
また、リンクを貼っている投稿記事のタイトルを一部変更しましたが、更新されていないことにも気づきました。実際の表示のタイトルは更新されています。(ブログカードのタイトルだけ更新されません)
前述したように、ブログカードの内容は「ブログカードを埋め込んだ記事を更新」しないと更新されませんので、タイトルを変えただけでは反映されません。が、更新しても画像が変わらないということは多分タイトルも変わらないでしょうね…うーん。
Snow Monkey のブログカードは WordPress の oEmbed という仕組みに乗っかってできているのですが、調べてみると、僕がつくったブログカードのキャッシュの仕組みとは別に、この oEmbed 自体もキャッシュを保持するようですので、それかなぁと思ったりもするのですが、それを消す方法がわからないため、ちょっと今はこれ以上わかりません。
ブログカードの仕組みをゼロから見直してみようと思いますが、今思いついた裏技として、表示に影響のない範囲で URL を改変して貼り付けるともしかしたら良いかもしれません。
例えば、
https://hseito.com/macchawan/erabikata-usucha.html
という URL を本来は貼り付けると思うのですが、それを一旦消して(ページ自体を消すのじゃなくて、一覧ページに貼り付けた URL(ブログカード)を消してください)、
https://hseito.com/macchawan/erabikata-usucha.html?v=1
という URL を貼り付け直してみてください。するとキャッシュの仕組みからは別の URL と認識されて新たに情報が再取得されて更新されるということになったりしないかな…と思うのですがどうでしょうか…。
♥ 0Who liked: No userWP Super Cache が怪しい気がするので、一旦オフにしてから、再度編集画面を開いて更新してみてください。それで解決するようなら WP Super Cache でキャッシュされることが原因です。WP Super Cache は詳しくないのですが、有効化した状態でキャッシュクリアできるなら無効化しなくてもクリアすれば良いかもしれません。
もし上記手順でも解決しないならちょっと思い当たるものがなくなるので、また考えてみます…。
♥ 0Who liked: No userうーん、そうですか。ちょっとわからないのですが、もう3つ教えてください。
– ページキャッシュ系のプラグインを利用されていますか?
– お使いのサーバーはどこのものでしょうか?
– サーバーの何らかのキャッシュ機能を利用されていますか?♥ 0Who liked: No userあ、そうです、「更新」です!でも変わらないですか…。実際のページ上では画像はでていないとして、エディター上では画像が表示されるようになっていたりしますか?
♥ 0Who liked: No userブログカードは「その URL の情報を取得して、取得できたら URL をブログカードに変換する」という処理をしていますが、ページ表示のたびにページの情報を取得しにいくとものすごく負荷がかかるので、一度取得した情報は一定時間キャッシュしておくという仕組みにしています。なので、元ページでサムネイルを変更してもブログカードに反映されないのだと思います。
ブログカードのキャッシュを更新するには、ブログカードを埋め込んだページの編集画面を開いて再保存すれば OK です。なので今回の場合だと https://hseito.com/contents-macchawan の編集画面を開いて再保存ですね。
♥ 0Who liked: No userブログカードは JavaScript で URL を変換して表示するのですが、AMP 上では JavaScript が動かせないので URL のままになってしまいますね…。
AMP は結構制限がきつくてデザインも全部は反映できないので、AMP 対応は必要最低限の対応までとして半ば諦め気味です…^^;
♥ 0Who liked: No userケミさん検証すごい!
kuro81さん、ケミさんが検証してくださったように、ハードルはかなり高いです。一応、デバイスごとにだし分けたいということであれば、別の方法としてカスタム CSS クラスを使う方法があります。Snow Monkey は Basis という CSS フレームワークを使っているので、Basis がもっているクラスを使うことで似たようなことができます。
ブロックを選択 > 高度な設定 > カスタム CSS クラスのところに、例えば
u-hidden-sm
と書けばスマホのときだけ消えます。♥ 0Who liked: No user解決できてよかったです!トピック閉じます。
♥ 0Who liked: No userうーん、
プロフィールページ(https://41bengo.com/profile)の本文が、丸々お問い合わせページに変わっていました。
プロフィールの本文が消えてしまいました。。。と
そして、https://41bengo.com/testpageのページを開きますと、https://41bengo.com/contactのページに切り替わってしまいます。。
は同じ現象を指していますでしょうか?それとも、前者は「ページの切り替わり」ではなく「本文が変わってしまう」という別々の問題でしょうか?
もし同じ現象を指しているとしたら、MW WP Form のフォーム編集画面で、URL の設定がされているのだろうと思います。入力画面などの URL を強制的に指定している、ということですね。URL 設定を消せばどのページに貼り付けても正しく動くようになります。
♥ 0Who liked: No user解決できてよかったです^^
閉じます!♥ 0Who liked: No userテストページありがとうございます!
CSS を下記のように変更してみてください。
#snow_monkey_blocks_recent_posts-pickup
の後の.snow-monkey-recent-posts
が不要でした。@media (min-width: 64em) { #snow_monkey_blocks_recent_posts-pickup .c-entries__item:last-child { display: none; } }
♥ 0Who liked: No userわざわざslugで判定するよりもファイルが有ればそれを使う、無ければプラグインの本来のファイルを読むって言うテーマのrootの感覚の方が楽だなと。
ではルートディレクトリの変更機能もつける方向でちょっとみてみます。
しかし、shortcodeディレクトリの中のテンプレートの指定だけsnow_monkey_member_post_template_pathでどうも上手くいかないみたいなので、
うーん、なんででしょうね。
snow_monkey_member_post_template_path
にフックさせた関数って、どのタイミング(フックポイント)で実行されてます?商品ページ(https://snow-monkey.2inc.org/product/snow-monkey-member-post/)のスクリーンショットだと「表示は制限されています…ログイン」のログインってリンクっぽいですが、これ今のバージョンだとリンクになっていない感じなので、それも不具合で有れば修正頼みますー。
(多分、redirect先をどうするのか問題とかで、リンクやめた気もしましたが)まさにそうで、標準のログイン画面を隠匿したいという人もいると思うので、やりたい人はフックで調整してね、ということでこうしたのだと思います(はっきりと覚えてない…)。
♥ 0Who liked: No user1. テンプレートのパス指定をルート設定出来たら…と
なるほどです。
snow_monkey_member_post_template_path
はテンプレートのルートディレクトリを指定するものではなく、「そのテンプレート自体のパス」を差し替えるものなので、下記のような操作を想定していました。add_filter( 'snow_monkey_member_post_template_path', function( $_template_path, $_slug ) { if ( 'content/allowed/index' === $_slug ) { $_template_root = untrailingslashit( plugin_dir_path( __FILE__ ) ) . '/template_root'; return $_template_root . '/' . $_slug . '.php'; } return $_template_path; }, 10, 2 );
つまり、テンプレートごとにパスを変更するためのもの、ということですね。テーマと違ってごそっとルートディレクトリを変えたいということはあまりないと今の実装にしていますが、もし上の想定のコードでは不足でやっぱりルートディレクトリを指定したいということであれば、フックを追加する方向で考えてみます。
2. やっぱり、テンプレートは上書きしてぇっす…
Member Post のテンプレートの呼び出しは
\Framework\Helper::get_template_part
は使っていないのでsnow_monkey_get_template_part_xxx
フックは使えないです。\Framework\Helper::get_template_part
は基本テーマディレクトリ内のファイルを読み込むためのものなので、Member Post のテンプレート呼び出しの用途にはマッチしないんです。なので、1 で解決するのがスマートですね。3. メッセージの下とかに、ログインフォームを付けるのどうですか?
うーん、これはちょっとどうでしょう…。Member Post は、メインの用途は「コンテンツの閲覧をログインユーザーに制限する」というところなんです。ショートコードでログインフォーム、登録フォームをだせるというのはあくまでオマケ機能で、使いたい人が使うという想定です。なので強制的にだしてしまうと、使いたくないという人には微妙になっちゃうと思うんですよね。
snow_monkey_member_post_restricted_content_message
というメッセージをカスタマイズするフックがあるので、ここにショートコード突っ込むとどうですかね?4. ログインフォームのプレースホルダ or ラベルでアクセシビリティを
ここは非常に迷ったんですよね…。文字として表示すると結構大きさとっちゃうので、いろいろな Web サービスのログイン画面や登録画面を参考にして今の形にまとめたという経緯があります。一応 title 属性で指定はしてて、svg に変換後は svg の title 属性としてタイトルが保持されるみたいです。
登録フォームには、登録していない人が使用されることを想定されるので「パスワードをお忘れですか?」のリンクは不要ではないでしょうか?
これは完全にミスですね^^; 消します!
あれ?トピックの編集機能が無くなってる…??
あれ!ほんとですね、なんでだ…
追記)どうも5分たつと自動的に編集不可になるみたいですね。♥ 0Who liked: No user -
投稿者投稿