Начална » WordPress » 15 Полезни функции на WordPress Всички програмисти трябва да знаят

    15 Полезни функции на WordPress Всички програмисти трябва да знаят

    WordPress е пълен с големи функции за нас, които разработчиците използват. Можем да изтегляме пощенските списъци от нищото, да манипулираме почти всичко за тях, да грабнем всеки потребител, който желаем, и да показваме връзките им със социалните медии за миг.

    Има обаче доста функции, които изглежда се пренебрегват по неизвестни причини. Аз бях кодиране с WordPress за около 8 години и понякога все още намирам нещо ново! Нека да разгледаме някои от моите любими пропуснати функции и се научете как да ги използвате по пътя.

    antispambot ()

    Обикновено повдигам няколко вежди с тази, изглежда, че това е една от най-добре скритите функции в кодовата база.. antispambot () заменя символи с HTML единици, което е един от начините за това маскирайте имейл адресите от зли стъргалки.

     $ email = '[email protected]'; echo "Можете да се свържете с мен на адрес". antispambot ($ email). „по всяко време“. 

    Макар това да е полезно, той също е пример за това, защо някои хора критикуват WordPress - това е ужасно назована функция. От четенето на името на функцията нямате представа какво прави.

    human_time_diff ()

    Когато за първи път научих за тази функция преди около година, си мислех, че трябва да е било неотдавнашно допълнение, което съм пренебрегнал в списъка с промени. Не точно…

    Тази функция - която извежда разликата между две времеви марки - е от версия 1.5 (това е 17 февруари, 2018!).

    Следният голям фрагмент, който взех от кодекса, показва колко отдавна е публикувана текущата публикация. Той използва датата на публикуване на публикацията като първи аргумент и текущата дата като втора.

     echo "Тази публикация бе публикувана". human_time_diff (get_the_time ('U'), текущо време ('timestamp')). 'преди'; 

    get_post_meta ()

    Поемете с мен тук, знам, че това е добре използвана функция, обаче, как работи тя не е толкова общоизвестна. Първо, като пропускате втория и третия параметър, можете дръпнете всички метаданни за публикация.

     $ all_meta = get_post_meta (14); 

    Дори и само да вземете данните за един ключ, всички postmeta се изтеглят така или иначе.

    Причината всъщност е доста логична. Метаданните се използват на няколко места. ако get_post_meta () запитва базата данни всеки път, когато е била използвана, ще свършим с твърде много запитвания. Вместо това, ако издърпате метаданни, той кешира всичко и използва кешираните стойности за всички следващи извличания на метаданни.

    wp_upload_bits ()

    Тази функция е права функция за качване на файлове. Макар да не премества файла в папката за качване и да го добавя към медийния раздел на WordPress, той е изключително удобен и винаги можете да свършите останалото с wp_insert_attachment () функция.

     $ upload = wp_upload_bits ($ file ['name'], null, file_get_contents ($ file ['tmp_name'])); 

    За това има известно обяснение: първият параметър е името на файла. Вторият се амортизира, така че трябва да бъде настроен на нула (eyeroll в WordPress последователност). Третият параметър е действителното съдържание на файла.

    get_post_field ()

    В миналото видях доста примери, когато някой е написал цикъл, за да получи коментар за публикация, или е написал специална заявка за база данни. Вие не се нуждаете от тях, това, от което имате нужда, е get_post_field (). Тази функция извлича стойността на едно поле за една публикация в базата данни. Нека вземем броя на коментарите!

     Тази публикация има  коментари. 

    wpautop ()

    Тази функция излезе в светлината на прожекторите малко, но тя все още е сравнително неизвестна. Той е подобен на PHP родния nl2br но вместо да създава нови линии, то обвива съдържанието ви в параграфи.

    Това е полезно, ако имате текстово поле и искате да сте сигурни, че когато потребителите създават абзаци с двойни прекъсвания на редове, те остават видими и в предния край,.

     

    Какво казват нашите потребители

    wp_is_mobile ()

    Тази подходящо наречена функция открива, когато потребителят е на мобилно устройство и ви позволява да показвате съответно съдържание. Тъй като това е условен маркер, той връща true или false в зависимост от сценария.

      Посетете нашия уебсайт на работния плот за по-богат потребителски опит  

    wp_redirect ()

    Последният пример показва друга чиста функция: wp_redirect (). Това трябва да се използва вместо родния PHP глава () функция. Функцията за пренасочване на WordPress ви позволява задайте URL адрес за пренасочване и задайте код за състояние, чудесно за справяне с постоянни пренасочвания.

     // За URL адрес, който вече не се използва wp_redirect ('http://website.com/new-url/', 301); 

    paginate_links ()

    Обзалагам се, че тази функция дължи своята неизвестност отчасти на популярността на WP-PageNavi плъгина. По подразбиране WordPress показва предишните / следващите връзки в края на списъка ви за публикации. WP-PageNavi това се заменя с номера на страници.

    Това всъщност може да бъде направено с малко работа с помощта на paginate_links () функции. Има няколко параметъра, затова ви препоръчвам да погледнете документацията.

    Следният пример от codex показва как можете да го добавите към подразбиращия се цикъл, но добавянето му към персонализирани контури не е много голямо.

     global $ wp_query; $ big = 999999999; // се нуждаят от малко вероятно echo paginate_links (масив ('base' => str_replace ($ big, '% #%', esc_url (get_pagenum_link ($ big))), 'format' => '? paged =% #%' , 'current' => max (1, get_query_var ('paged')), 'total' => $ wp_query-> max_num_pages));

    wp_die ()

    Тази функция допълва PHP умрат () функция. Разликата е, че тази функция ще покаже HTML в стил WordPress вместо обикновен текст. Можете да използвате тази функция, за да спрете изпълнението на PHP. Можете да добавите съобщението, заглавието и допълнителните аргументи, които да се показват, например:

     wp_die ("Ами сега, нямате достъп до", "Разрешението е отказано"); 

    has_block ()

    Във версия 5.0 WordPress представи блоков редактор, с кодово име Гутенберг. Тази функция ще определи дали съдържанието съдържа Gutenberg, съвсем същото с has_shortcode () функция. Ще се върне вярно ако съдържанието съдържа блок или фалшив ако не е така.

    wp_set_script_translations ()

    Тъй като много част от потребителския интерфейс на WordPress ще се премести в JavaScript, той се нуждае от удобен начин за регистриране на преведени текстове в JavaScript, които WordPress може да разбере и разбере. Използвайте тази функция, за да зададете преведени низове за вашите скриптове. По-долу е даден пример:

    wp_enqueue_script ('my-script', plugins_url ('js / my-script.js', __FILE__)); wp_set_script_translations ('my-script', 'mu-text-domain');

    register_block_type ()

    Друга важна функция в WordPress 5.0. Тази функция ви позволява да регистрирате нов блок в новия WordPress редактор. Блокът ви ще се появи в новия редактор и ще го вмъкне .

    register_block_type ('my-plugin / new-block', array ('title' => 'Нов блок', 'икона' => 'мегафон', 'категория' => 'джаджи', 'render_callback' => 'render_function_callback' ,));

    rest_do_request ()

    Тази функция ви позволява да осъществите повикване до крайните точки на WordPress REST чрез PHP. Много е полезно, когато трябва да извлечете изход от REST API, за да обработвате, че ще обработвате по-нататък в PHP страницата, вместо в браузъра (предния край).

    $ request = new WP_REST_Request ('GET', "/ wp / v2 / posts"); $ request-> set_header ('X-WP-Nonce', wp_create_nonce ('wp_rest')); $ response = rest_do_request ($ request); $ data = 200 === $ response-> get_status ()? $ response-> get_data (): [];

    rest_preload_api_request ()

    При изграждането на тежки интерфейси на JavaScript в WordPress обикновено е необходим набор от първоначални данни, заредени в страницата. Това е функцията, която ще ви позволи да го направите. Тази функция е предназначена за използване във връзка с array_reduce, например.

     // Предварително зареждане на общи данни. $ preload_paths = array ('/', '/ wp / v2 / types? context = edit', '/ wp / v2 / taxonomies? per_page = -1 & context = edit', '/ wp / v2 / themes? status = active' ,); preload_data = array_reduce ($ preload_paths, 'rest_preload_api_request', масив ()); wp_add_inline_script ('wp-api-fetch', sprintf ('wp.apiFetch.use (wp.apiFetch.createPreloadingMiddleware (% s));', wp_json_encode ($ preload_data)), 'after'); 

    заключение

    Това са само някои функции, които изглеждат по-малко известни от останалите. Откривам една нова функция за всеки два месеца и съм сигурна, че моите приятели на разработчиците могат да ни изненадат още повече.

    Ако имате любима неясна функция или функция, която би била полезна, но не е налична, уведомете ни в коментарите!