Архив метки: Лучшие учебники по Wodpress

Как объединить два WordPress сайта вместе без потери SEO

Недавно один из наших читателей спрашивал нас, как объединить два WordPress сайта вместе? Иногда вы можете создать несколько сайтов WordPress, но позже хотите объединить их вместе. WordPress поставляется со встроенными инструментами, которые могут легко сделать это. В этой статье мы покажем вам, как правильно объединить два сайта на WordPress вместе.

Зачем объединять два WordPress-сайта вместе?

Может быть много причин для объединения двух или более WordPress сайтов вместе. Вы можете начать новый WordPress блог, объединив свои старые блоги, так что вы можете иметь все свое содержание в одном месте.

Другой причиной может быть то, что один из ваших блогов не так хорош, и вы хотите, объединить его содержимое с одним из ваших основных блогов.

Большинство пользователей объединяют сайты на WordPress, чтобы тратить меньше времени на поддержание отдельной WordPress установки. Вместо того, чтобы обновлять и поддерживать резервное копирование WordPress двух или более сайтов, вы можете сосредоточиться на поддержании и продвижении только одного сайта на WordPress.

Давайте посмотрим, как легко объединить WordPress сайты вместе.

Экспорт контента из старого WordPress сайта

Ради этого примера, мы будем говорить, что у вас есть сайт WordPress на http://oldsite.ru, и вы хотите, его объединить с сайтом http://newsite.ru/.

Примечание
Важно: Не забудьте создать полную резервную копию WordPress обоих ваших веб — сайтов. Это пригодится в случае, если что-то пойдет не так, и вы хотите, вернуться к первоначальной установки.

Во- первых, вам необходимо посетить страницу Инструменты » Экспорт внутри админки вашего старого WordPress сайта. Это сайт, который вы хотите объединить с новым сайтом.

Экспорт контента со старого сайта WordPress

Убедитесь, что вы выбрали вариант «Все содержимое», а затем нажмите на кнопку «Скачать файл экспорта», чтобы продолжить.

WordPress теперь будет подготавливать файл XML и отправить его в адресную строку браузера. Вам нужно сохранить этот файл на вашем компьютере, так как вы будете внуждаться в нем на следующем шаге.

Этот файл будет содержать следующее:

Объединение контента на новом WordPress сайте

Теперь, когда вы экспортировали контент со старого сайта, настало время, объединить его с вашим новым сайтом WordPress.

Зайдем в админку целевого сайта (место, где вы должны объединить содержание) и посетить страницу Инструменты » Импорт.

Установить импортер WordPress

На этой странице перечислены все инструменты импорта, которые вы можете установить и запустить на вашем WordPress сайте. Прокрутите вниз до нижней части и нажмите на ссылку «Установить сейчас» под WordPress.

После того, как импортер WordPress установлен, вам нужно нажать на ссылку «Выполнить импортер», чтобы продолжить.

Запуск импортера в WordPress

Далее, вам будет предложено загрузить файл экспорта WordPress.

Вам нужно нажать на кнопку «Выбрать файл», а затем выберите XML-файл, который вы скачали ранее.

Загрузить файл импорта WordPress

Нажмите на ссылку кнопку «Загрузить файл импорта» для продолжения.

WordPress теперь загрузит файл экспорта и проанализирует его. После этого, он будет перенаправит вас на страницу настроек импорта.

Настройка импорта в WordPress

Он попросит вас назначить авторов или создавать новых авторов.

Можно назначить импортируемое содержимое для существующего пользователя на вашем WordPress сайте или создать нового автора.

Далее, установите флажок под опцией «Импорт вложения«, чтобы импортировать вложения медиа-файлов со старого WordPress сайта.

Теперь вы можете нажать на кнопку Submit, чтобы запустить последний шаг импорта.

WordPress теперь будет импортировать содержимое из вашего файла экспорта и добавить его в свой новый сайт WordPress. После завершения, вы увидите сообщение об успешном выполнении.

Импорт закончен в WordPress

Настройка перенаправлений

После успешного слияния содержимого из двух WordPress сайтов, следующим шагом является установка переадресации, так что пользователи, посещающие старый сайт автоматически перенаправляются на новый сайт WordPress.

Вам нужно будет отредактировать файл .htaccess на старом WordPress сайте.

Вы можете отредактировать файл .htaccess, подключившись к WordPress сайту с использованием клиента FTP или с помощью диспетчера файлов в Cpanel на WordPress хостинге.

Файл .htaccess находится в корневой папке вашего сайта.

Вам нужно разместить этот код в верхней части вашего файла .htaccess.

#Options +FollowSymLinks

RewriteEngine on

RewriteRule ^(.*)$ http://www.newsite.ru/$1 [R=301,L]

 

Не забудьте заменить newsite.ru на доменное имя вашего нового сайта на CMS WordPress. Сохраните изменения и загрузите файл обратно на сервер.

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

Поиск и устранение неисправностей после объединения двух WordPress-сайтов

Как массово объединить и отредактировать категории и теги?

Вы можете очистить категории и теги, после слияния двух WordPress сайтов. Для подробных инструкций, проверьте наш учебник о том, как массово объединить и отредактировать категории в теги в WordPress .

Как импортировать недостающие изображения?

Для этого вам придется временно отключить переадресацию путем редактирования файла .htaccess и удалить код, который вы добавили ранее. После этого вы можете следовать инструкциям в нашем руководстве о том, как импортировать внешние изображения в WordPress.

Не забудьте настроить переадресацию после импорта изображений.

Фиксировать URL-адреса, указывающие на старый домен в постах и ​​страницах

