|
Итак публикую небольшой ДОК: “Как добавить записи через сайт”, т.е. не придётся заходить в админку… форма будет доступна из любого места сайта. Итак что нам потребуется:
Первое что нужно сделать - добавить форму “add post” в нужное место сайта , вот пример, кода формы <form method="get" action="wp-content/plugins/add-post-from-site/check.php"> <table cellspacing="20px" id="form"> <tr> <td align="center"> <h2 align="left">Форма добавления новой записи</h2> <div style="padding-left:10px; text-align: left;"> <input type="text" name="name" style="color:#999999;" id="name" value="Имя пользователя" size="25" tabindex="1" /><br/> <div style="height:5px;"></div> <input type="text" name="pasw" id="pasw" style="color:#999999;" value="Пароль" size="25" tabindex="2" /> <div style="height:5px;"></div> <p><h3>Название записи</h3> <textarea name="title" style="color:black;" tabindex="3" cols="37" rows="1"></textarea> </p> <p><h3>Содержание записи</h3> <textarea name="content" style="color:black;" tabindex="4" cols="37" rows="10"></textarea> </p> </div> </td> </tr> </table> <p> <input name="submit" type="submit" id="submit" tabindex="5" value="Обработать" /> <input type="reset" value="Очистить" id="submit" /> </p> </form> Теперь создадим файл проверки, который будет получать данные из формы и добавлять запись в БД Тут возможны как минимум 2 варианта
<?php
require('../../../wp-config.php');
require ( ABSPATH . WPINC . '/registration.php' );
?>
<?php
if($_GET['submit']=="Обработать")
{
include_once "config.php";
$date=date("Y-m-d H:i:s");
$post = array(
'comment_status' => $comment_status,
'menu_order' => 0,
'ping_status' => $ping_status,
'post_author' => username_exists(trim($_GET['name'])),
'post_category' => array($post_category),
'post_content' => trim($_GET['content']),
'post_date' => $date,
'post_excerpt' => '',
'post_parent' => 0,
'post_password' => '',
'post_status' => $post_status,
'post_title' => trim($_GET['title']),
'post_type' => $post_type,
// 'tags_input' => [ '<tag>, <tag>, <...>' ] //For tags.
'to_ping' => '');
wp_insert_post( $post );
}
header("Location: ".$_SERVER['HTTP_REFERER'],TRUE,301);
exit();
?>
<?php
require('../../../wp-config.php');
require ( ABSPATH . WPINC . '/registration.php' );
?>
<?php
if($_GET['submit']=="Обработать" && $_GET['name']!="Имя пользователя" && $_GET['pasw']!="Пароль")
{
if(user_pass_ok( trim($_GET['name']), trim($_GET['pasw']) )==true)
{
include_once "config.php";
$date=date("Y-m-d H:i:s");
$post = array(
'comment_status' => $comment_status,
'menu_order' => 0,
'ping_status' => $ping_status,
'post_author' => username_exists(trim($_GET['name'])),
'post_category' => array($post_category),
'post_content' => trim($_GET['content']),
'post_date' => $date,
'post_excerpt' => '',
'post_parent' => 0,
'post_password' => '',
'post_status' => $post_status,
'post_title' => trim($_GET['title']),
'post_type' => $post_type,
// 'tags_input' => [ '<tag>, <tag>, <...>' ] //For tags.
'to_ping' => '');
wp_insert_post( $post );
}
}
header("Location: ".$_SERVER['HTTP_REFERER'],TRUE,301);
exit();
?>
Стоит отметить
if(user_pass_ok( trim($_GET['name']), trim($_GET['pasw']) )==true){}else{}
так же нужно создать файл config.php <?php $comment_status="closed"; //[ 'closed' | 'open' ] $ping_status="closed";// [ 'open' | 'closed' ] $post_category=73; //ID категории для записей $post_status="publish";//[ 'draft' | 'publish' | 'pending' ] $post_type="post";//[ 'post' | 'page' ] $default_user="";//ИМЯ пользователя по умолчанию ?> Теперь нужно указать путь до файла check.php в параметре action формы. Да вроде и вся необходимая информация… Теперь надо просто попробовать… Этот пост посвящён добавлению в WordPress простого доменного портфолио, при этом не придётся изменять файлы двига, сильно менять используемую тему, а также “играться” с бд.
Для реализации портфолио нам потребуется: плагин domain-portfolio + NotePad++ и немного времени.
domain-portfolio (Количество скачиваний :218) SearchBotCall - плагин мониторинга заходов поисковых ботов на сайт. Список поисковых ботов указывается в файле bot_ip.php в виде массива, по умолчанию плагин воспринимает боты “Googlebot” , “Yandex” , “KM.RU” , “Yahoo“. Ниже приведу список ботов
Aport - Aport robot Google - Google (Googlebot) msnbot - MSN Rambler - Rambler Yahoo - Yahoo AbachoBOT - AbachoBOT accoona - Accoona AcoiRobot - AcoiRobot ASPSeek - ASPSeek CrocCrawler - CrocCrawler Dumbot - Dumbot FAST-WebCrawler - FAST-WebCrawler GeonaBot - GeonaBot Gigabot - Gigabot Lycos - Lycos spider MSRBOT - MSRBOT Scooter - Altavista robot AltaVista - Altavista robot WebAlta - WebAlta IDBot - ID-Search Bot eStyle - eStyle Bot Mail.Ru - Mail.Ru Bot Scrubby - Scrubby robot Yandex - Yandex YaDirectBot - Yandex Direct Для того что бы добавить нового бота в “проверку” нужно:
$bot_ip[i]="идентификатор"; Z.B. добавление бота от MSN ?>
$bot_ip[4]="MSN"; в итоге получится <?php $bot_ip[0]="Googlebot"; $bot_ip[1]="Yandex"; $bot_ip[2]="KM.RU"; $bot_ip[3]="Yahoo"; $bot_ip[4]="MSN"; ?> Статистика по заходам ботов хранится в файле bot_status.txt в формате bot_name--||--date_call Права на файл bot_status.txt достаточно выставить на значение 644
Статистика выводится на главную страницу в админке, как отдельный виджет. При этом происходит проверка если бот бот заходил менее суток назад то “строка бота” будет зеленой, если в течении 2х дней побывал на сайте то желтой, в противном случае красная. В файле sbc.php есть параметр $bot_status_file в котором указывается адрес bot_status.txt по умолчанию это папка плагина SearchBotCall (Количество скачиваний :251)
N.B. плагин работает только на версиях 2.7.* и выше AdminStatus - плагин добавляющий на главную страницу админки виджет редактирования статуса admin’a. Отдалённо напоминает статус в ICQ или Skype.Работает только с версиями 2.7.* Для запуска плагина на хостинге в дир. wp-content/plugins/AdminStatus должен быть файл status.txt с правами на запись (или должны быть права на запись для папки плагина). В этом файле хранится статус Админа. Что бы вывести статус админа в шаблоне в нужном месте вставьте:
<?php admin_status_as(); ?> AdminStatus (Количество скачиваний :611) P.S. пример можно увидеть у меня на главной странице NewOldPost - плагин переноса записей из рубрики 1 в рубрику 2,если запись была сделана более чем N с. назад. Плагин работает не по crone, поэтому необходимо запускать его через админку, нажатием одной кнопки На странице плагина в админке также можно увидеть текущие настройки (Начальная категория, Конечная категория, Интервал, Текущее время),а также статистику по работе плагина в виде таблице со следующими столбцами ID, Название поста, Автор, Дата, Старая категория, Новая категория. После этой таблице выводится “Итог” - общее количество перенесенных записей. Стоит отметить,если новая категория не существует плагин создаст её автоматически. Настройки плагина задаются в файле config.php
NB (по работе скрипта) Если скрипт обрабатывает не все записи, то рекомендуется увеличить значение “set_time_limit ();” ,по умолчанию стоит 1400. Заказать плагин или задать вопрос можно через контактную форму указав в теме NewOldPost Плагин добавляет в footer admin’ки два поиска по сайту mywordpress.ru и lecactus.ru Для того чтобы установить плагин необходимо скачать архив wp-search.7z и залить его содержимое в wp-content/plugins/ wp-search (Количество скачиваний :207) MovePost - плагин для переноса записей,категорий и пользователей из блога 1 в блог 2. Т.е. плагин позволяет позволяет перенести содержание блога 1 в блог 2. Для работы плагина необходимо указать следующие данные о блоге “донере”
первые 5 пунктов необходимы для подключения к БД “донора”,последний пункт “Адрес сайта без http…” используется для замены всех вхождений url донора на новый url(текущего блога) После нажатия “Обработать” будет доступна статистика по работе плагина, она включает в себя
в таблице “юзеров” указываются
Если пользователь существовал до переноса то он не будет перенесен и будет выведены первые 3 поля + “Пользователь уже зарегистрирован” Вторая зона статистики(перенесённых структур) это данные о перенесенных записях. Подробнее писать не буде по скриншоту всё понятно В таблице итогов представлены следующие сведения
Плагин переносит категорий любого уровня вложенности, сохраняя структуру. (название, родителя) Рекомендации пользователям:
Плагин проходит тестирование, прошу в комментариях писать ваши отзывы movepost (Количество скачиваний :230) |
|