在我的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
值?
答案 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);