Первый мой виджет для WP, проверте

Тема в разделе "PHP", создана пользователем honuryk, 24 июл 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. honuryk

    honuryk Постоялец

    Регистр.:
    13 ноя 2006
    Сообщения:
    126
    Симпатии:
    9
    Здравствуйте, написал второй свой пхп скрипт после формы обратной связи :D
    Собственно хочу что бы Вы проверили на ошибки, т.к. работает он не идеально, - активируется нормально, а вот при деактивации выдает белый лист

    Сам код виджета (Последние 20 тем с форума Discuz 7.0 на WordPress)

    PHP:
    <?php

    /*
    Plugin Name: http://freejob.in.ua
    Author: http://freejob.in.ua
    Author URI: http://freejob.in.ua
    */

    function get_mylastpost() {
    global 
    $wpdb;
    $db mysql_connect("localhost","***","***") OR die ("Нет соединения с Базой данных");
    mysql_select_db("freejob_discuz",$db)  OR die("Нет соединения с Базой данных");
    $lastpost mysql_query("SELECT lastposter,subject,tid,views,replies FROM forum_threads ORDER by lastpost DESC limit 20",$db);
    $mylastp mysql_fetch_array($lastpost);
    do
    {
        
    $link $mylastp['tid'];
        
    $str iconv"Windows-1251""UTF-8"$mylastp['subject']);
        
    $mylastp['subject'] = $str;
        
    $str iconv"Windows-1251""UTF-8"$mylastp['lastposter']);
        
    $mylastp['lastposter'] = $str;
        echo 
    "<p><img src='http://images.server-ua.net/images/4zh3j6r6genu0gf6vw.gif' align='left'><a target=top href='http://freejob.in.ua/forum/redirect.php?tid=$link&goto=lastpost'>".$mylastp['subject']."</a><br>";
        echo 
    "<i><font size=1 face=Arial>Ответил: ".$mylastp['lastposter'].",&nbsp;";
        echo 
    "Просмотров: ".$mylastp['views']."&nbsp;";
        echo 
    "Ответов: ".$mylastp['replies']."<br></p></font></i>";
    }
    while (
    $mylastp mysql_fetch_array($lastpost));
    }

    function 
    lastpost($args) {

        
    extract($args);

        echo 
    $before_widget;
        echo 
    $before_title;
        echo 
    "<a href='http://freejob.in.ua/forum/rss.php'><img src='http://images.server-ua.net/images/7xnl08mvwk91qrkb7o0j.png' align='left'></a>&nbsp;".get_option('my_widget_title');
        echo 
    $after_title;
        echo 
    get_mylastpost();
        echo 
    $after_widget;

    }


    function 
    register_my_widget() {
        
    register_sidebar_widget('lastpost''lastpost');
        
    register_widget_control('lastpost''my_widget_control' );
    }
    function 
    my_widget_control() {

        if (!empty(
    $_REQUEST['my_widget_title'])) {
            
    update_option('my_widget_title'$_REQUEST['my_widget_title']);
        }
    ?>
        Заголовок&nbsp;:&nbsp;<input type="text" name="my_widget_title" />
    <?php

    }
    add_action('init''register_my_widget');
    ?>
     
  2. mittus

    mittus Создатель

    Регистр.:
    12 июл 2009
    Сообщения:
    72
    Симпатии:
    11
    PHP:
    ?>
        Заголовок&nbsp;:&nbsp;<input type="text" name="my_widget_title" />
    <?php

    }
    add_action('init''register_my_widget');
    ?>
    нужно заменить на
    PHP:
     echo 'Заголовок&nbsp;:&nbsp;<input type="text" name="my_widget_title" />';

    }
    add_action('init''register_my_widget');
    ?>
     
    honuryk нравится это.
  3. honuryk

    honuryk Постоялец

    Регистр.:
    13 ноя 2006
    Сообщения:
    126
    Симпатии:
    9
    а соединение с базой нужно закрывать ?
     
  4. honuryk

    honuryk Постоялец

    Регистр.:
    13 ноя 2006
    Сообщения:
    126
    Симпатии:
    9
    но как бы код правильно написан в плагине ? Есть какие либо фатальные ошибки ?
     
  5. mittus

    mittus Создатель

    Регистр.:
    12 июл 2009
    Сообщения:
    72
    Симпатии:
    11
    Если скрипт работает, то фатальных нет.. В остальном нужно стримиться к правильности написания ПХП кода и все -)
     
Статус темы:
Закрыта.