Все внутренние ссылки в импортированных постах и страницах по-прежнему будут указывать на ваш старый сайт. Поскольку у вас есть настройки перенаправления, пользователи будут по-прежнему переходить на правильной пост на новом сайте.

Тем не менее, вам все еще нужно обновить URL — адреса для улучшения SEO и лучшего пользовательского опыта. Для получения пошаговых инструкций смотрите наш учебник о том, как обновить URL — адреса при перемещении WordPress сайта.

Мы надеемся , что эта статья помогла вам объединить два WordPress сайты вместе. Вы также можете увидеть наш шаг за шагом WordPress SEO руководство для начинающих.

Как объединить два WordPress сайта вместе без потери SEO



2017-02-11T20:46:43
Лучшие учебники по Wodpress

Введение в JQuery

HTML, CSS, JavaScript и являются тремя основными языками в Интернете. Мы структурируем свои веб-сайты с HTML, их стиль с помощью CSS, а также добавляем интерактивные функции, с помощью JavaScript. На самом деле, большинство анимации и любых действий, которые происходят в результате пользовательского щелчка, анимации или прокрутки построены с помощью JavaScript.

JQuery является «писать меньше, делать больше» JavaScript библиотека. Это не язык программирования, а скорее инструмент , используемый для написания сделать общие задачи JavaScript более краткими. Jquery имеет дополнительное преимущество, это кросс-совместимый браузер, то есть вы можете быть уверены, выход вашего кода будет оказывать как задумано в любом современном браузере.

Сравнивая простой пример программы «Привет, мир!» в JavaScript и JQuery, мы можем увидеть разницу в том, как они оба написаны.

JavaScript

document.getElementById("demo").innerHTML = "Привет, мир!";

 

Jquery

$("#demo").html("Привет, мир!");

 

Этот короткий пример демонстрирует, как JQuery может достигнуть того же конечного результата как обычный JavaScript в сжатой форме.

Цели

Данное руководство не принимает на себя никаких предварительных знаний о Jquery, и будет охватывать следующие темы:

  • Как установить Jquery в веб-проекте.
  • Определения важных концепций веб-разработки, таких как API, DOM и CDN.
  • Общие селекторы JQuery, события и эффекты.
  • Примеры для проверки концепции, которые вы узнали на протяжении всей статьи.

Предпосылки

Перед тем, как начать это руководство вам необходимо следующее:

  • Базовые знания HTML и CSS. Вы уже должны знать, как создать простой веб-сайт, а также иметь представление о селекторов CSS, таких как идентификаторы, классы и псевдо элементы.
  • Понимание основ программирования. В то время как можно начать писать JQuery без передовых знаний JavaScript, знакомство с понятиями переменных и типов данных , а также математики и логики существенно поможет.

Настройка Jquery

JQuery является файл JavaScript, который вы внедряете в виде ссылки в вашем HTML. Есть два способа включить JQuery в проекте:

  • Загрузить локальную копию.
  • Ссылка на файл через сеть доставки контента (CDN).

Примечание: Сеть доставки контента (CDN) представляет собой систему из нескольких серверов, которые обеспечивают веб — контент для пользователя на основе географического положения. Когда Вы даете ссылку на размещенный файл Jquery через CDN, он будет потенциально загружен быстрее и эффективнее для пользователя, чем если вы его принимали на своем собственном сервере.

Мы будем использовать CDN, чтобы ссылаться на Jquery в наших примерах. Вы можете найти последнюю версию JQuery в библиотеке компании Google . Если вместо этого вы хотите загрузить его, вы можете получить копию JQuery с официального сайта.

Мы начнем это упражнение, создав небольшую веб — проект. Он будет состоять из style.css в каталоге css/, scripts.js в каталоге js/, и главный файл index.html в корневом каталоге проекта.

project/

├── css/

|   └── style.css

├── js/

|   └── scripts.js

└── index.html


Для того, чтобы начать, сделайте HTML скелет и сохранить его как index.html.

index.html

<!doctype html>

<html lang="ru">



<head>

  <title>Демо jQuery</title>

  <link rel="stylesheet" href="css/style.css">

</head>



<body>

</body>



</html>

 

Ссылка на файл JQuery CDN перед закрывающим тегом </body>, а затем свой собственный файл JavaScript, scripts.js.

index.html

<!doctype html>

<html lang="ru">



<head>

  <title>Демо jQuery</title>

  <link rel="stylesheet" href="css/style.css">

</head>



<body>



<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>

<script src="js/scripts.js"></script>

</body>



</html>

 

Ваш JavaScript — файл ( scripts.js) должны быть включен ниже библиотеки Jquery в документе или он не будет работать.

Примечание
Если вы загрузили локальную копию JQuery, сохранить его в js/папку и ссылку на него в js/jquery.min.js.


На данный момент библиотека Jquery теперь загружается на ваш сайт, и у вас есть полный доступ к API JQuery.

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


Использование JQuery

По своей сути, Jquery используется для соединения с HTML-элементами в браузере через DOM.

Объектная модель документа (DOM) является метод, с помощью которого JavaScript (и JQuery) взаимодействуют с HTML в браузере. Для просмотра именно того, что DOM является, в вашем веб — браузере, щелкните правой кнопкой мыши на текущей веб — странице выберите Inspect. Это откроет Инструменты разработчика. HTML код, который Вы видите здесь DOM.

Каждый HTML — элемент считается узлом в DOM — это объект, который может коснуться JavaScript. Эти объекты расположены в виде древовидной структуры, с <html> будучи ближе к корню, и каждый вложенный элемент представляет ветвь дальше по дереву. JavaScript может добавлять, удалять и изменять любой из этих элементов.

