Intereting Posts
Как удалить пользовательские полевые предложения из раскрывающегося списка Как сделать несколько зависимых полей ввода, которые используют функцию автозаполнения jquery? Как отобразить биографию пользователя (а не автора или зарегистрированного пользователя) Правильный способ создания таксономических запросов Получить пользовательский URL для пользовательской таксономии Пользовательская панель инструментов WordPress для конкретной роли пользователя Как использовать jQuery UI в моем плагине Запросы виджета, даже если нет боковых панелей? Как запрашивать сообщения (в иерархическом пользовательском типе сообщений), в которых есть дети? Помощь WordPress Git Workflow Показывать поля комментариев в двух столбцах update_post_meta не работает в save_post Внутренняя ссылка на постоянную ссылку на сообщения не работает из-за пробелов и полосок при имени Как я могу сделать перевод «Оставить комментарий»? Добавление wp_editor в пользовательский обмен

Как вызвать внешние функции из PHP-скрипта в плагине WordPress?

Я начинающий WordPress, и я пытался разработать плагины, но я не знаю, как вызывать внешние функции в плагине WordPress. Например, у меня есть внешний PHP-скрипт под названием download.php, в котором есть несколько функций. Чтобы включить этот файл, я вызываю require_once (download.php); , но тогда я не знаю, как вызвать функции в download.php. Например, я хочу вызвать функцию download ($filename, $time, $ban_user) , где: $ filename – путь к файлу, $ time – от 1 до 60 минут, $ ban_user – это запрет пользователя. Для этого я закодировал

 add_shortcode ('dloader', 'download_file'); function download_file ($atts){ // I don't know how to code continued here // } 

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


 add_shortcode( 'dloader', 'download_file' ); // generate shortcode [dloader filename="http://google.com"] // the result is <a href="http://myweb.com/123456abc/">Download</a> // where: 123456abc is the crypted parameter for the url http://google.com function download_file( $atts, $content = null ) { require_once ( 'download.php' ); // the original function: download ( $filename, $time, $ban_user ) { } extract( shortcode_atts( array( 'filename' => '', 'time' => '', 'ban_user' => '', ), $atts ) ); if ( empty( $filename ) ) { return 'ERROR'; } if ( empty( $time ) ) { $time = 60; } if ( empty( $ban_user ) ) { $ban_user = 0; } // value 0 is default, not banned $default = '<div class="dloader">'; //execute the function download() in the file download.php $default .= '<a href="' .download( $filename, $time, $ban_user ). '">Download</a>'; return $default; } 

Solutions Collecting From Web of "Как вызвать внешние функции из PHP-скрипта в плагине WordPress?"

Обычно мы используем короткие коды, когда нам нужно что-то делать в сообщениях и страницах WordPress. Хотя они также могут использоваться в других местах. Предполагая, что вы знаете, как использовать короткие коды здесь, вы можете захотеть:

 <?php /** * Plugin Name: Learning To Code WordPress */ defined('ABSPATH') or die("No script kiddies please!"); require_once ( dirname(__FILE__) . "/download.php"); add_shortcode ('dloader', 'download_file'); function download_file($atts) { /* Default filename. */ $default['filename'] = 'defaultFileName.txt'; /* Default time. */ $default['time'] = 0; /* Default user id. */ $default['ban_user_id'] = 1; $atts = shortcode_atts( $default , $atts, 'dloader' ); $filename = $atts['filename']; $time = $atts['time']; $ban_user_id = $atts['ban_user_id']; return download($filename, $time, $ban_user_id); } 

Теперь используйте короткий код в сообщении или странице, например:

 [dloader filename="abc.txt" time=10 ban_user_id=1]