Вставить PHP-код в WordPress Страница и сообщение

Я хочу знать страну посетителя, используя PHP и отображать ее на странице WordPress. Но когда я добавляю PHP-код на странице WordPress или Post, он дает мне ошибку. Как добавить PHP-код на странице WordPress и Post.

<?PHP try{ function visitor_country() { $client = @$_SERVER['HTTP_CLIENT_IP']; $forward = @$_SERVER['HTTP_X_FORWARDED_FOR']; $remote = $_SERVER['REMOTE_ADDR']; $result = "Unknown"; if(filter_var($client, FILTER_VALIDATE_IP)) { $ip = $client; } elseif(filter_var($forward, FILTER_VALIDATE_IP)) { $ip = $forward; } else { $ip = $remote; } $ip_data = @json_decode(file_get_contents("http://www.geoplugin.net/json.gp?ip=".$ip)); if($ip_data && $ip_data->geoplugin_countryName != null) { $result = array('ip'=>$ip, 'continentCode'=>$ip_data->geoplugin_continentCode, 'countryCode'=>$ip_data->geoplugin_countryCode, 'countryName'=>$ip_data->geoplugin_countryName, ); } return $result; } $visitor_details= visitor_country(); // Output Coutry name [Ex: United States] $country=$visitor_details['countryName']; 

WordPress не выполняет PHP в пост / содержание страницы по умолчанию, если у него нет короткого кода.

Самый быстрый и простой способ сделать это – использовать плагин, который позволяет запускать PHP, встроенный в почтовый контент.

Есть еще два «быстрых и простых» способа сделать это без плагина:

  • Сделайте его коротким кодом (поместите его в functions.php и повторите его название страны), что очень просто – см. Здесь: Shortcode API в WP Codex

  • Поместите его в файл шаблона – создайте собственный шаблон для этой страницы на основе шаблона страницы по умолчанию и добавьте PHP в файл шаблона, а не в почтовый контент: пользовательские шаблоны страниц

Вы не можете использовать PHP в редакторе страницы WordPress. Возможно, с плагином вы можете, но не из коробки.

Самое простое решение для этого – создать короткий код. Тогда вы можете использовать что-то вроде этого

 function input_func( $atts ) { extract( shortcode_atts( array( 'type' => 'text', 'name' => '', ), $atts ) ); return '<input name="' . $name . '" id="' . $name . '" value="' . (isset($_GET\['from'\]) && $_GET\['from'\] ? $_GET\['from'\] : '') . '" type="' . $type . '" />'; } add_shortcode( 'input', 'input_func' ); 

См. Shortcode_API .

Вы можете создать отдельный шаблон страницы для этого или вы можете использовать этот плагин http://wordpress.org/plugins/exec-php/

создание шаблона страницы – хороший вариант.

Когда я пытался сделать что-то очень похожее, я в конечном итоге сделал что-то в этом направлении:

WP-содержание / темы / ресурсы / functions.php

 add_action('init', 'my_php_function'); function my_php_function() { if (stripos($_SERVER['REQUEST_URI'], 'page-with-custom-php') !== false) { // add desired php code here } }