Если вы щелкните правой кнопкой мыши на сайте снова и нажмите View Page Source, вы увидите необработанный HTML вывод веб — сайта. Легко сначала запутать DOM с источником HTML, но они разные — исходная страница именно то, что написано в HTML — файле. Это является статическим и не будет меняться, и не будет зависеть от JavaScript. DOM является динамическим, и может измениться.

Наружный слой DOM, слой, который оборачивает весь <html> узел, является документом объекта. Для того, чтобы начать манипулировать страницей с помощью JQuery, мы должны гарантировать , что документ в первую очередь «готов».

Создайте файл scripts.js в вашей директории js/, и введите следующий код:

JS/scripts.js

$(document).ready(function() {

    // все пользовательские jQuery будет писаться здесь

});

 

Весь код JQuery вы пишете будет обернут в коде выше. JQuery обнаружит это состояние готовности, так что код, включенный внутри этой функции будет работать только тогда, когда DOM готов для выполнения JavaScript-кода. Даже если в некоторых случаях JavaScript не будут загружаться до тех пор элементы отображаются, в том числе и этот блок считается передовой практикой.

Во введении этой статьи, вы видели простой скрипт «Привет, мир!». Для того, чтобы инициировать этот сценарий и печать текста в браузере с JQuery, сначала мы создадим пустой абзац элемента уровня блока с идентификатором demo, приложенного к нему.

index.html

...

<body>



<p id="demo"></p>

...

 

JQuery вызывается и представлен знаком доллара ($). Мы получаем доступ к DOM с JQuery, используя в основном синтаксис CSS, и применяем действие с помощью метода. Основной пример Jquery имеет следующий формат.

$("selector").method();

 

