plugin - tags php wordpress
Insertar código PHP en la página y publicación de Wordpress (4)
Quiero saber País de visitantes usando PHP y mostrarlo en una página de WordPress. Pero cuando agrego el código de PHP en la página de WordPress o Publicarlo, denme el error. ¿Cómo podemos agregar código PHP en Wordpress Page y 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''];
Cuando estaba tratando de lograr algo muy similar, terminé haciendo algo en esta línea:
wp-content / themes / resources / 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
}
}
No puede usar PHP en el editor de páginas de fondo de WordPress. Tal vez con un plugin puedes, pero no de la caja.
La solución más fácil para esto es crear un código corto. Entonces puedes usar algo como esto
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'' );
Ver el Shortcode_API .
Puede crear una plantilla de página separada para esto o puede usar este complemento http://wordpress.org/plugins/exec-php/
crear una plantilla de página es una buena opción.
WordPress no ejecuta PHP en el contenido de la publicación / página de forma predeterminada a menos que tenga un código breve.
La forma más rápida y sencilla de hacerlo es usar un complemento que le permita ejecutar PHP incrustado en el contenido de la publicación.
Hay otras dos maneras "rápidas y fáciles" de lograrlo sin un complemento:
Conviértalo en un código corto (póngalo en
functions.php
y haga que repita el nombre del país), lo cual es muy fácil. Consulte aquí: API de código corto en WP CodexColóquelo en un archivo de plantilla : cree una plantilla personalizada para esa página según su plantilla de página predeterminada y agregue el PHP en el archivo de plantilla en lugar del contenido de la publicación: Plantillas de página personalizadas