如何获取自定义字段值的摘录?

时间:2013-06-26 06:25:34

标签: php wordpress custom-fields

在我的WordPress网站上,我有一个自定义字段,我想将帖子的摘录添加到自定义字段值中。

我的代码:

function mk_set_default_custom_fields($post_id)
{
if ( $_GET['post_type'] != 'page' ) {
    add_post_meta($post_id, 'key', 'value');

}

return true;
}

点击发布按钮后,如何将帖子的摘录放入add_post_meta值?

4 个答案:

答案 0 :(得分:0)

您可以使用$post对象,并借助它可以将value设置为

$post->post_excerpt

仅供参考其他可用选项

$post->post_author
$post->post_date
$post->post_date_gmt
$post->post_content
$post->post_content_filtered
$post->post_title
$post->post_excerpt
$post->post_status
$post->post_type
$post->comment_status
$post->ping_status
$post->post_password
$post->post_name
$post->to_ping
$post->pinged
$post->post_modified
$post->post_modified_gmt
$post->post_parent
$post->menu_order
$post->guid

答案 1 :(得分:0)

将数组放在functions.php

中所需的自定义帖子中
$args = array(
      'supports' => array('title','editor','author','excerpt') // by writing these lines an custom field  has been added to CMS
  );

用于前端检索

echo $post->post_excerpt; // this will return you the excerpt of the current post

答案 2 :(得分:0)

我不确定您为什么要这样做,因为这会导致您的内容重复。但是,看起来您的函数已挂钩到save_post。如果是这种情况,您可以从$_POST['post_except']变量获取except。只是不要假设将始终设置该变量,因为在几种不同情况下调用save_post

答案 3 :(得分:0)

functions.php

中添加此内容
add_action( 'save_post', 'my_custom_field_save' );
function my_custom_field_save( $post_id )
{
    if ( $_POST['post_type'] == 'post' ) {
        add_post_meta($post_id, 'custom_excerpt_field', get_the_excerpt($post_id), true);
    }
}

每次添加/更新帖子时,这将save/update自定义字段(custom_excerpt_field)。 在前端,要获取自定义字段,请使用(在内部循环时)

$custom_excerpt_field_data = get_post_meta(get_the_ID(), 'custom_excerpt_field', true);

使用它(当在循环之外时)

global $post;
$custom_excerpt_field_data = get_post_meta($post->ID, 'custom_excerpt_field', true);