Домой WordPress WordPress: Вопросы и ответы Работа с формами публикации новостей.
6ответ(ов) в теме
Шустрый Огурчик
не в сети 8 лет
На сайте с 27.02.2014
Участник
Тем 38
Сообщения 111
1
20:58

Продолжаю разбираться в функциях, хочу создать форму публикации новостей на странице сайта. пробую вывести форму публикации, ссылку на миниаюру и возможность выбора в какой раздел публиковать или же раздел по умолчанию, пока удалось создать только форму, не пойму как вывести форму публикации, задания миниатюры( возможно ли это сделать стандартными функциями wp ?)

и какая разница между

<?php wp_editor( $contetn="Добавьте информацию о акции", 'wp_editor', array('textarea_name' => 'content','media_buttons' => false) ); ?>

и

<?php

if ( user_can_richedit() ) {

    wp_editor( $content, 'mycustomeditor' );

} else {

    echo 'You cannot use the rich editor';
}

?>

Confused

0
Андрей CS
не в сети 2 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16928
2
21:06

Если речь о плагине wp-recall, то там для этого есть шорткод publicpost.
Если нет, то для начала постройте простую форму на html, не надо лезть в какие то php или wp функции. Когда html форма будет готова, тогда и навешивайте на нее функции, хотя достаточно будет просто заменить тег textarea на функцию wp_editor.
Кстати, разница между примерами которые вы привели только в количестве атрибутов указанных внутри этой функции. Прочтите по этой функции мануал и тогда вопросов не будет.

0
Шустрый Огурчик
не в сети 8 лет
На сайте с 27.02.2014
Участник
Тем 38
Сообщения 111
3
23:50

Андрей Plechev said

Если речь о плагине wp-recall, то там для этого есть шорткод publicpost.
Если нет, то для начала постройте простую форму на html, не надо лезть в какие то php или wp функции. Когда html форма будет готова, тогда и навешивайте на нее функции, хотя достаточно будет просто заменить тег textarea на функцию wp_editor.
Кстати, разница между примерами которые вы привели только в количестве атрибутов указанных внутри этой функции. Прочтите по этой функции мануал и тогда вопросов не будет.

Пока разработка не увенчалась успехом , пробовал черех функции function my_format_TinyMCE( $in ) по мануалу, совсем все падает submit_button , не выводится слвсем, буду сообщать по мере продвижения)

0
Андрей CS
не в сети 2 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16928
4
00:03

А все-таки, что с html-кодом формы? Он уже имеется? Это основа с которой и следует начинать. Успехов)

0
Шустрый Огурчик
не в сети 8 лет
На сайте с 27.02.2014
Участник
Тем 38
Сообщения 111
5
03:04

Андрей Plechev said

А все-таки, что с html-кодом формы? Он уже имеется? Это основа с которой и следует начинать. Успехов)

Да, форму сделал! вот теперь проблема с запросом! все по кодексу написал

<?php
/* Define these, So that WP functions work inside this file */
define('WP_USE_THEMES', false);
require( $_SERVER['DOCUMENT_ROOT'] .'/wp-blog-header.php');   
?>

В начале документа, как уже не пробовал формировать запросы, выдает ошибку

Warning: require(W:/home/localhost/www/wp-blog-header.php) [function.require]: failed to open stream: No such file or directory in W:homelocalhostwwwmrplwp-contentthemesmrplhandler.php on line 4

Fatal error: require() [function.require]: Failed opening required 'W:/home/localhost/www/wp-blog-header.php' (include_path='.;C:phppear') in W:homelocalhostwwwmysitewp-contentthemesmythemehandler.php on line 4

Сижу туплю, не могу прописать правильный путь в глобальный массив чтобы он одинаково хорошо и на локалке работал и на сервере!

0
Шустрый Огурчик
не в сети 8 лет
На сайте с 27.02.2014
Участник
Тем 38
Сообщения 111
6
20:30

Так разобрался, только в обработчике приходится переписывать пути на локалке и реальном сервере. Вопрос второй: при публикации автоматически новость идет на сайт без премодерации, как ее настроить правильно и как сделать так, чтобы после публикации перенаправляло на выбранную страницу?

Код обработчика:

<?php
/* Define these, So that WP functions work inside this file */
define('WP_USE_THEMES', false);
require( $_SERVER['DOCUMENT_ROOT'] .'/wp-blog-header.php');
?>
<?php
if(isset($_POST['send']) == '1') {
 $post_title = $_POST['title'];
 $post_category = $_POST['cat'];
 $post_content = $_POST['description'];
 
 $new_post = array(
 'ID' => '',
 'post_author' => $user->ID,
 'post_category' => array($post_category),
 'post_content' => $post_content,
 'post_title' => $post_title,
 'post_status' => 'publish'
 );
 
 $post_id = wp_insert_post($new_post);
 
 // This will redirect you to the newly created post
 $post = get_post($post_id);
 wp_redirect($post->guid);
}
?>

0
Тема закрыта. Публикация новых сообщений запрещена.