サポート » 使い方全般 » ウィジットのRSS targetを_blankにしたい。

  • 解決済 hitoshiman

    (@hitoshiman)


    ウィジットに標準搭載のRSSで
    リンク先を別ウィンドウにする場合のコードをしりたいです。

    wp-rss.php
    wp-rss2.php
    wp-rdf.php

    このあたりに追記すれば良いのかな~
    くらいしかわかりません。

    どなたかご教授頂ければうれしいです。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • target=”_blank” を追加する場合には、 wp_widget_rss_output() 関数の該当箇所を変更すれば OK です。

    この関数は、 WP2.7.1 以前の場合は /wp-includes/widgets.php 、 WP2.8 の場合は /wp-includes/default-widgets.php で定義されています。

    一方、 jQuery を使用するのであれば、お使いのテーマの functions.php に以下のコードを追加してください。

    <?php
    wp_enqueue_script('jquery');
    function openInNewWindow4RssWidget() {
    ?>
    <script type="text/javascript"><!--
    jQuery(document).ready(function($) {
        $('a.rsswidget').click(function() {
            window.open($(this).attr('href'));
            return false;
        });
    });
    //--></script>
    <?php
    }
    add_action('wp_head', 'openInNewWindow4RssWidget');
    ?>
    トピック投稿者 hitoshiman

    (@hitoshiman)

    出来ました。

    有難う御座います。

    同様の問題に直面し、こちらにたどり着きましたが、
    wp_widget_rss_output()
    どのファイルにあるのでしょうか?
    ※バージョンは、3.0.4です。

    ご教授の程、宜しくお願い致します。

    mizube さんが

    この関数は、 WP2.7.1 以前の場合は /wp-includes/widgets.php 、 WP2.8 の場合は /wp-includes/default-widgets.php で定義されています。

    と書かれていますが?

    kvexさん

    返信有難うございます。
    ごめんなさい、ありました。

    以下の箇所だと思うのですが、どのように記述すればよろしいのでしょうか。
    wp_widget_rss_output( $rss, $instance );

    試行錯誤しているのですが、よく分かりません。
    ど素人で申し訳ないのですが、納期間近で困っております。
    ご教授頂けないでしょうか。
    宜しくお願い致します。

    wp_widget_rss_output( $rss, $instance );は、wp_widget_rss_output()を呼び出してる
    部分。
    mizubeさんが、「wp_widget_rss_output() 関数の該当箇所」をというのは、
    wp_widget_rss_output()の関数の中身のこと。

    もっと、ずーっと下に、776行目から
    function wp_widget_rss_output( $rss, $args = array() ) {
    ・・・
    }
    がありますよね?!

    あとは、リンクなんだから、<a>タグを探せば良いんじゃないんです??

    #おぃおぃ、そんな状態で「納品」しちゃって大丈夫なのかよ・・・

    #おぃおぃ、そんな状態で「納品」しちゃって大丈夫なのかよ・・・

    1年前の質問に便乗しちゃってるしね…

    コア修正して納品した後にアップデートなんかされちゃうと全部消えちゃいますよ~ってなあたりは大丈夫?

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「ウィジットのRSS targetを_blankにしたい。」には新たに返信することはできません。