我想停止从我的帖子内容中删除

时间:2011-02-17 作者:Maulik Vora

我已经为我的网站安装了wordpress。我正在尝试使用函数插入帖子wp_insert_post() 来自我自制的脚本。

content of my post contains video-embed code of google.
<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/-T9omX2XD2s?fs=1&hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/-T9omX2XD2s?fs=1&hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object>
当我运行脚本在我的帖子中插入此内容时,出乎意料的是,这段代码被从帖子中删除了。

我上网和wordpress论坛,我发现这是wordpress的一个安全功能。

我想从我自己的wordpress站点中删除此安全功能。那么我应该怎么做才能退出这个剥离功能呢?这样我就可以添加上面的html代码作为帖子的内容。

请给我一个函数名,它从我的内容中删除了这些代码,这样我就可以停止它的工作。

我的完整代码。

<?php
require(\'./wp-blog-header.php\');
$contactObject[\'postTitle\'] = $_POST[\'post_title\'];
$contactObject[\'videoCode\'] = $_POST[\'videoCode\'];
$contactObject[\'description\'] = $_POST[\'description\'];
$categoryIds = $_POST[\'categories\'];

insertPosts($contactObjects,$categoryIds);

function insertPosts($contactObjects,$categoryIds)
{

        $videoCode = $contactObject[\'videoCode\'];
        $videoEmbedCode = \'<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/\'.$videoCode.\'?fs=1&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/\'.$videoCode.\'?fs=1&amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object>\';

        $content = \'\';
        if($contactObject[\'description\'] != \'\')
        {
                $content .= \'<p>\'.$contactObject[\'description\'].\'</p></br>\';
        }
        $content .= $videoEmbedCode;

        // Create post object
        $my_post = array(
                 \'post_title\' => $contactObject[\'postTitle\'],
                 \'post_content\' => $content,
                 \'post_status\' => \'publish\',
                 \'post_author\' => 1,
                 \'post_category\' => $categoryIds,

        );

        // Insert the post into the database
        $postId = wp_insert_post( $my_post );
}
?>

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

我只是猜测,但听起来你的插入方法被WordPress的一个过滤函数绊倒了(例如。wp_filter_kses). 如果您需要更准确的答案,请更新您的问题,以包含您用于插入帖子内容的一些代码。

结束

相关推荐

Displaying oEmbed errors?

有时,通过oEmbed嵌入项目是不可能的,例如,当YouTube视频已禁用嵌入时。The oEmbed service will return a 401 Unauthorized, 并且不会转换代码。有没有办法通知用户这一点?当前的工作流是非直观的(至少对我来说),我更喜欢在WordPress页面上,或者更好的是,在编辑器中显示一条消息,说明对象无法嵌入。