Php Wordpress自定义帖子类型-自定义字段

Php Wordpress自定义帖子类型-自定义字段,php,wordpress,Php,Wordpress,我正在创建一个自定义主题,并向其中添加了一些自定义帖子类型。对于每种自定义帖子类型,我需要在每一节中创建新帖子时选择一组特定的自定义字段 例如,我有一个自定义的post类型“Motors”,用于显示汽车的细节。每次我添加一辆新车时,我必须手动选择同一组自定义字段并填写它们(里程、燃油类型、颜色等) 是否可以为使用Wordpress自定义字段的自定义帖子类型创建自定义元框?我可以让它自动列出我经常选择的5个左右的自定义字段,并在发布前要求我为每个字段输入一个值吗?是的,这是可能的。我建议使用高级自

我正在创建一个自定义主题,并向其中添加了一些自定义帖子类型。对于每种自定义帖子类型,我需要在每一节中创建新帖子时选择一组特定的自定义字段

例如,我有一个自定义的post类型“Motors”,用于显示汽车的细节。每次我添加一辆新车时,我必须手动选择同一组自定义字段并填写它们(里程、燃油类型、颜色等)


是否可以为使用Wordpress自定义字段的自定义帖子类型创建自定义元框?我可以让它自动列出我经常选择的5个左右的自定义字段,并在发布前要求我为每个字段输入一个值吗?

是的,这是可能的。我建议使用高级自定义字段插件


这就是WordPress自定义字段的本质。它允许您将任意数量的自定义字段(包括文本、文本区域、图像等)添加到特定的帖子类型、页面类型等,非常适合您所描述的内容

是的,这是可能的。我建议使用高级自定义字段插件


这就是WordPress自定义字段的本质。它允许您将任意数量的自定义字段(包括文本、文本区域、图像等)添加到特定的帖子类型、页面类型等,非常适合您所描述的内容

试试下面的代码。它将添加一个文本框,允许输入将在帖子中显示的图像url。使用下面的代码并相应地更改您的帖子类型。您还可以选择任意数量的字段

add_action('admin_init','add_metabox_post_banner_image_widget');
add_action('save_post','save_metabox_post_banner_image_widget');

/*
* Funtion to add a meta box to enable banner image widget on posts.
*/
function add_metabox_post_banner_image_widget()
{
  add_meta_box("banner_image", "Enable Banner Image", "enable_post_banner_image_widget", "post", "normal", "high"); /* replace "post" with your custom post value(eg: "motors") */
}

function enable_post_banner_image_widget(){
 global $post;

 $image=get_post_custom($post->ID );
//print_r($image);

 $banner_image_src = $image['post_banner_image_src'][0];

?>

<label for="post_banner_image_src">Banner Image Url:</label>
<input type="text" name="post_banner_image_src" id="post_banner_image_src" value="<?php if($banner_image_src!=''){echo $banner_image_src; } ?>" >
<p><em>Example: https://website.com/wp-content/uploads/2016/06/google.jpg</em></p>

<?php
}

/*
* Save the meta box value of banner image widget on posts.
*/
function save_metabox_post_banner_image_widget($post_id)
{
// Bail if we're doing an auto save
if( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;

// if our current user can't edit this post, bail
if( !current_user_can( 'edit_post' ) ) return;

$banner_image_src = isset($_POST['post_banner_image_src']) ? $_POST['post_banner_image_src']:'';

update_post_meta( $post_id, 'post_banner_image_src', $banner_image_src );

}
add_action('admin_init','add_metabox_post_banner_image_widget');
添加操作('save_post','save_metabox_post_banner_image_widget');
/*
*功能添加一个元框,以便在帖子上启用横幅图像小部件。
*/
函数add_metabox_post_banner_image_widget()
{
添加“\u meta\u”框(“横幅图像”、“启用横幅图像”、“启用横幅图像”窗口小部件”、“发布”、“正常”、“高”);/*将“发布”替换为自定义发布值(例如:“电机”)*/
}
功能启用\发布\横幅\图像\小部件(){
全球$员额;
$image=get\u post\u custom($post->ID);
//打印(图像);
$banner_image_src=$image['post_banner_image_src'][0];
?>
横幅图像Url:

尝试下面的代码。它将添加一个文本框,允许输入将在帖子中显示的图像url。使用下面的代码并相应地更改帖子类型。您还可以选择任意数量的字段

add_action('admin_init','add_metabox_post_banner_image_widget');
add_action('save_post','save_metabox_post_banner_image_widget');

/*
* Funtion to add a meta box to enable banner image widget on posts.
*/
function add_metabox_post_banner_image_widget()
{
  add_meta_box("banner_image", "Enable Banner Image", "enable_post_banner_image_widget", "post", "normal", "high"); /* replace "post" with your custom post value(eg: "motors") */
}

function enable_post_banner_image_widget(){
 global $post;

 $image=get_post_custom($post->ID );
//print_r($image);

 $banner_image_src = $image['post_banner_image_src'][0];

?>

<label for="post_banner_image_src">Banner Image Url:</label>
<input type="text" name="post_banner_image_src" id="post_banner_image_src" value="<?php if($banner_image_src!=''){echo $banner_image_src; } ?>" >
<p><em>Example: https://website.com/wp-content/uploads/2016/06/google.jpg</em></p>

<?php
}

/*
* Save the meta box value of banner image widget on posts.
*/
function save_metabox_post_banner_image_widget($post_id)
{
// Bail if we're doing an auto save
if( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;

// if our current user can't edit this post, bail
if( !current_user_can( 'edit_post' ) ) return;

$banner_image_src = isset($_POST['post_banner_image_src']) ? $_POST['post_banner_image_src']:'';

update_post_meta( $post_id, 'post_banner_image_src', $banner_image_src );

}
add_action('admin_init','add_metabox_post_banner_image_widget');
添加操作('save_post','save_metabox_post_banner_image_widget');
/*
*功能添加一个元框,以便在帖子上启用横幅图像小部件。
*/
函数add_metabox_post_banner_image_widget()
{
添加“\u meta\u”框(“横幅图像”、“启用横幅图像”、“启用横幅图像”窗口小部件”、“发布”、“正常”、“高”);/*将“发布”替换为自定义发布值(例如:“电机”)*/
}
功能启用\发布\横幅\图像\小部件(){
全球$员额;
$image=get\u post\u custom($post->ID);
//打印(图像);
$banner_image_src=$image['post_banner_image_src'][0];
?>
横幅图像Url:

完美!我希望不使用插件就可以做到这一点,这是插件太好了,我不使用它是愚蠢的。谢谢。是的,我尽量避免使用插件,但这对于大多数情况来说是理想的。很高兴我能帮上忙!完美!我希望不使用插件就可以做到这一点,这是插件太好了,我不使用它是愚蠢的。谢谢。是的,我尽量避免使用插件,但这在大多数情况下都是理想的。很高兴我能提供帮助!这篇文章应该包含您正在寻找的内容:这篇文章应该包含您正在寻找的内容: