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

Просмотр 11 ответов — с 46 по 56 (всего 56)
  • Редактировать, удалять посты, публиковать (в том числе после редактирования) посты — это отдельные возможности ролей. Их можно независимо друг от друга включать и выключать для определенной роли. Если не подходят стандартные роли со стандартными наборами возможности — создайте новую и установите только нужные разрешения.

    Публиковать он не сможет. Только автор или администратор после проверки.

    Роль можно нестандартную сделать если понадобится.

    Вы можете управлять ролями пользователей и возможностями этих ролей.

    Назначьте ему роль «Contributor» и лишите его возможности удалять статьи.

    Так он сможет только редактировать, а публиковать будете вы после проверки.

    Ищите в этом направлении, есть много плагинов для работы с ролями и возможностями пользователей.

    Не за что по факту 😀 Спасибо Сергею!

    Удачи с вашим проектом!

    [SOLVED]

    Сергей, спасибо большое за комментарии, буду работать с документацией.

    @vabzz простите, что желание помочь превратилось в медвежью услугу для вас. Позвольте реабелитироваться перед вами:

    <?php
    if( get_post_meta( $post->ID, 'avtor', true) )
    	echo '<a href="' . esc_url( get_post_meta( $post->ID, 'avtor', true) ) . '">Источник</a>';
    ?>

    Может быть где-то в другом месте у вас ошибка. У вас в предупреждении указана строка где-то в районе этого кода? Может выше ошибку поискать?

    кстати использовать фигурные скобки в конструкции if в вашем случае не обязательно http://codex.wordpress.org/WordPress_Coding_Standards#Brace_Style

    <?php
    
    global $options;
    
    foreach ($options as $value) {
    
    	if ( get_option( $value['id'] ) === FALSE)
    		$$value['id'] = $value['std'];
    	else
    		$$value['id'] = get_option( $value['id'] ); 
    
    }
    
    ?>

    Да-да. А вот откатываться на поздние версии WP — очень не правильные рекомендации. Наоборот — переходить на новую версию нужно обязательно, но только если вы уверены, что все установленные плагины, дополнения кода (моды) и тема — поддерживают новую версию. Если какой-то плагин не подготовлен к новой версии WP спустя пару недель после релиза — за борт его!

    Это может быть много чего — от невалидного плагина до забытой пустой строки в конце файла после ?>

    Порядок поведения в таких ситуациях прост:

    1) Деактивируйте плагины — если ошибка исчезнет, значит включайте все плагины по одному — так вы найдете плохой плагин или выявите конфликт с темой.

    2) Если при отключенных плагинах ничего не изменилось — попробуйте переключить тему на стандартную.

    3)Если ошибка все равно остается — вспомните о всех ваших ручных изменениях в ядре WP (которых быть не должно в принципе, но вдруг…).

    Итак попробуйте все это проделать и выявить причину. Иначе нам будет трудно вам помочь.

    Это может быть вызвано ошибками JavaScript на странице. Вы можете предоставить url? Если нет, то во всех порядочных браузерах есть инструменты разработчика — вызовите их и проверьте код на наличие ошибок JS.

    Удачи!

    Скажите пожалуйста, какую тему вы используете (ссылку если можно)? И где конкретно нужно убрать: в ленте записей или на странице самой записи?

    Привет,
    вот как можно сделать ссылку кликабельной:

    1) нужно добавить условие: если данные в поле существуют — выводить ссылку, если нет — ничего не выводить:

    2) обязательно используйте функцию esc_attr_e() вместо echo внутри атрибутов!. Ну это так, на будущее — здесь не понадобится.

    3) добавьте дополнительные хелперы для превращения url в ссылки:

    // используется в ooh_my_make_clickable и делает http строку ссылкой
    function ooh_my_make_url_clickable($matches) {
        $url = $matches[2];
        $url = esc_url($url);
        if (empty($url))
    		return $matches[0];
        return $matches[1] . "<a target=\"_blank\" href=\"$url\" rel=\"nofollow\">$url</a>";
    }
    
    // Ищет любой http адрес и автоматически превращает в ссылку
    function ooh_my_make_clickable($ret) {
        $ret = ' ' . $ret;
        $ret = preg_replace_callback('#(?<=[\s>])(\()?([\w]+?://(?:[\w\\x80-\\xff\#$%&~/=?@\[\](+-]|[.,;:](?![\s<]|(\))?([\s]|$))|(?(1)\)(?![\s<.,;:]|$)|\)))+)#is', 'ooh_my_make_url_clickable', $ret);
        $ret = preg_replace("#(<a( [^>]+?>|>))<a [^>]+?>([^>]+?)</a></a>#i", "$1$3</a>", $ret);
        $ret = trim($ret);
        return $ret;
    }

    Поместите эти хелперы в файл functions.php вашей активной темы и используйте везде, где пожелаете

    4) Ваш код должен выглядеть примерно так:

    <?php if( get_post_meta( $post->ID, 'avtor', true ) ) echo 'Источник: ' . stripslashes( ooh_my_make_clickable( get_post_meta( $post->ID, 'avtor', true ) ) ) ); ?>

    Попробуйте это и дайте знать, если что-то не работает.

Просмотр 11 ответов — с 46 по 56 (всего 56)