Статьи

Полезные функции WordPress Utility

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

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

Большинство этих функций можно найти в /wp-include/functions.php, /wp-includes/formatting.php, /wp-includes/general-template.php .

Вспомогательные функции формы

Есть 3 основных функции формы, которые очень полезны при создании новой формы в области администрирования WordPress . Когда вы возвращаете данные из базы данных и вам необходимо предварительно заполнить форму этими данными, эти функции могут быть действительно полезными.

Эти функции:

  • check () — сравнивает два значения, и они совпадают, вернет проверенный атрибут внутри элемента HTML.
  • selected () — сравнивает два значения, и они возвращают выбранный атрибут внутри элемента HTML.
  • disabled () — Сравнивает два значения, и они возвращают отключенный атрибут внутри элемента HTML.


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

checked( $checked, $current = true, $echo = true );
selected( $selected, $current = true, $echo = true );
disabled( $disabled, $current = true, $echo = true );
<input type="checkbox" value="1" name="checkbox" <?php checked( $value, '1', true); ?> />
<select name="select">
<option value="1" <?php selected( $value, '1', true);?>>1</option>
<option value="2" <?php selected( $value, '2', true);?>>2</option>
<option value="3" <?php selected( $value, '3', true);?>>3</option>
<option value="4" <?php selected( $value, '4', true);?>>4</option>
<option value="5" <?php selected( $value, '5', true);?>>5</option>
</select>
<input type="text" name="disabled_textbox" <?php disabled( $value, 'disabled', true); ?> />

Присоединить пути к файлам

Если вам нужно объединить несколько файлов путей вместе, есть полезная функция path_join () , которая может предоставить 2 пути и вернуть строку из двух путей вместе.

$join_string = path_join( $base, $path );

Проверьте, является ли путь абсолютным

Если вам нужно выяснить, является ли путь абсолютным, то в WordPress есть функция path_is_absolute (), которая будет возвращать логическое значение, если это абсолютный путь.

$absolute_path = path_is_absolute( $path );

Создать рекурсивные каталоги

Если вам нужно создать каталог рекурсивных папок из пути к файлу, вы можете использовать функцию WordPress wp_mkdir_p (). Это означает, что если у вас есть путь к файлу / here / are / some / new / folder и вы передаете его в функцию wp_mkdir_p ($ path), вы получите новые каталоги папок, созданные для каждой из этих папок.

wp_mkdir_p( $path );

Получить уникальное имя файла

Когда вы добавляете файл в каталог, вы обычно проверяете, является ли это имя файла уникальным, поэтому вам не придется перезаписывать существующий файл. Существует функция WordPress wp_unique_filename (), которой вы дадите каталог и имя файла, код проверит, существует ли это имя файла внутри каталога, если файл уже существует, он вернет имя файла с добавленным в конец номером ,

$unique_filename = wp_unique_filename( $directory, $filename );

Гарантируйте конечные слэши

Чтобы убедиться, что в конце пути к файлу всегда есть завершающая косая черта, вы можете использовать функцию trailingslashit () , которая примет путь к файлу и убедится, что в конце есть только одна косая черта.

$trailingslashFilename = trailingslashit( $filepath );

Удалить завершающие слэши

Существует также противоположность вышесказанному, есть функция untrailingslashit (), которая примет имя файла и удалит все завершающие слэши из пути к файлу.

$noTrailingSlashes = untrailingslashit( $filepath );

Показать размеры файлов

Если у вас есть веб-сайт с видео или изображениями, где людям нужно что-то скачивать, большую часть времени веб-сайт будет сообщать им о размере файла. С помощью функции WordPress size_format () вы можете передать количество байтов файла, и оно вернет лучший способ отобразить эти данные.

Например, если вы передадите 1024 байта, он вернет 1 КБ. Если вы передадите число 1048576 байтов, и функция вернет 1 МБ.

size_format( $bytes, $decimals );

