WordPress 4.8.1 php获得评论

时间:2017-09-14 作者:An intern has no name

您可能知道,当使用<?php 标签,它会自动得到WordPress的评论。有许多著名的插件可以绕过这一点,例如“插入PHP”,但它们在WordPress 4.8.1上不起作用(我测试了一些不推荐的插件)。

有人知道如何使用<?php 是否在WordPress 4.8.1中正确标记?

3 个回复
最合适的回答,由SO网友:Johansson 整理而成

正如我在评论中提到的,您不应该也不能在内容中使用代码。您使用的任何代码标记都将被转义。

相反,请定义shortcode 在您的主题中functions.php 文件并在内容中使用。让我们一起创建一个简单的短代码:

function create_shortcode( $atts ) {
    // Create a default value for the attributes
    $atts = shortcode_atts( 
        array(
            \'parameter\' => \'default value\',
        ), 
        $atts, 
        \'my-shortcode\' 
    );

    // Add your functions here and return the value.
    // The value can be anything, including a full
    // HTML code or a form.
    return "value = {$atts[\'paremeter\']}";
}
add_shortcode( \'my-shortcode\', \'create_shortcode\' );
现在,通过使用[my-shortcode parameter="sample"] 在您的内容中,您可以输出value = sample. 用您想要的任何东西替换短代码中的代码,在您的情况下,这是一个HTML表单。

SO网友:WebElaine

使用<?php 标记“正确”——意思是WordPress方式——意味着你不能在帖子内容中使用它。

您可以选择:

请改用短代码。这将允许您在post/page/CPT内容编辑器中执行预先编写的PHP。这些允许使用参数,并且可以非常动态。

使用自定义模板。在子主题中,有几种方法可以设置模板,模板本身将包含要执行的PHP。

您可以自动命名要使用的文件,例如page slug。php-将“slug”替换为页面的实际slug,这是永久链接的最后一部分。如果您有www.example。设置为页面时,您将创建一个名为“Page mypage.php”的文件,该文件将自动应用于该页面。对于帖子,请使用“Post mypage.php”等。

或者,您可以创建页面模板并手动选择它。例如,您可以创建“tpl fancy.php”,并在文件顶部添加注释,将其命名为fancy页面模板。然后,当您创建页面时,编辑器将有一个下拉菜单,允许您从列表中选择精美的页面模板。通过这种方式,您可以对多个页面使用相同的模板,并且根据您想要完成的内容,这可能比为每个单独的页面创建单独的模板更有效。

否则,您需要在模板的其他部分执行PHP。例如,如果您有一个widgetized边栏,您可以创建一个自定义PHP小部件并将其拖动到该区域中。如果需要自定义菜单,可以在相应的模板文件中创建该菜单。这完全取决于您想要执行哪种特定类型的PHP。

如果您能够使用有关要执行的代码的更具体细节来更新您的问题,社区可能会提出一些建议,建议您在不启用内容编辑器内直接执行PHP的情况下完成这项任务,因为这会带来安全风险。

SO网友:Rick Hellewell

虽然插件超出了WPhttps://wordpress.org/plugins/wp-exec-php/ 已经有一段时间没有更新了,在我使用它的几个站点上,它似乎与WP 4.8.1配合得很好。

(由于主持人不喜欢“意见”问题,预计会对此问题进行“否决票”或“暂缓”。)

Added

现在我想到了这一点,如果您允许任何人在帖子或页面中包含PHP代码,甚至使用短代码,可能会涉及到安全问题。考虑是否有恶意用户向“drop table”添加了带有SQL语句的PHP代码。或在页面上插入恶意代码。

最好先创建一个子主题,然后创建包含PHP代码的自定义模板。这样会更安全。

在我的情况下,我使用引用的PHP代码插件的站点完全在我的控制之下;我是唯一的作者。所以在我的例子中,安全风险被最小化了,但并没有完全消失。

结束

相关推荐

搜索格式.php无法正常工作

我做了一个搜索表单。php文件来定制我阅读时的搜索小部件,但当我使用搜索小部件时,它并不能很好地进行搜索,它会在我正在编写的分类页面中进行讽刺。我的代码有什么问题吗?<form role=\"search\" method=\"get\" id=\"searchform\" class=\"searchform\" action=\"<?php esc_url( home_url( \'/\' ) ); ?>\"> <div>