我正在使用插件使用短代码抓取亚马逊产品图片的WordPress网站。
您只需将书籍的asin插入短代码中,如下所示:
[amazon template=image&asin=B00FYY53B8]
当帖子加载时,使用来自amazon的URL将短代码转换为实际图像HTML ....所以上面的例子将返回
http://ecx.images-amazon.com/images/I/71kIifYTccL._SL1500_.jpg
我正在使用另一个自定义插件来构建帖子的内容,到目前为止,我只是使用此短代码作为帖子内容的一部分。我想做一些其他的事情,比如设置特色图片等,并且需要该URL。
我试过
echo do_shortcode( '[amazon template=image&asin=B00FYY53B8]' );
但它不会返回任何东西。有没有办法在插件中“执行”短代码并保存输出?
最终,我还希望扩展此功能,以便我可以用其HTML输出替换其他/旧的短代码,并将其保存回帖子,基本上消除了在帖子中使用某些短代码。
答案 0 :(得分:0)
我有一个在wordpress中添加短代码的演示。我希望它有所帮助。
add_action('plugins_loaded','MOD_load');
function MOD_load() {
short_enable_form();
}
function short_enable_form(){
if(!function_exists('add_shortcode')) {
return;
}
add_shortcode('form_mod' , array(&$this, 'out_put_form'));
}
public function out_put_form(){
return 'HTML TEXT';
}
答案 1 :(得分:0)
您可以将此代码包含在functions.php中。然后在content-singular.php或主题中的类似文件中调用此函数。
function updatesc_database( $post ) {
if ( empty($post) ) global $post;
if ( empty($post) || ! isset($post->post_content) ) return false;
$content = $post->post_content;
$shortc1="amazon template=image&asin";
$shortc2="B00FYY53B8]"; //insert the number variable here
$shortwh=$shortc1.$shortc2;
$replace = do_shortcode($shortwh);
$content = str_replace( $shortwh, $replace, $content );
return $content;
}