Insert PHP code In WordPress Page and Post

后端 未结 4 438
栀梦
栀梦 2020-11-28 07:15

I want to know Visitor country using PHP and display it in to a WordPress Page.But when I add PHP code in WordPress page or Post it give me error. How can we add PHP code in

相关标签:
4条回答
  • 2020-11-28 07:55

    WordPress does not execute PHP in post/page content by default unless it has a shortcode.

    The quickest and easiest way to do this is to use a plugin that allows you to run PHP embedded in post content.

    There are two other "quick and easy" ways to accomplish it without a plugin:

    • Make it a shortcode (put it in functions.php and have it echo the country name) which is very easy - see here: Shortcode API at WP Codex

    • Put it in a template file - make a custom template for that page based on your default page template and add the PHP into the template file rather than the post content: Custom Page Templates

    0 讨论(0)
  • 2020-11-28 07:55

    Description:

    there are 3 steps to run PHP code inside post or page.

    1. In functions.php file (in your theme) add new function

    2. In functions.php file (in your theme) register new shortcode which call your function:

    add_shortcode( 'SHORCODE_NAME', 'FUNCTION_NAME' );
    
    1. use your new shortcode

    Example #1: just display text.

    In functions:

    function simple_function_1() {
        return "Hello World!";
    }
    
    add_shortcode( 'own_shortcode1', 'simple_function_1' );
    

    In post/page:

    [own_shortcode1]
    

    Effect:

    Hello World!
    

    Example #2: use for loop.

    In functions:

    function simple_function_2() {
        $output = "";
        
        for ($number = 1; $number < 10; $number++) {    
            // Append numbers to the string
            $output .= "$number<br>";
        } 
        
        return "$output";
    }
    
    add_shortcode( 'own_shortcode2', 'simple_function_2' );
    

    In post/page:

    [own_shortcode2]
    

    Effect:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    

    Example #3: use shortcode with arguments

    In functions:

    function simple_function_3($name) {
        return "Hello $name";
    }
    
    add_shortcode( 'own_shortcode3', 'simple_function_3' );
    

    In post/page:

    [own_shortcode3 name="John"]
    

    Effect:

    Hello John
    

    Example #3 - without passing arguments

    In post/page:

    [own_shortcode3]
    

    Effect:

    Hello 
    
    0 讨论(0)
  • 2020-11-28 08:04

    When I was trying to accomplish something very similar, I ended up doing something along these lines:

    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
        }
    }
    
    0 讨论(0)
  • 2020-11-28 08:13

    You can't use PHP in the WordPress back-end Page editor. Maybe with a plugin you can, but not out of the box.

    The easiest solution for this is creating a shortcode. Then you can use something like this

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

    See the Shortcode_API.

    0 讨论(0)
提交回复
热议问题