Ответы в темах

Просмотр 15 ответов — с 1 по 15 (всего 16)
  • Поставила Permalink Editor.
    Спасибо еще раз.

    Спасибо большое. Честно говоря, я этого не знала.
    Задумалась, плагин ставить или записи создать вместо страниц?

    То, что Вы скачали — не плагин.
    bbpress реализован, как плагин, начиная с 2.0
    Скачивайте с официального сайта http://bbpress.org/download/
    Инструкцию по русификации смотрите здесь

    Проблему помог решить плагин Capability Manager.
    Для скрытых форумов поставила видимость «Hidden», а для группы участников добавила права:
    Read hidden forums
    Read private forums
    Read private replies
    Read private topics

    Добрый день.
    Желаемого решения так и не нашла, написала функцию для даты, чтобы выводилось «Вчера», «Сегодня» или дата

    function my_freshness_link() {
        $topic = get_post( bbp_get_topic_last_active_id() );
    	$topd=strtotime($topic->post_date);
    	if(date("Ymd", $topd)==date("Ymd"))
    	     echo "Сегодня<br/>".date("H:i", $topd);
    	elseif(date("Ymd", $topd)==date("Ymd", strtotime("-1 day")))
    	     echo "Вчера<br/>".date("H:i", $topd);
    	else
    	     echo date("d.m.y", $topd);
    }

    Только ссылку приделать руки не дошли, потому что пока не горит 🙂

    Сергей, спасибо Вам огромное!!!!!

    А почему не подошел вариант Sergey Biryukov?
    Если вставить такой код, то при нажатии кнопки «запланировать» запись получает статус опубликована, а не запланирована и доступна к просмотру на сайте.

    Создаете в папке Вашей темы шаблон — homepage.php, например. Это Ваша страничка. В начале файла добавляете описание шаблона:

    <?php
    /**
     * Template Name: homepage
     *
     * A custom page template without sidebar.
     *
     * The "Template Name:" bit above allows this to be selectable
     * from a dropdown menu on the edit page screen.
     *
     * @package WordPress
     * @subpackage My_Theme
     * @since My_Theme 1.0
     */
    ?>

    Теперь у Вас будет доступен шаблон homepage

    Создаете пустую страницу, например с названием «Главная» и справа в списке шаблонов выбираете homepage. Сохраняете.
    Теперь при переходе на эту страницу будет загружаться Ваша страничка с картинкой.

    Дальше в НастройкиЧтение. Там выбираете На главной странице отображать Постоянная страница и в списке ниже выбираете Главная.
    Сохраняете 🙂

    stur, спасибо, конечно…

    Я вернулась еще раз поблагодарить Sergey Biryukov за решение с add_filter 🙂 Спасибо за просветление мозга 🙂
    Раньше я добавляла массив дополнительных полей функцией _my_get_user_contactmethods() так:

    add_action( '_wp_get_user_contactmethods', '_my_get_user_contactmethods' );
    function _my_get_user_contactmethods() {
        $user_contactmethods = array(
            'org' => __('Организация'),
            'city' => __('Город'),
            'tel' => __('Телефон')
        );
        return apply_filters('user_contactmethods',$user_contactmethods);
    }

    А потом, соответственно, пользовалась массивом _my_get_user_contactmethods, а стандартный _wp_get_user_contactmethods игнорировала, так мне aim, yim и jabber не нужны.
    Естественно, в админке я своих полей просто не видела. Сейчас переписала код на

    add_filter('user_contactmethods', '_my_get_user_contactmethods');
    function _my_get_user_contactmethods() {
        $user_contactmethods = array(
            'org' => __('Организация'),
            'city' => __('Город'),
            'tel' => __('Телефон')
        );
        return $user_contactmethods;
    }

    Теперь user_contactmethods просто заменяется на мои поля. И в админке тоже. Ура!
    Кроме того, в базе данных при регистрации не создаются ненужные пустые строки aim, yim и jabber 🙂
    А еще при таком варианте стала не нужна своя функция сохранения моих дополнительных полей. Вот этот кусок кода я просто вырезала за ненадобностью.

    add_action( 'personal_options_update', 'save_extra_profile_fields' );
    add_action( 'edit_user_profile_update', 'save_extra_profile_fields' );
    add_action( 'profile_update', 'save_extra_profile_fields' );
    
    function save_extra_profile_fields( $user_id ) {
    
        if ( !current_user_can( 'edit_user', $user_id ) )
            return false;
    
        update_usermeta( $user_id, 'org', $_POST['org'] );
        update_usermeta( $user_id, 'city', $_POST['city'] );
        update_usermeta( $user_id, 'tel', $_POST['tel'] );
    }

    Извините за офтоп. Но вдруг кому-нибудь пригодится

    Ооо! Спасибо огромное! Отлично!
    wp-login.php вернула в исходное 🙂 Все работает.

    Честно говоря, я предполагала, что должна быть возможность обновления значения, пыталась использовать add_filter, но очень слабо до сего момента представляла, как он работает и ничего не получалось. Спасибо 🙂

    Единственное, в этом решении есть маленький нюанс (который, впрочем, мне не мешает): сначала выдаются ошибки — имя, емайл, пароль, а потом все остальные. В варианте с register_post обход был в порядке очередности вывода полей — имя, емайл, дополнительные поля, пароль.
    Но в данном варианте это не критично.

    Спасибо всем большое за участие. Проблема решилась добавлением global $errors;

    function check_fields($login, $email, $errors) {
    global $errors;
    ...
    }

    Элементарно, но… я с этого начинала и получала ошибку. Кроме своей функции, global $errors; надо добавить в register_new_user()

    function register_new_user( $user_login, $user_email ) {
            global $errors;
            $errors = new WP_Error();
            ...

    Тогда все работает.
    Додумалась не сама, здесь нашла http://blog.alexgirard.com/tag/hack/

    ‘register_post’ action

    You won’t be able to add more errors in $errors if you do not make it global in register_new_user() of wp-login.php:

    function register_new_user($user_login, $user_email) {
    global $errors;

    🙂
    Я еще подумала, что подключенный плагин обрабатывается при каждой загрузке страницы, а мои три функции только когда страница регистрации грузится. Или ошибаюсь? По идее, движок по всем плагинам пробегается прежде чем выбрать нужные?
    В любом случае, варианты плагинов стоит еще посмотреть, а то публичную часть я вывела, а вот в админке пока этих полей не вижу. Не уверена, что самой в админку лезть выгоднее по производительности ))

    Читала мнение, что добавление лишнего плагина влияет на скорость выдачи страниц. Не так?
    Сама пока не проверяла. Вернее, проверяла только в локалке, а в локалке у меня тормозит загрузка. В частности, подвешивала плагины Theme My Login и Theme My Profile. После того, как убрала Theme My Profile, стало быстрее грузиться.
    Возможно, я не права )) На хостинге пока проверить возможности не было, до сегодняшнего дня я там была единственным посетителем)), настраивала, поэтому нагрузку оценить не могла. Оптимизацией еще не занималась, планирую изучить этот вопрос. С удовольствием выслушаю мнения бывалых ))
    Среднее количество посетителей на сайте 250 человек в день.

    У меня все нормально отображается. Или уже решили?

    Спасибо за ответы )
    Плагин ради маленькой функции подключать не хочется.

    Предполагаю, что нужно провести более глубокую отладку на сервере.

    Спасибо за проверку. А по поводу отладки не подскажете — с чего начать? Все остальное работает без нареканий.

Просмотр 15 ответов — с 1 по 15 (всего 16)