Получить тип файла с расширением

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

Например, если вы передадите расширение png, оно вернет, что это изображение. Это действительно полезная функция для использования, если пользователь загружает файл, вы можете получить расширение и определить, какой тип файла он загрузил.

wp_ext2type( $ext );

Получите человеческую разницу во времени

В WordPress вы можете отображать дату публикации, но некоторые веб-сайты, которые публикуют пару раз в день, могут захотеть отображать даты, как это делает Twitter. Разница во времени, понятная человеку, 2 дня назад, 10 минут назад, 4 часа назад. В WordPress есть функция human_time_diff (), которую вы можете передать в метке времени, и она будет определять, сколько дней, часов, минут назад была эта дата.

human_time_diff( $from, $to = NULL );

Проверьте, используете ли вы мобильный телефон

Проверьте, просматривает ли посетитель ваш сайт на мобильном устройстве , используя функцию WordPress wp_is_mobile () .

<?php if ( wp_is_mobile() ) {
	/* Display and echo mobile specific stuff here */
} ?>

Установить код статуса заголовка

Чтобы установить код состояния заголовка HTTP, вместо использования функции заголовка PHP, Wordpres имеет свою собственную функцию, чтобы сделать это проще. Вы можете использовать функцию status_header () для изменения кода состояния.

status_header( $code );

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

status_header( '404' );

Кодировать адрес электронной почты

Остановите спам-ботов от сканирования вашего веб-сайта в поисках вашего адреса электронной почты путем преобразования адреса электронной почты в HTML-объекты. Используйте функцию WordPress antispambot () , передайте адрес электронной почты, и он вернет HTML-сущности преобразованную версию адреса электронной почты. Вы можете безопасно отобразить возврат этой функции на своем веб-сайте без спам-ботов, получающих ваш адрес электронной почты.

$converted_email = antispambot( $email );

Сделайте ссылку кликабельной

Если у вас есть URL-адрес или адрес электронной почты и что добавить ссылку вокруг этого текста, чтобы люди могли щелкнуть, чтобы перейти на эту веб-страницу или отправить кому-либо электронное письмо. WordPress поставляется со встроенной функцией, позволяющей сделать правильный URL-адрес или адрес электронной почты активным , добавив правильную ссылку вокруг текста.

$string = "This is a long text that contains some links like http://www.wordpress.org and http://www.wordpress.com .";
echo make_clickable($string);

Check Email Addresses

Want to check is a string provide is a valid email address, use the function is_email() passes in the email address you want to check, if this return true then it is a valid email address.

if(is_email( $email ) )
{
    // $email is a valid email address
}

Trim A String

If you want to get a except of a string you can use the wp_trim_excerpt() function that will reduce the string provided to a maximum of 55 words if it is more then a […] will be added to the end of the string.

$excerpt = wp_trim_excerpt( $text );

If you want to change this to a different number of words then use the function wp_trim_words() you can give this function text and the number of words you want to return.

$oneHundredWords = wp_trim_words( $text, 100 );

SSL

If you want to check if SSL is being used then WordPress has a function called is_ssl() which will return a boolean on if SSL is currently being used.

if(!is_ssl())
{
    // this page requires SSL to be active
    return;
}

Plugin URL

An important function I have found myself using a lot is the plugin_url() function, you give this function the filepath and it will return with the URL to this plugin. It is very useful to use when you need to include javascript or stylesheets with your plugin.

$url = plugins_url( $path, $plugin );

If you want to include a stylesheet from within a plugin the best way to use this is to use the global variable __FILE__ as the second parameter, this will always return the URL root of the plugin.

So if your stylesheet is in a css folder on the root of your plugin you will enqueue it by using the following code.

wp_enqueue_style('stylsheet', plugins_url( 'css/style.css', __FILE__ ) );

There are many other useful functions that you can find hidden away in the WordPress code, which ones do you use?