it-swarm.com.de

Einfügen PHP Code In Wordpress-Seite und Post

Ich möchte das Besucherland mit PHP kennenlernen und in einer WordPress-Seite anzeigen. Aber wenn ich PHP Code in der WordPress-Seite oder in einem Post hinzufüge, gibt es einen Fehler . Wie können wir PHP Code in Wordpress Page und 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'];
32
Prince

WordPress führt PHP standardmäßig nicht in Post-/Seiteninhalten aus, es sei denn, es enthält einen Shortcode.

Der schnellste und einfachste Weg, dies zu tun, ist die Verwendung eines Plugins, mit dem Sie PHP in Postinhalte einbetten können.

Es gibt zwei weitere "schnelle und einfache" Möglichkeiten, dies ohne Plugin zu erreichen:

  • Mach einen Shortcode (füge ihn in functions.php ein und lass ihn den Ländernamen angeben), was sehr einfach ist - siehe hier: Shortcode-API unter WP Codex

  • In eine Vorlagendatei einfügen - Erstellen Sie basierend auf Ihrer Standardseitenvorlage eine benutzerdefinierte Vorlage für diese Seite, und fügen Sie PHP der Vorlagendatei statt dem Post-Inhalt hinzu: Benutzerdefinierte Seitenvorlagen

53
Ennui

Sie können PHP nicht im WordPress-Back-End-Seiteneditor verwenden. Vielleicht mit einem Plugin, aber nicht aus der Box.

Die einfachste Lösung hierfür ist das Erstellen eines Shortcodes. Dann kannst du so etwas verwenden

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' );

Siehe Shortcode_API .

12
Dinesh

Sie können hierfür eine eigene Seitenvorlage erstellen oder dieses Plugin verwenden http://wordpress.org/plugins/exec-php/

das Erstellen einer Seitenvorlage ist eine gute Option.

Als ich versuchte, etwas sehr Ähnliches zu erreichen, tat ich am Ende etwas in dieser Richtung:

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
    }
}
1
John Langford