0

私は私のワードプレスの投稿ループにこれを持っています:

function newWindow(uri,width,height) {
    if(!window.open(uri,uri,'scrollbars=1,toolbar=0,resizable=1,status=0,width='+width+',height='+height)) {
        document.location.href=uri;
    }
}
$('.facebook_button').click(function() {
    newWindow('http://www.facebook.com/sharer.php?u=<?php the_permalink(); ?>',720,420);
    return false; 
});

そのため、ボタンをクリックすると、いくつかのウィンドウが開きます(インデックスページの10件の投稿に対して10件)。ボタンが入っていた投稿のためだけに開く方法はありますか?

ありがとう!

4

1 に答える 1

3

ループ内にjavascript関数定義を含めるべきではありません(一度だけ出力する必要があります)。

the_permalink()ループ内の各アイテムに一意のID(おそらく値のハッシュ)を追加することをお勧めします。そうすれば、セレクターを適切に処理できます。したがって、ループ内で次のようなものを出力します

$('#<?php echo md5(get_permalink()); ?>').click(function() {
    newWindow('http://www.facebook.com/sharer.php?u=<?php the_permalink(); ?>',720,420);
    return false; 
});

もちろんid="<?php echo md5(get_permalink()); ?>"、出力するボタンにも追加する必要があります。

于 2012-09-14T15:20:38.553 に答える