Skip to content

Instantly share code, notes, and snippets.

@campusboy87
campusboy87 / datePost_plus.php
Created February 22, 2017 10:12
Выводит дату поста + 3 месяца
function datePost() {
$in_date = date('Y-m-d');
$date = get_the_date( 'Y-m-d');
$datepost = date_create(get_the_date( 'Y-m-d'));
date_add($datepost, date_interval_create_from_date_string('3 months'));
$to_date = date_format($datepost, 'Y-m-d');
if( $date < $to_date && $in_date < $to_date )
{
echo '<span class="newcategory"></span>';
}
@campusboy87
campusboy87 / disable_updates_wp.php
Created April 25, 2017 20:54
Отключаем принудительную проверку новых версий WP, плагинов и темы в админке
<?php
/**
* Отключаем принудительную проверку новых версий WP, плагинов и темы в админке,
* чтобы она не тормозила, когда долго не заходил и зашел...
* Все проверки будут происходить незаметно через крон или при заходе на страницу: "Консоль > Обновления".
*
* @see https://wp-kama.ru/filecode/wp-includes/update.php
* @version 1.0
*/
if( is_admin() ){
<?php
/**
* Function
*
* @param [string|null] $dir Directory
* @return mixed
*/
function dir_to_array( $dir = null ) {
$result = array();
@campusboy87
campusboy87 / auto_name_post_by_img.php
Last active July 12, 2017 15:23
Автоматическое добавление названия изображения при выборе фотки в поле названия поста. Можно указать тип поста.
// Автодобавление названия изображения при выборе фотки в поле названия поста
add_action( 'admin_print_footer_scripts', function () {
global $current_screen;
if ( 'post' == $current_screen->post_type && 'post' == $current_screen->base ) {
?>
<script>
jQuery(document).ready(function ($) {
var $titlePostInput = $('[name=post_title]');
$(document).on('mouseenter', '.media-button-select', function () {
@campusboy87
campusboy87 / change_request_for_page_category.php
Last active September 25, 2017 16:45
Изменяет запрос, чтобы работала пагинация на странице category. Страница (page) category должна быть создана в админке и указана в настройках чтения, как "Страница записей"
<?php
/**
* Изменяет запрос, чтобы работала пагинация на странице category.
*
* Страница (page) category должна быть создана в админке
* и указана в настройках чтения, как "Страница записей"
*
* $param array $query_vars
*
* @return array
@campusboy87
campusboy87 / setup_404_for_url_with_space.php
Last active October 17, 2017 10:26
Для страниц, которые имею пробел в ссылке, устанавливает ответ сервера 404.
<?php
add_action( 'pre_handle_404', function ( $false, $wp_query ) {
// если ярлык страницы содержит пробел...
$url = empty( $wp_query->query['pagename'] ) ? '' : $wp_query->query['pagename'];
if ( $url && strpos( $url, '%20' ) !== false ) {
$wp_query->set_404();
status_header( 404 );
nocache_headers();
@campusboy87
campusboy87 / cpt_service.php
Last active November 10, 2017 20:43
Регистрация CPT, удаление из ссылок имя CPT и переадресация при попытке запросить CPT по дефолтному адресу.
<?php
// Делает перенаправление, если открыть страницу CTP (кроме архивной) по дефолтному адресу.
if ( preg_match( '~/services/.+~', $_SERVER[ 'REQUEST_URI' ] ) ) {
$url = str_replace( '/services/', '/', $_SERVER[ 'REQUEST_URI' ] );
wp_redirect( $url, 301 );
exit();
}
add_filter( 'post_type_link', 'cpt_service_remove_slug', 10, 2 );
@campusboy87
campusboy87 / simple-ajax-form.php
Created December 1, 2017 19:18
Форма обратной связи. Пример на основе использования плагина AJAX Simply
<?php
/*
Plugin Name: Simple Ajax Form
Plugin URI: http://URI_Of_Page_Describing_Plugin_and_Updates
Description: A brief description of the Plugin.
Version: 1.0
Author: campusboy
Author https://wp-plus.ru
License: MIT
*/
@campusboy87
campusboy87 / acf_add_quick_tabs.php
Last active December 18, 2017 07:24
Быстрые ссылки на основе табов ACF (Advanced Custom Fields).
<?php
/**
* Добавляем стили в админку для ACF
* Добавляем функцию создание быстрых ссылок для вкладок на странице редактирования групп полей
*/
add_action( 'current_screen', function( $current_screen ) {
if ( 'acf-field-group' == $current_screen->post_type && 'post' == $current_screen->base ) {
add_action( 'admin_head', 'acf_add_quick_tabs' );
}
@campusboy87
campusboy87 / insert_parse_post.php
Created October 8, 2017 14:32
Публикует спаршенную запись c проверкой, есть ли подобная запись в БД по уникальному ключу
<?php
/**
* Проверяет наличие метаполя поста с заданным занчением
*
* @param string $url уникальное значение для поста, к примеру путь будет url спаршенной статьи
*
* @return bool
*/
function is_unique_meta_parse_post( $url ) {