将URL从POST_CONTENT复制到自定义字段

时间:2013-09-21 作者:Alex

我是MySQL新手,所以我不知道这是否可行。

我想将post\\u内容中的url复制到自定义字段。url是可变的,如下所示:

[audio:http://www.website.com/folder/file.mp3]
是否可以只复制url(http://www.website.com/folder/file.mp3) 到自定义字段?

我尝试了不同的方法,但由于我并不总是了解如何查询MySQL,所以我没有运气。

谢谢

1 个回复
SO网友:Jacob Raccuia

你需要做的是运行一个函数,当点击帖子上的“更新”按钮时会触发该函数。

我不能保证我隔离短代码的尝试是成功的,(我不太擅长这方面),但你肯定明白了!

add_action(\'save_post\', \'save_details\');
function save_details() {
    global $post;

    if(get_post_type($post->ID) == \'your_custom_post_type\') {
      if(stripos($post->post_content, \'[audio:http://\') !== false) { // if shortcode exists
        $content = $post->post_content;

        //first position of shortcode
        $p1 = stripos($content, \'[audio:http://\');

        // strip code from before the shortcode.
        $content = substr($content, $p1);

        //find when end of the shortcode starts
        $p2 = stripos($content, \'.mp3]\');
        $p2 = $p2 + 5;  // add five to get where it ends.

        //get full shortcode
        $content = substr($content, 0, $p2);

        // save shortcode to meta field
        update_post_meta($post->ID, \'custom_field_name\', $content);
    }
   }
}
如果你有任何麻烦,请告诉我!

结束

相关推荐

对wp数据库的MySQL查询帮助不大

@t31os 对以下内容做出了非常有益的回应:getting all values for a custom field key (cross-post) 通过提供此功能if ( ! function_exists( \'get_meta_values\' ) ) { function get_meta_values( $key = \'\', $type = \'post\', $status = \'publish\' ) { global $wpdb; if(