Так как идентификатор представлен символом хэш (#) в CSS, мы получить доступ к демонстрационному идентификатору с помощью селектора #demo. html() это метод изменяет HTML внутри элемента.

Теперь мы собираемся поставить наш пример «Привет, мир!» внутри Jquery ready(). Добавьте эту строку в файл scripts.js в пределах существующей функции:

js/scripts.js

$(document).ready(function() {

    $("#demo").html("Привет, мир!");

});

 

После того как вы сохранили файл, вы можете открыть файл index.html в вашем браузере. Если все сделано правильно, вы увидите выход Привет, Мир!.

Если вы были смущены DOM прежде, вы можете увидеть его в действии прямо сейчас. Щелкните правой кнопкой мыши на текст «Привет, мир!» на странице и выберите Inspect Element. DOM теперь будет отображать <p id="demo">Привет, мир!</p>. Если вы просмотрите исходный код, вы будете видеть только <p id="demo"></p>, чистый HTML, который мы написали.

Селекторы

Селекторы, это элементы, которые мы указываем JQuery, какие хотим использовать. Большинство селекторов Jquery такие же, как и знакомых в CSS, с несколькими Jquery-специфическими дополнениями. Вы можете просмотреть полный список селекторов JQuery в официальной документации.

Чтобы получить доступ к селектору, используйте символ Jquery $, а затем скобки ().

$("selector")

 

Строки в двойных кавычках являются предпочтительными в руководстве по стилю Jquery, хотя одиночные кавычки тоже часто используются.

Ниже приводится краткий обзор некоторых из наиболее часто используемых селекторов.

  • $("*")Джокер: выбирает каждый элемент на странице.
  • $(this)Ток: выбирает текущий элемент эксплуатирующийся на внутри функции.
  • $("p")Метка: выбирает каждый экземпляр тега <p>.
  • $(".example")Класс: выбирает каждый элемент, который имеет класс example, примененных к нему.
  • $("#example")Id: выбирает один экземпляр уникального идентификатора example.
  • $("[type='text']")Атрибут: выбирает любой элемент с text применен к атрибуту type.
  • $("p:first-of-type")Псевдо элемент: выбирает первый <p>.

Как правило, между классами и идентификаторами,  вы чаще всего встретите — классы, когда вы хотите выбрать несколько элементов, а также идентификаторы, если вы хотите выбрать только один.

События Jquery

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

Вернитесь в файл index.html и добавьте элемент <button>. Мы будем использовать эту кнопку для прослушивания нашего события щелчка.

index.html

...

<body>



<button id="trigger">Кликни по мне</button>

<p id="demo"></p>

 

Мы будем использовать метод click() для вызова функции, содержащую наш текст «Привет, мир!».

JS/scripts.js

$(document).ready(function() {

    $("#trigger").click();

});

 

Наш элемент <button> имеет идентификатор с именем trigger, когда мы выбираем $("#trigger"). Добавляя click(), мы говорим это надо прослушивать события щелчка, но мы еще не сделали. Теперь мы будем вызывать функцию, которая содержит наш код, внутри метода click().

function() {

    $("#demo").html("Привет, мир!");

}

 

Вот окончательный код.

JS/scripts.js

$(document).ready(function() {

    $("#trigger").click(function() {

    $("#demo").html("Привет, мир!");

    });

});

 

Сохраните файл scripts.js и обновите index.html в браузере. Теперь при нажатии кнопки, поменяется текст на «Привет, мир!».

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

  • click()Нажмите: выполняется при нажатии кнопки мыши.
  • hover()Hover: выполняется, когда мышь зависает над элементом. mouseenter() и  mouseleave()применяются только при появлении мыши на элементе или оставляет элемент.
  • submit()Отправить: выполняется, когда форма была отправлена.
  • scroll()Свиток: выполняется, когда на экране прокручивается.
  • keydown()KeyDown: выполняется при нажатии вниз на клавиши на клавиатуре.

Для того, чтобы изображения изменялись или исчезали, когда пользователь прокручивает вниз по экрану, используйте метод scroll(). Для выхода из меню с помощью клавиши ESC, используйте метод keydown(). Для того, чтобы сделать выпадающее меню аккордеон, используйте метод click().

Понимание событий имеет важное значение для создания динамического содержимого веб-сайта с JQuery.

Эффекты JQuery

Эффекты JQuery работают рука об руку с событиями, позволяя добавить анимацию и иным образом манипулировать элементами на странице.

Мы сделаем пример, в котором мы открываем и закрыть всплывающее наложение. В то время как мы могли бы использовать два идентификатора — один, чтобы открыть накладку, а другой, чтобы закрыть его — мы вместо того, чтобы использовать класс, открываем и закрываем закладку той же функцией.

Удалим текущий теги <button> и <p> из тела вашего файла index.html, и добавьте следующую строку в ваш HTML — документ:

index.html

...

<body>

<button class="trigger">Открыть</button>



<section class="overlay">

  <button class="trigger">Закрыть</button>

</section>

...

 

В нашем файле style.css, мы будем использовать минимальное количество CSS, чтобы скрыть overlay с display: none и в центре его на экране.

css/style.css

.overlay {

  display: none;

  position: fixed;

  top: 45%;

  left: 45%;

  transform: translate(-45%, -45%);

  height: 210px;

  width: 150px;

  background: blue;

}

 

Перейдите в файл в scripts.js, там мы будем использовать метод toggle(), который будет переключать в CSS свойство display между none и block, скрытия и отображения наложения при нажатии.

JS / scripts.js

$(document).ready(function() {

    $(".trigger").click(function() {

        $(".overlay").toggle();

    });

});

 

Обновите файл index.html. Теперь вы будете иметь возможность переключать видимость окошка, нажав на кнопку. Вы можете изменить toggle() на fadeToggle() или slideToggle() увидеть несколько других встроенных эффектов JQuery.

Ниже приводится краткий обзор некоторых из наиболее часто используемых методов эффекта.

  • toggle()Переключение: переключает видимость элемента или элементов. show()и hide()являются соответствующие эффекты в одну сторону.
  • fadeToggle()Fade Переключение: переключает видимость и одушевляет непрозрачность элемента или элементов. fadeIn() и fadeOut() являются соответствующие эффекты в одну сторону.
  • slideToggle()Slide Переключение переключает видимость элемента или элементов со скользящим эффектом. slideDown() и slideUp() являются соответствующие эффекты в одну сторону.
  • animate()Анимация выполняет пользовательские эффекты анимации на CSS свойство элемента.

Мы используем события Jquery для прослушивания для взаимодействия с пользователем, например, нажатием одной кнопки, и мы используем эффекты JQuery для дальнейшего управления элементами, когда-то происходит действие.

 Введение в JQuery

Вывод

В этом руководстве мы узнали, как выбирать и манипулировать элементами с JQuery, и как события и эффекты работают вместе, чтобы сделать интерактивный веб-опыт для пользователя.

Отсюда, вы должны иметь более глубокое понимание возможностей JQuery, и быть готовы к вашему пути написания собственного кода.



2017-02-11T00:54:35
Лучшие учебники по Wodpress

Простой скрипт поиска api Whois в PHP

На этом уроке я объясню, очень полезный скрипт, чтобы получить данные WHOIS домена. Вот отличный и простой скрипт поиска Whois api yна PHP, можно его использовать в своих нуждах.

Это 100% бесплатный для личных и коммерческих целях, и просто имеет несколько функций, которые можно вызывать в ваших следующих проектах. Это Автоматический поиск для вторичного сервера WHOIS и встроенным IP и домен валидатор, чтобы получить подробную информацию о владельце домена из базы данных WHOIS.

Файл класса Whois

Создать файл whois.php и скопировать фрагмент кода на PHP, чтобы получить данные WHOIS для любого домена. Этот скрипт поддерживает множество TLD (домена верхнего уровня), как .ru, .com, .net, .в, .org, .info и многие другие.

<?php

$domain = $_GET['domain'];

$whoisservers = array(

    "ac" => "whois.nic.ac", // Ascension Island

    // ad - Andorra - нет назначенного whois сервера

    "ae" => "whois.nic.ae", // Арабские эмираты

    "aero"=>"whois.aero",

    "af" => "whois.nic.af", // Афганистан

    "ag" => "whois.nic.ag", // Antigua And Barbuda

    "ai" => "whois.ai", // Ангола

    "al" => "whois.ripe.net", // Албания

    "am" => "whois.amnic.net",  // Армения

    // an - Netherlands Antilles - нет назначенного whois сервера

    // ao - Angola - нет назначенного whois сервера

    // aq - Antarctica (New Zealand) - нет назначенного whois сервера

    // ar - Argentina - нет назначенного whois сервера

    "arpa" => "whois.iana.org",

    "as" => "whois.nic.as", // American Samoa

    "asia" => "whois.nic.asia",

    "at" => "whois.nic.at", // Австрия

    "au" => "whois.aunic.net", // Австралия

    // aw - Aruba - нет назначенного whois сервера

    "ax" => "whois.ax", // Aland Islands

    "az" => "whois.ripe.net", // Азербайджан

    // ba - Bosnia And Herzegovina - нет назначенного whois сервера

    // bb - Barbados - нет назначенного whois сервера

    // bd - Bangladesh - нет назначенного whois сервера

    "be" => "whois.dns.be", // Бельгия

    "bg" => "whois.register.bg", // Болгария

    "bi" => "whois.nic.bi", // Burundi

    "biz" => "whois.biz",

    "bj" => "whois.nic.bj", // Benin

    // bm - Bermuda - нет назначенного whois сервера

    "bn" => "whois.bn", // Brunei Darussalam

    "bo" => "whois.nic.bo", // Боливия

    "br" => "whois.registro.br", // Бразилия

    "bt" => "whois.netnames.net", // Bhutan

    // bv - Bouvet Island (Norway) - нет назначенного whois сервера

    // bw - Botswana - нет назначенного whois сервера

    "by" => "whois.cctld.by", // Беларусия

    "bz" => "whois.belizenic.bz", // Belize

    "ca" => "whois.cira.ca", // Канада

    "cat" => "whois.cat", // Испания

    "cc" => "whois.nic.cc", // Cocos (Keeling) Islands

    "cd" => "whois.nic.cd", // Congo, The Democratic Republic Of The

    // cf - Central African Republic - нет назначенного whois сервера

    "ch" => "whois.nic.ch", // Швейцария

    "ci" => "whois.nic.ci", // Cote d'Ivoire

    "ck" => "whois.nic.ck", // Острова Кука

    "cl" => "whois.nic.cl", // Чили

    // cm - Cameroon - нет назначенного whois сервера

    "cn" => "whois.cnnic.net.cn", // Китай

    "co" => "whois.nic.co", // Колумбия

    "com" => "whois.verisign-grs.com",

    "coop" => "whois.nic.coop",

    // cr - Costa Rica - нет назначенного whois сервера

    // cu - Cuba - нет назначенного whois сервера

    // cv - Cape Verde - нет назначенного whois сервера

    // cw - Curacao - нет назначенного whois сервера

    "cx" => "whois.nic.cx", // Christmas Island

    // cy - Cyprus - нет назначенного whois сервера

    "cz" => "whois.nic.cz", // Czech Republic

    "de" => "whois.denic.de", // Германия

    // dj - Djibouti - нет назначенного whois сервера

    "dk" => "whois.dk-hostmaster.dk", // Дания

    "dm" => "whois.nic.dm", // Доминиканская республика

    // do - Dominican Republic - нет назначенного whois сервера

    "dz" => "whois.nic.dz", // Algeria

    "ec" => "whois.nic.ec", // Эквадор

    "edu" => "whois.educause.edu",

    "ee" => "whois.eenet.ee", // Эстония

    "eg" => "whois.ripe.net", // Египет

    // er - Eritrea - нет назначенного whois сервера

    "es" => "whois.nic.es", // Испания

    // et - Ethiopia - нет назначенного whois сервера

    "eu" => "whois.eu",

    "fi" => "whois.ficora.fi", // Финляндия

    // fj - Fiji - нет назначенного whois сервера

    // fk - Falkland Islands - нет назначенного whois сервера

    // fm - Micronesia, Federated States Of - нет назначенного whois сервера

    "fo" => "whois.nic.fo", // Фарерские острова

    "fr" => "whois.nic.fr", // Франция

    // ga - Gabon - нет назначенного whois сервера

    "gd" => "whois.nic.gd", // Гренада

    // ge - Georgia - нет назначенного whois сервера

    // gf - French Guiana - нет назначенного whois сервера

    "gg" => "whois.gg", // Guernsey

    // gh - Ghana - нет назначенного whois сервера

    "gi" => "whois2.afilias-grs.net", // Гибралтар

    "gl" => "whois.nic.gl", // Гренландия (Denmark)

    // gm - Gambia - нет назначенного whois сервера

    // gn - Guinea - нет назначенного whois сервера

    "gov" => "whois.nic.gov",

    // gr - Greece - нет назначенного whois сервера

    // gt - Guatemala - нет назначенного whois сервера

    "gs" => "whois.nic.gs", // South Georgia And The South Sandwich Islands

    // gu - Guam - нет назначенного whois сервера

    // gw - Guinea-bissau - нет назначенного whois сервера

    "gy" => "whois.registry.gy", // Guyana

    "hk" => "whois.hkirc.hk", // Hong Kong

    // hm - Heard and McDonald Islands (Australia) - нет назначенного whois сервера

    "hn" => "whois.nic.hn", // Honduras

    "hr" => "whois.dns.hr", // Хорватия

    "ht" => "whois.nic.ht", // Гаити

    "hu" => "whois.nic.hu", // Венгрия

    // id - Indonesia - нет назначенного whois сервера

    "ie" => "whois.domainregistry.ie", // Ирландия

    "il" => "whois.isoc.org.il", // Израиль

    "im" => "whois.nic.im", // Isle of Man

    "in" => "whois.inregistry.net", // Индия

    "info" => "whois.afilias.net",

    "int" => "whois.iana.org",

    "io" => "whois.nic.io", // British Indian Ocean Territory

    "iq" => "whois.cmc.iq", // Ирак

    "ir" => "whois.nic.ir", // Иран

    "is" => "whois.isnic.is", // Исландия

    "it" => "whois.nic.it", // Италия

    "je" => "whois.je", // Jersey

    // jm - Jamaica - нет назначенного whois сервера

    // jo - Jordan - нет назначенного whois сервера

    "jobs" => "jobswhois.verisign-grs.com",

    "jp" => "whois.jprs.jp", // Япония

    "ke" => "whois.kenic.or.ke", // Кения

    "kg" => "www.domain.kg", // Киргизстан

    // kh - Cambodia - нет назначенного whois сервера

    "ki" => "whois.nic.ki", // Kiribati

    // km - Comoros - нет назначенного whois сервера

    // kn - Saint Kitts And Nevis - нет назначенного whois сервера

    // kp - Korea, Democratic People's Republic Of - нет назначенного whois сервера

    "kr" => "whois.kr", // Korea, Republic Of

    // kw - Kuwait - нет назначенного whois сервера

    // ky - Cayman Islands - нет назначенного whois сервера

    "kz" => "whois.nic.kz", // Казахстан

    "la" => "whois.nic.la", // Lao People's Democratic Republic

    // lb - Lebanon - нет назначенного whois сервера

    // lc - Saint Lucia - нет назначенного whois сервера

    "li" => "whois.nic.li", // Лихтенштейн

    // lk - Sri Lanka - нет назначенного whois сервера

    "lt" => "whois.domreg.lt", // Lithuania

    "lu" => "whois.dns.lu", // Luxembourg

    "lv" => "whois.nic.lv", // Латвия

    "ly" => "whois.nic.ly", // Libya

    "ma" => "whois.iam.net.ma", // Морокко

    // mc - Monaco - нет назначенного whois сервера

    "md" => "whois.nic.md", // Молдова

    "me" => "whois.nic.me", // Montenegro

    "mg" => "whois.nic.mg", // Мадагаскар

    // mh - Marshall Islands - нет назначенного whois сервера

    "mil" => "whois.nic.mil",

    // mk - Macedonia, The Former Yugoslav Republic Of - нет назначенного whois сервера

    "ml" => "whois.dot.ml", // Мали

    // mm - Myanmar - нет назначенного whois сервера

    "mn" => "whois.nic.mn", // Монгола

    "mo" => "whois.monic.mo", // Macao

    "mobi" => "whois.dotmobiregistry.net",

    "mp" => "whois.nic.mp", // Northern Mariana Islands

    // mq - Martinique (France) - нет назначенного whois сервера

    // mr - Mauritania - нет назначенного whois сервера

    "ms" => "whois.nic.ms", // Montserrat

    // mt - Malta - нет назначенного whois сервера

    "mu" => "whois.nic.mu", // Mauritius

    "museum" => "whois.museum",

    // mv - Maldives - нет назначенного whois сервера

    // mw - Malawi - нет назначенного whois сервера

    "mx" => "whois.mx", // Мексика

    "my" => "whois.domainregistry.my", // Малазия

    // mz - Mozambique - нет назначенного whois сервера

    "na" => "whois.na-nic.com.na", // Намибия

    "name" => "whois.nic.name",

    "nc" => "whois.nc", // New Caledonia

    // ne - Niger - нет назначенного whois сервера

    "net" => "whois.verisign-grs.net",

    "nf" => "whois.nic.nf", // Norfolk Island

    "ng" => "whois.nic.net.ng", // Нигерия

    // ni - Nicaragua - нет назначенного whois сервера

    "nl" => "whois.domain-registry.nl", // Голандия

    "no" => "whois.norid.no", // Норвегия

    // np - Nepal - нет назначенного whois сервера

    // nr - Nauru - нет назначенного whois сервера

    "nu" => "whois.nic.nu", // Niue

    "nz" => "whois.srs.net.nz", // Новая Зеландия

    "om" => "whois.registry.om", // Оман

    "org" => "whois.pir.org",

    // pa - Panama - нет назначенного whois сервера

    "pe" => "kero.yachay.pe", // Перу

    "pf" => "whois.registry.pf", // Французкая Полинезия

    // pg - Papua New Guinea - нет назначенного whois сервера

    // ph - Philippines - нет назначенного whois сервера

    // pk - Pakistan - нет назначенного whois сервера

    "pl" => "whois.dns.pl", // Польша

    "pm" => "whois.nic.pm", // Saint Pierre and Miquelon (France)

    // pn - Pitcairn (New Zealand) - нет назначенного whois сервера

    "post" => "whois.dotpostregistry.net",

    "pr" => "whois.nic.pr", // Пуэрто Рико

    "pro" => "whois.dotproregistry.net",

    // ps - Palestine, State of - нет назначенного whois сервера

    "pt" => "whois.dns.pt", // Португалия

    "pw" => "whois.nic.pw", // Palau

    // py - Paraguay - нет назначенного whois сервера

    "qa" => "whois.registry.qa", // Катар

    "re" => "whois.nic.re", // Reunion (France)

    "ro" => "whois.rotld.ro", // Румыния

    "rs" => "whois.rnids.rs", // Сербия

    "ru" => "whois.tcinet.ru", // Россия

    // rw - Rwanda - нет назначенного whois сервера

    "sa" => "whois.nic.net.sa", // Саудовская аравия

    "sb" => "whois.nic.net.sb", // Соломоновы острова

    "sc" => "whois2.afilias-grs.net", // Seychelles

    // sd - Sudan - нет назначенного whois сервера

    "se" => "whois.iis.se", // Швеция

    "sg" => "whois.sgnic.sg", // Сингапур

    "sh" => "whois.nic.sh", // Saint Helena

    "si" => "whois.arnes.si", // Словения

    "sk" => "whois.sk-nic.sk", // Словакия

    // sl - Sierra Leone - нет назначенного whois сервера

    "sm" => "whois.nic.sm", // Сан Морино

    "sn" => "whois.nic.sn", // Сенегал

    "so" => "whois.nic.so", // Сомали

    // sr - Suriname - нет назначенного whois сервера

    "st" => "whois.nic.st", // Sao Tome And Principe

    "su" => "whois.tcinet.ru", // Российская федерация

    // sv - El Salvador - нет назначенного whois сервера

    "sx" => "whois.sx", // Sint Maarten (dutch Part)

    "sy" => "whois.tld.sy", // Сирия

    // sz - Swaziland - нет назначенного whois сервера

    "tc" => "whois.meridiantld.net", // Turks And Caicos Islands

    // td - Chad - нет назначенного whois сервера

    "tel" => "whois.nic.tel",

    "tf" => "whois.nic.tf", // French Southern Territories

    // tg - Togo - нет назначенного whois сервера

    "th" => "whois.thnic.co.th", // Тайланд

    "tj" => "whois.nic.tj", // Таджикистан

    "tk" => "whois.dot.tk", // Tokelau

    "tl" => "whois.nic.tl", // Timor-leste

    "tm" => "whois.nic.tm", // Туркменистан

    "tn" => "whois.ati.tn", // Тунис

    "to" => "whois.tonic.to", // Tonga

    "tp" => "whois.nic.tl", // Timor-leste

    "tr" => "whois.nic.tr", // Турция

    "travel" => "whois.nic.travel",

    // tt - Trinidad And Tobago - нет назначенного whois сервера

    "tv" => "tvwhois.verisign-grs.com", // Tuvalu

    "tw" => "whois.twnic.net.tw", // Тйвань

    "tz" => "whois.tznic.or.tz", // Танзания

    "ua" => "whois.ua", // Украина

    "ug" => "whois.co.ug", // Уганда

    "uk" => "whois.nic.uk", // Англия

    "us" => "whois.nic.us", // США

    "uy" => "whois.nic.org.uy", // Уругвай

    "uz" => "whois.cctld.uz", // Узбекистан

    // va - Holy See (vatican City State) - нет назначенного сервера whois

    "vc" => "whois2.afilias-grs.net", // Saint Vincent And The Grenadines

    "ve" => "whois.nic.ve", // Венесуэла

    "vg" => "whois.adamsnames.tc", // Виргинскиие острова

    // vi - Virgin Islands, US - нет назначенного whois сервера

    // vn - Viet Nam - нет назначенного whois сервера

    // vu - Vanuatu - нет назначенного whois сервера

    "wf" => "whois.nic.wf", // Wallis and Futuna

    "ws" => "whois.website.ws", // Самоа

    "xxx" => "whois.nic.xxx",

    // ye - Yemen - нет назначенного whois сервера

    "yt" => "whois.nic.yt", // Майотта

    "yu" => "whois.ripe.net");

 

function LookupDomain($domain){

    global $whoisservers;

    $domain_parts = explode(".", $domain);

    $tld = strtolower(array_pop($domain_parts));

    $whoisserver = $whoisservers[$tld];

    if(!$whoisserver) {

        return "Ошибка: Не соответствующего whois-сервера для домена $domain!";

    }

    $result = QueryWhoisServer($whoisserver, $domain);

    if(!$result) {

        return "Ошибка: Нет результатов полученных от $whoisserver сервера для домена $domain!";

    }

    else {

        while(strpos($result, "Whois-сервер:") !== FALSE){

            preg_match("/Whois Server: (.*)/", $result, $matches);

            $secondary = $matches[1];

            if($secondary) {

                $result = QueryWhoisServer($secondary, $domain);

                $whoisserver = $secondary;

            }

        }

    }

    return "$domain результаты поиска для домена $whoisserver сервер:nn" . $result;

}

 

function LookupIP($ip) {

    $whoisservers = array(

        //"whois.afrinic.net", // Африка - возвращает время ожидания ошибка :-(

        "whois.lacnic.net", // Латинской Америки и Карибского бассейна - возвращает данные для всех мест по всему миру :-)

        "whois.apnic.net", // Для азиатско-тихоокеанского региона

        "whois.arin.net", // Для северной Америки

        "whois.ripe.net" // Только для Европы, Ближнего Востока и Центральной Азии

    );

    $results = array();

    foreach($whoisservers as $whoisserver) {

        $result = QueryWhoisServer($whoisserver, $ip);

        if($result && !in_array($result, $results)) {

            $results[$whoisserver]= $result;

        }

    }

    $res = "НАЙДЕНО: " . count($results);

    foreach($results as $whoisserver=>$result) {

        $res .= "nn-------------nРезультаты поиска " . $ip . " from " . $whoisserver . " сервер:nn" . $result;

    }

    return $res;

}

 

function ValidateIP($ip) {

    $ipnums = explode(".", $ip);

    if(count($ipnums) != 4) {

        return false;

    }

    foreach($ipnums as $ipnum) {

        if(!is_numeric($ipnum) || ($ipnum > 255)) {

            return false;

        }

    }

    return $ip;

}

 

function ValidateDomain($domain) {

    if(!preg_match("/^([-a-z0-9]{2,100}).([a-z.]{2,8})$/i", $domain)) {

        return false;

    }

    return $domain;

}

 

function QueryWhoisServer($whoisserver, $domain) {

    $port = 43;

    $timeout = 10;

    $fp = @fsockopen($whoisserver, $port, $errno, $errstr, $timeout) or die("Socket Error " . $errno . " - " . $errstr);

    //if($whoisserver == "whois.verisign-grs.com") $domain = "=".$domain; // whois.verisign-grs.com требует знака равенства ("=") или он возвращает какой-либо результат с искомой строкой.

    fputs($fp, $domain . "rn");

    $out = "";

    while(!feof($fp)){

        $out .= fgets($fp);

    }

    fclose($fp);

 

    $res = "";

    if((strpos(strtolower($out), "error") === FALSE) && (strpos(strtolower($out), "not allocated") === FALSE)) {

        $rows = explode("n", $out);

        foreach($rows as $row) {

            $row = trim($row);

            if(($row != '') && ($row{0} != '#') && ($row{0} != '%')) {

                $res .= $row."n";

            }

        }

    }

    return $res;

}

?>

 

Страница Index.php

Создайте страницу index.php, скопируйте здесь и вставьте в созданный файл фрагмент кода ниже, чтобы получить данные WHOIS.

<div class="well">

 

<form action="<?php echo $_SERVER['PHP_SELF']; ?>">

<input type="text" name="domain" placeholder="www.domainname.ru" value="<?=$domain;?>" required="required"

style="width:250px; height:37px;">

<input type="submit" class="pretty medium primary btn" value="Whois Lookup" name="Submit"

style="color:#fff;">

</form>

 

</div>

<?php

if($domain) {

    $domain = trim($domain);

    if(substr(strtolower($domain), 0, 7) == "http://") $domain = substr($domain, 7);

    if(substr(strtolower($domain), 0, 4) == "www.") $domain = substr($domain, 4);

    if(ValidateIP($domain)) {

        $result = LookupIP($domain);

    }

    elseif(ValidateDomain($domain)) {

        $result = LookupDomain($domain);

    }

    else die("Invalid Input!");

    echo "<pre>n" . $result . "n</pre>n";

}

?>

</div>

Данные WHOIS



2017-02-03T12:11:14
Лучшие учебники по Wodpress

Создание новой страницы или поста в WordPress программными средствами

Если вы хотите создать несколько демо — страниц или постов во время пользовательской установки WordPress, то вы можете использовать функцию wp_insert_post() внутри вашего файла functions.php.

Откройте файл functions.php в папке вашей темы и скопируйте и вставьте фрагмент кода ниже в конце файла. Ниже код будет создать новую страницу, когда код будет выполняться. И, конечно, он будет работать для POST и других пользовательских типов поста. Вам нужно изменить 'post_type' => 'post'.

Функция wp_insert_post будет возвращает идентификатор вновь созданной страницы или поста в переменную $new_page_id. Если будет больше появляться сообщение об ошибке, он будет возвращать 0 в переменную $new_page_id.

< ?php

 

// определить содержание страницы

$new_page = array(

    'slug' => 'this-is-andreyex-ru-new-page',

    'title' => 'Написать Заголовок',

    'content' => "Введите содержимое на Вашу страницу здесь"

);

 

$new_page_id = wp_insert_post( array(

    'post_title' => $new_page['title'],

    'post_type'     => 'page',

    'post_name'     => $new_page['slug'],

    'comment_status' => 'closed',

    'ping_status' => 'closed',

    'post_content' => $new_page['content'],

    'post_status' => 'publish',

    'post_author' => 1,

    'menu_order' => 0

));

 

?>

 



2017-02-02T06:40:53
Лучшие учебники по Wodpress

Простая обрезка изображения с помощью cropper.js и PHP

Привет друзья. Сегодня мы хотим поделиться, как вы можете обрезать изображение с помощью простого скрипта cropper.js и PHP. Это простой JQuery плагин изображения кадрирования cropper.js. Cropper Js наследуется от размера родительского элемента изображения (wrapper), так что не забудьте обернуть изображение с видимым блочным элементом и вывод укороченных размеров исходного изображения, так что вы можете использовать их, чтобы обрезать изображение непосредственно.

Простая обрезка изображения с помощью cropper.js и PHP

Особенности списков:

  • Поддерживает связь (мобильный)
  • Поддерживает масштабирование
  • Поддержка вращения
  • Поддерживает масштабирование (листать)
  • Поддержка нескольких croppers
  • Поддерживает обрезку на холсте
  • Поддерживает обрезку изображения в холсте браузера
  • Поддержка для преобразования информации Exif
  • Поддержка кросс-браузерности

Зависимости сервера

— PHP 5.5+

Поддержка браузеров

  • — Chrome (последняя 2)
  • — Firefox (последняя 2)
  • — Internet Explorer 8+
  • — Opera (последние 2)
  • — Safari (последние 2)

Включите JS файлы:

<script src="/путь_к/jquery.js"></script><!-- требуется jQuery -->

<link  href="/путь_к/cropper.css" rel="stylesheet">

<script src="/путь_к/cropper.js"></script>

 

Как создать пользовательский мета-бокс в WordPress

В этом посте я объясню, как создать пользовательский мета-бокс  в WordPress. Когда вы редактирует свой пост, страница состоит из множества мета-боксов по умолчанию, такие как: редактор, изображение записи, опубликовать, рубрики, теги и т.д. Эти мета-боксы находятся на правой стороне экрана редактирования.

Вы можете создавать свои собственные мета-боксы, путем добавления нескольких кодов в файл function.php вашей темы в WordPress или можете создать отдельный плагин для этого. Ниже примеры демонстрируют шаги, как создать пользовательские мета-боксы.

Как создать мета-бокс

Добавьте ниже крюк в add_meta_boxes действие и сделать вызов add_meta_box().

/* Добавить метабокс на экран редактирования поста */

add_action( 'add_meta_boxes', 'andreyex_add_custom_box' );

function andreyex_add_custom_box() {

    $screens = array( 'post', 'my_cpt' );

    foreach ( $screens as $screen ) {

        add_meta_box(

            'andreyex_box_id',            // Unique ID

            'Пользовательский заголовок метабокса',      // Заголовок мета-бокса

            'andreyex_inner_custom_box',  // Content callback

             $screen                      // тип поста

        );

    }

}

 

Создание формы мета-бокса

Ниже код будет создать форму для пользовательского meta box. Пожалуйста, измените приведенный ниже код согласно вашему требованию.

/* Печать содержимого бокса */

function andreyex_inner_custom_box( $post ) {

?>

   <label for="andreyex_field"> Описание для этой области </label>

    <select name="andreyex_field" id="andreyex_field" class="postbox">

        <option value="">Выберите что-то…</option>

        <option value="something">Что-то</option>

        <option value="else">Иначе</option>

    </select>

<?php

}

?>