我有自定义的帖子类型和一些元字段。我有一个选择字段“发布”来更改帖子状态。如果我将其设置为“是”,然后单击“更新”按钮,则发布帖子;如果我将其设置为“否”,则帖子应另存为“草稿”。你可以看到我自定义帖子类型的截图-
我应该在中使用什么代码add_action( \'save_post\',\'save_my_data\')
. 或任何其他想法。?
我有自定义的帖子类型和一些元字段。我有一个选择字段“发布”来更改帖子状态。如果我将其设置为“是”,然后单击“更新”按钮,则发布帖子;如果我将其设置为“否”,则帖子应另存为“草稿”。你可以看到我自定义帖子类型的截图-
我应该在中使用什么代码add_action( \'save_post\',\'save_my_data\')
. 或任何其他想法。?
如果我理解正确,您想使用自己的选择表单来更新帖子的发布状态,而不是发布/取消发布按钮?像这样的东西可以做到这一点:
function save_my_data($post_id){
if($_POST[\'publish\'] == \'yes\' && get_post_status($post_id) != \'publish\'){ //whatever your post variable is
remove_action(\'save_post\', \'save_my_data\'); //if you don\'t unhook the function you\'ll have an infinite loop
wp_publish_post($post_id);
add_action(\'save_post\', \'save_my_data\'); //rehook the function
}
if($_POST[\'publish\']) == \'no\' && get_post_status($post_id) == \'publish\'){
remove_action(\'save_post\', \'save_my_data\'); //if you don\'t unhook the function you\'ll have an infinite loop
wp_update_post(array(
\'ID\' => $post_id,
\'post_status\' => \'draft\'
));
add_action(\'save_post\', \'save_my_data\'); //rehook the function
}
}
您可能希望添加一些错误处理并对其进行一些优化。您可能还需要说明此处列出的其他帖子状态:http://codex.wordpress.org/Post_Status#Default_Statuses这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在