2012-02-16 6 views
1

私はwordpressプラグインを使用しています。一部のページでdisqus_identifierを変更できるようにする

私はページの識別子を定義するプラグインファイル「comments.php」でコードを見つけた:私は、これまでに作ってみた何

var disqus_identifier = '<?php echo dsq_identifier_for_post($post); ?>'; 

はでそれを置き換えることです。

var disqus_identifier = '<?php echo get_post_meta($post->ID, 'dis_ident_field', true); ?>'; 

これは、dis_ident_fieldというWordpressのカスタムフィールドからdisqus_identifierが取得されることを意味しますが、私はこの方法が心配です。このフィールドに値を設定しないページでは、ページソースのjavascriptに識別子がまったくありません。

誰かがidを持たないのは悪いと説明することができます。なぜなら、コメントはこれらのページすべてで正しく機能しているからです。

+0

IDはそれぞれのユニークなページごとに一意である限り、「012 disput_identifier = ' ID?>';」を使用しないでください。 –

+0

いくつかのページでは同じ識別子を使用したいので必ずしもユニークなものではありません。言い換えれば、私は、ページのグループが同じ識別子、つまり同じコメントスレッドを持つことを要求します。 – Jim

答えて

2

このようなものを使用して、使用する前にそのセットを確認したり、ページIDに設定したりできます。

+0

これはうまくいきました。 – Jim

0

すでにDisqusに入っていたバンドレビューを、以前のサイトから新しいWordPressバンドサイトに取得する必要がありました。私のホームページでのレビューだけがここにありました。

私の古いサイトのコードを見て、そこからdisqus_identifierの値を取得しました。

"dsq_identifier"というカスタムフィールドをカスタムページテンプレートに定義して追加し、以前のサイトからdisqus_identifier値を与えました。

私はこれを追加することにより、ディスカスプラグインのcomment.phpを編集した私はWordPressとPHPに新たなんだと私は、これは悪い考えであると確信しているが、私はこれを成し遂げるために必要な、そう...

すべてのvar初期化後コード:

<?php if (get_post_meta($post->ID, 'dsq_thread_id', true)) : ?> 
    disqus_identifier = '<?php echo get_post_meta($post->ID, 'dsq_identifier', true); ?>'; 
<?php endif; ?> 

私だけというカスタムフィールド持ち、当社のホームページ上のレビューコメントを表示したいので、「dsq_identifierは、」私は(いくつかのページで使用されている)私のカスタムテンプレートを変更しました。そのコードは次のとおりです。

BAAAMMM!初めての作業。

Disqusプラグインコードベースを変更せずにこれを動作させる方法があれば、それは揺るがすでしょう。私は一歩後退し、新しいサイトが数日後にリリースされた後、これを本当に考える必要があります。

+0

個人的には、dsq_identifier_for_post()関数自体から識別子を返します。したがって、disqusがプラグイン内の他の領域からこの関数を呼び出すと、正しい識別子が得られます。 –