Simplicityの特徴 › フォーラム › テーマファイルのカスタマイズに関する質問など › 投稿本文中ウィジェットをh2ではなくmoreタグの部分に挿入したい
- このトピックには7件の返信、2人の参加者があり、最後に
よしだにより5年、 8ヶ月前に更新されました。
-
投稿者投稿
-
-
2016年9月12日 4:39 PM #45101
よしだ
ゲスト上記の投稿を参考にlib/ad.phpを変更しましたが、moreタグの部分には何も挿入されませんでした。テーマ・Wordpressのバージョンが変わったことが原因でしょうか?
何か良い方法があればご教示ください。よろしくお願いいたします。
(テーマのバージョンは2.2.9d、Wordpressは4.6.1です。)
-
2016年9月12日 9:58 PM #45103
hidekichi
ゲストカスタマイザーの広告の設定で、広告の位置がサイドバートップになっていると言うことはありませんか?
元々のスクリプトはおそらくですが、h2手前に表示していたものをmoreタグ手前にするものだったように思います。
h2手前にした上でサイドバーにも広告が必要な場合は、広告ウィジェットをサイドバーに入れて利用するなどの方法でやるなどの必要が出てきますが、まずはこの辺りを確認してみてください。で、できればカスタマイザーの設定が今どうなっているか、広告はどれで、どのウィジェットに入れてどこに表示しているか等の情報を書いておいてもらうと再現するのに助かります。
質問の内容からだけではここらがどうなっているかは全くわからないため、可能性を一つずつ潰していく他ありませんので。
-
2016年9月12日 10:56 PM #45104
よしだ
ゲスト情報が不十分で申し訳ありません。
カスタマイザーの広告位置は「本文記事中」に設定されています。もちろん、「全ての広告を表示」にはチェックが入っています。「トップページに広告を表示する」「広告を中央表示」「PC表示のダブルレクタングルを縦型に」「パフォーマンス追求広告の表示」にチェックは入っていません。
ウィジェットについては「[s]パソコン用広告ウィジェット」「[s]モバイル用広告ウィジェット」が「投稿本文中」に入っています。lib/ad.phpを変更しなければ、h2の前に正しく広告が表示されます。
現在の状況は上記の通りです。不明点があれば再度確認しますので、よろしくお願いします。
-
2016年9月12日 11:28 PM #45105
hidekichi
ゲストトップのリストアイテムの表示はどのようになっていますか?
moreタグはトップのリストで、本文表示のリスト表示形式を選んだような場合に、moreタグを入れた任意の位置で区切って「続きを読む」を挿入し、その後ろの内容を非表示にします。この続きを読むはクリックすると記事(本体)が表示される仕組みです。
投稿記事本体にmoreタグが入っていても、すでに記事全文(つまりは本体)が表示されていますから「続きを読む」は表示されないと思うんですよ。
もしこれが表示されると言うことは、トップページでmoreタグ部分まで表示され、記事本体が表示された所でまた続きを読むが表示されることになり、記事本体に行くまでに1クッション多くなりますよね?
で、表示されたものにまたmoreタグがあるので…と永久に本体が表示されなかったり(笑)
そんなことがないように、記事本体のときにはmoreタグはそれ自体が表示されないわけです。moreタグがなければ広告も挿入されませんから、moreタグ手前に表示したい時の条件としては、トップのリストが本文表示、あるいは最初だけ本文表示などにする必要があるのではなかろうかと思います。
そのあたりの設定はどうなっていますか? -
2016年9月13日 12:20 AM #45106
よしだ
ゲストトップのリストアイテムは「本文表示」に設定しております。
こちらでも色々と模索してみます。
-
2016年9月13日 1:23 PM #45110
hidekichi
ゲスト試してみましたが、確かに動作しませんね。まぁmoreタグが実体化(リンク化)されているので、
<!--more-->
は効かないようにも思います。で、本文表示のリストの場合、各リストアイテムに#the-contentがあるため、最初の#the-contentだけを拾えたら置換もできますが、the_contentのフィルターでは、リストアイテムにある#the-content全てのmoreタグ部分に広告が入ってしまいうまく動作しないようにも思います。
同様にして、最初のmore_link_html等を置換できればフィルターフック等でもできると思います。最初の要素だけを拾うと言うのがいまいちよくわからないので、ここらは調べる必要がありますが、誰かご存じの方はレスお願いします。最初だけ本文ならいざ知らず、全てが本文表示+moreの場合は挿入する広告コード部分にclassでもつけて、cssで表示とかしないといけないかもしれません。
で、まぁphpは面倒くさいのでjQueryでサックリとしてみてはどうかと思った次第です。
サンプル: トップリスト本文表示の最初のmoreタグのリンクの手前に広告を入れる | jsFiddle
レクタングル2つと広告を一つを入れる場合を考えて2つ入れる場合と、1つの場合と合わせて書いてあります。また広告コードはレスポンシブ広告のコードが元になってます。
必要で無い方をコメントアウトしてください。また、サンプルを参考に色々いじってみてください。ただ、Googleが前に記事中の広告は評価を下げるみたいな事を言っていたので、使うかどうかは自己責任で。
インデックスリストトップかミドルあたりに広告ウィジェットを入れるのが妥当かとは思うんですけどもね。 -
2016年9月13日 3:19 PM #45120
わいひら
キーマスターmoreタグが挿入されているのであれば、以下のようなカスタマイズでもいけると思うのですがいかがでしょうか。
WordPress投稿本文中のmoreタグをアドセンス等広告に置換する方法 -
2016年9月13日 8:26 PM #45131
よしだ
ゲストご助言いただきありがとうございます。
moreタグ部分には「<p><span id=”more-*”></span></p>」という空タグが挿入されることから、以下のような正規表現にしてみたところ、期待通りmoreタグ部分に広告がされるようになりました。
define('H2_REG', '#<p><span id="more-\d+"></span></p>#i');
hidekichi様、わいひら様、お手数をお掛けして申し訳ありませんでした。ありがとうございます。
-
-
投稿者投稿
- トピック「投稿本文中ウィジェットをh2ではなくmoreタグの部分に挿入したい」には新しい返信をつけることはできません。