在保存 post 的同时在 wordpress 中获取自定义字段值,并将这些值保存在数据库中的不同 table 中
get custom fields value in wordpress while saving the post and save these values in different table in db
我使用 ACF
创建了 2 个自定义 post 类型
1 是复选框,元键 = google_search
第二个是文本字段,元键 = search_keyword
发布时 post 我想检查 google_search 是否被选中并且 search_keyword 中有一个值然后
- 获取 search_keyword 值并保存到自定义 table
- 如果 search_keyword 为空则使用 post 的标题并将其保存到自定义 table.
我在 functions.php 和 post.php(两者)中尝试了这段代码,但没有成功,
add_action('save_post', 'googleSearch');
function googleSearch()
{
global $wpdb;
if ( $_POST['google_results'] == "Y") // if checkbox (google_search) is checked
{
if ($_POST['search_keyword'] != "") // if search_keyword has value
{
$sSearchKeyword = get_field('search_keyword');
}
else
{
//if search_keyword is empty then use post title as keyword.
$sSearchKeyword = get_the_title( );
}
$wpdb->query("INSERT INTO tbl_keyword SET post_id = '$post_ID',
keyword = '$sSearchKeyword'");
}
}
任何帮助如何在保存时获取自定义字段值 post 并将这些值保存在数据库中。
如果您没有在 wordpress 循环中使用函数 get_field,那么您必须定义 post.
get_field('search_keyword', $post_ID);
和var_dump$post_ID来确认这个变量实际上持有post id。
我使用 ACF
创建了 2 个自定义 post 类型1 是复选框,元键 = google_search
第二个是文本字段,元键 = search_keyword
发布时 post 我想检查 google_search 是否被选中并且 search_keyword 中有一个值然后
- 获取 search_keyword 值并保存到自定义 table
- 如果 search_keyword 为空则使用 post 的标题并将其保存到自定义 table.
我在 functions.php 和 post.php(两者)中尝试了这段代码,但没有成功,
add_action('save_post', 'googleSearch');
function googleSearch()
{
global $wpdb;
if ( $_POST['google_results'] == "Y") // if checkbox (google_search) is checked
{
if ($_POST['search_keyword'] != "") // if search_keyword has value
{
$sSearchKeyword = get_field('search_keyword');
}
else
{
//if search_keyword is empty then use post title as keyword.
$sSearchKeyword = get_the_title( );
}
$wpdb->query("INSERT INTO tbl_keyword SET post_id = '$post_ID',
keyword = '$sSearchKeyword'");
}
}
任何帮助如何在保存时获取自定义字段值 post 并将这些值保存在数据库中。
如果您没有在 wordpress 循环中使用函数 get_field,那么您必须定义 post.
get_field('search_keyword', $post_ID);
和var_dump$post_ID来确认这个变量实际上持有post id。