我正在一个客户网站上创建一个“当前空缺”功能,并且正在一个领域上苦苦挣扎。我想从参考号而不是帖子标题生成一个slug。这个,我已经准备好了。但是,如果没有输入参考号,我想让Wordpress从dechex(time())
. 然后我想让生成的引用变成slug,but only if the meta field is empty.
以下是我目前掌握的代码:
add_action(\'save_post\', \'ocp_jobs_save_details\');
function ocp_jobs_save_details(){
global $post;
update_post_meta($post->ID, "ocp_jobs_ref", $post->post_name);
// Other update_post_meta functions for other meta fields
}
add_filter( \'wp_insert_post_data\', \'ocp_jobs_slug\' );
function ocp_jobs_slug( $data ) {
if( \'job\' == $data[\'post_type\'] ) {
if ( $_POST[\'ocp_jobs_ref\'] ) { $data[\'post_name\'] = sanitize_title( $_POST[\'ocp_jobs_ref\'] ); }
else { $data[\'post_name\'] = sanitize_title( dechex( time() ) ); }
} else { }
return $data;
}
到目前为止,我有以下几点:我的dechex(time())
正在生成参考号post_name.ocp_jobs_ref 引用没有优先于dechex(time())
参考仅当我没有手动输入参考号时,才应使用生成的编号。我想wp_insert_post_data
钩子甚至在我发布之前就可以工作,所以参考号会自动生成和添加,从而使提交的编号变得多余。
有什么帮助吗?