it-swarm.asia

Bir JS dosyasını eklenti ayarlarından gelen verilerle değiştirme

Diğer şeylerin yanı sıra, birkaç kullanıcıya özel ayar gerektiren bir javascript dosyasına sahip bir eklenti var. Eklentinin ayar parametrelerinden bu ayarları javascript içine almanın en iyi yolu ne olurdu?

Başka bir deyişle, bu ayarları kullanıcının girebileceği ayarlar sayfasının bir parçası yaparsam, bu değerleri javascript'e nasıl dahil edebilirim? Her sayfa yüklemesinde bazı script etiketlerini eklemek ve bunları PHP aracılığıyla ayarlamak için bir şeyler kullanmam gerekir mi? Bir çerez ayarlamak bunu yapmanın daha iyi bir yolu olabilir mi?

8
Ryan Elkins

daha iyisi, bunun için WP işlevlerini kullanırsınız, örneğin çoklu dil için bir örnek:

    add_action( 'admin_enqueue_scripts', 'add_scripts' );
    function add_scripts($where) {
        wp_localize_script( 'post2media', 'post2media_strings', $this->localize_vars() );
    }
    function localize_vars() {

        $strings = array(
                'btntext'    => __( 'Link with post', INPSYDE_P2M_TEXTDOMAIN ),
                'txtallnone' => __( 'Include in gallery:', INPSYDE_P2M_TEXTDOMAIN ),
                'txtall'     => __( 'All', INPSYDE_P2M_TEXTDOMAIN ),
                'txtnone'    => __( 'None', INPSYDE_P2M_TEXTDOMAIN ),
                'ttlcb'      => __( 'Include image in this gallery', INPSYDE_P2M_TEXTDOMAIN )
            );

        return $strings;
    }

bunu js dosyasında kullanın:

jQuery(function ($) {
buttonaddfunc = function() {
    btntext = post2media_strings.btntext;

    reg = /\d+/;
    $( '.savesend > .button' ) . each( function() {
        inputname = $( this ) . attr( 'name' );
        number = reg . exec( inputname );
        $( this ) . after( '<input type="submit" value="' + btntext + '" name="link[' + number + ']" class="button">' );
    } );
    $( '.describe-toggle-on' ).unbind( 'click', buttonaddfunc );
};
$( '.describe-toggle-on' ).bind( 'click', buttonaddfunc );

});

Ayrıca bkz. Otto'daki gönderi

9
bueltge

Bunlardan birini daha önce yaptığım, diğerini yapmadığım, fakat XML yapılandırma dosyaları için kullandığım birkaç yol var.

Bunlardan ilki, değişkenleri, JS dosyanızı dahil ettiğiniz script etiketinden önce, WP üstbilgisi veya altbilgisi içindeki bir komut dosyası etiketine eklemektir.

<script type="text/javascript">
    var test = "<?php echo "hello world"; /* the relevant PHP code to echo the data you require */ ?>";
    var slider_type = "<?php echo "nivo"; /* same again */ ?>";
</script>
<script type="text/javascript" src="<?php bloginfo("template_url"); ?>/js/your_js_here"></script>

Diğer alternatif ise JS'yi bir script etiketinin içinde bulunan bir PHP dosyasının içine eklemek olacaktır.

<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/javascripts.php"></script>

Bu dosyanın içine, javascript'inizi eklersiniz ve PHP olarak ayrıştırırsınız, PHP çağrıları yukarıdakilere benzer şekilde eklersiniz, basitçe verileri/seçenekleri yankılanır. ihtiyacın var. Unutulmaması gereken bir şey, çıktının başlıklarını text/javascript olarak ayarlamanız gerekebilir.

Şahsen ben ilk yöntemi çok tercih ederim ve javascript dosyalarını etkileyen kullanıcı tarafından değiştirilebilir ayarlara sahip olduğumda kullanıyorum.

1
nobody