创建一个包含 PHP 的简码,用于 WordPress 帖子和页面

create a shortcode with a PHP include for use in WordPress posts and pages

我想知道是否有一种方法可以创建一个短代码以在 Wordpress 页面上的可视页面构建器中使用,这样我就可以将其用作 PHP 包含。我需要从名为 form.php 的文件中将一些 PHP 代码添加到我的页面中,可视化页面构建器只允许您添加 HTML。如果可能的话,我宁愿不使用插件。我需要使用此代码,但它无法识别它。

<?php include 'form.php';?>

当然 - 您可以使用一个短代码来接受一个参数(要包含的文件)并简单地输出其内容:

add_shortcode('include', 'include_php_file');
function include_php_file($atts=array(), $content='') {
    $atts = shortcode_atts(array(
        'file' => ''
    ), $atts);
    if(!$atts['file']) return ''; // needs a file name!
    $file_path = dirname(__FILE__).'/'.$atts['file']; // adjust your path here
    if(!file_exists($file_path)) return '';
    ob_start();
    include($file_path);
    $html = ob_get_contents();
    ob_end_clean();
    return $html;
}

希望对您有所帮助!

您还可以编辑该页面的模板并有条件地仅包含该 post 的文件。

是:

if( is_page('contact') include('path/to/file.php');

如果您需要在多个页面中显示该文件,请将数组传递给 is_page:

if( is_page( array( 'about-us', 'contact', 'management' ) ) 
     //either in about us, or contact, or management page is in view
     include('path/to/file.php');
else
     //none of the page about us, contact or management is in view