2010-01-03 2 views
0

Я в процессе создания своего первого виджета Wordpress - только тот, который загружается в jQuery tweet.Как получить виджет Wordpress для «запоминания» значений

Так что моя проблема в том, что редактор виджетов на экране администратора не будет «помнить» мои значения, я уверен, что это просто связано с переменными, которые просто не переходят на функцию _control.

У кого-нибудь есть совет?

Вот мой код:

function widget_qTweet($args) { 
    extract($args); 
    $options = get_option('widget_qTweet'); 
    $title = empty($options['title']) ? 'Tweet, Tweet!' : $options['title']; 
    $total = empty($options['total']) ? '3' : $options['total']; 
    $username = empty($options['username']) ? 'kylehotchkiss' : $options['username']; 

    // Here's our "Tweet" 
    echo $before_widget; 
    echo $before_title . $title . $after_title; ?> 
    <script type="text/javascript"> 
    jQuery(document).ready(function($) { 
    $(".tweets").tweet({ 
    username:"<?php echo $username; ?>", 
    count: <?php echo $total; ?>, 
    loading_text:"Loading Tweets..." 
    }); 
    }); 
    </script> 
    <div class="tweets"></div> 
    <?php echo $after_widget; 
} 

function widget_qTweet_control() { 
    $options = get_option('widget_qTweet'); 
    if ($_POST['qTweet-submit']) { 
    $newoptions['title'] = strip_tags(stripslashes($_POST['qTweet-title'])); 
    $newoptions['total'] = strip_tags(stripslashes($_POST['qTweet-total'])); 
    $newoptions['username'] = strip_tags(stripslashes($_POST['qTweet-username'])); 
    } 

    if ($options != $newoptions) { 
    $options = $newoptions; 
    update_option('widget_qTweet', $options); 
    } 

    $title = htmlspecialchars($options['title'], ENT_QUOTES); 
    $total = htmlspecialchars($options['total'], ENT_QUOTES); 
    $username = htmlspecialchars($options['username'], ENT_QUOTES); 
    ?> 
<div> 
<p> 
    <label for="qTweet-title" style="display:block;">Widget Title:</label> 
    <input type="text" id="qTweet-title" name="qTweet-title" value="<?php echo $title; ?>" /> 
</p> 
<p> 
    <label for="qTweet-username" style="display:block;">Your Twitter Username:</label> 
    <input type="text" id="qTweet-username" name="qTweet-username" value="<?php echo $username; ?>" /> 
</p> 
<p> 
    <label for="qTweet-total" style="display:block;">Number of Tweets:</label> 
    <select id="qTweet-total" name="qTweet-total"> 
    <option value="1">1</option> 
    <option value="2">2</option> 
    <option value="3">3</option> 
    <option value="4">4</option> 
    <option value="5">5</option> 
    </select> 
</p> 
<input type="hidden" name="qTweet-submit" id="qTweet-submit" value="1" /> 
</div> 
    <?php 
} 

ответ

0

, какая версия WordPress вы используете ..., если его 2.8 или более поздней версии, то я настоятельно рекомендую с помощью нового WordPress виджет апи ... Это объектно-ориентированный API очень легко работать, и, безусловно, решить вашу проблему ....

оформления заказа: New Widget API

Смежные вопросы