-
作者帖子
-
-
2022年1月24日 上午11:26 #22311
<?php
// 文章SEO
$seo_post_meta_boxes =
array(
“custom_title” => array(
“name” => “custom_title”,
“std” => “”,
“title” => “SEO自定义文章标题”,
“type”=>”text”),“description” => array(
“name” => “description”,
“std” => “”,
“title” => “SEO文章描述,留空则自动截取首段一定字数作为文章描述”,
“type”=>”textarea”),“keywords” => array(
“name” => “keywords”,
“std” => “”,
“title” => “SEO文章关键词,多个关键词用半角逗号隔开”,
“type”=>”text”),
);// 面板内容
function seo_post_meta_boxes() {
global $post, $seo_post_meta_boxes;
//获取保存
foreach ($seo_post_meta_boxes as $meta_box) {
$meta_box_value = get_post_meta($post->ID, $meta_box[‘name’] . ”, true);
if ($meta_box_value != “”)
//将默认值替换为已保存的值
$meta_box[‘std’] = $meta_box_value;
echo ‘<input type=”hidden” name=”‘ . $meta_box[‘name’] . ‘_noncename” id=”‘ . $meta_box[‘name’] . ‘_noncename” value=”‘ . wp_create_nonce(plugin_basename(__FILE__)) . ‘” />’;
//选择类型输出不同的html代码
switch ($meta_box[‘type’]) {
case ‘title’:
echo ‘<h4>’ . $meta_box[‘title’] . ‘</h4>’;
break;
case ‘text’:
echo ‘<h4>’ . $meta_box[‘title’] . ‘</h4>’;
echo ‘<span class=”form-field”><input type=”text” size=”40″ name=”‘ . $meta_box[‘name’] . ‘” value=”‘ . $meta_box[‘std’] . ‘” /></span><br />’;
break;
case ‘textarea’:
echo ‘<h4>’ . $meta_box[‘title’] . ‘</h4>’;
echo ‘<textarea id=”seo-excerpt” cols=”40″ rows=”2″ name=”‘ . $meta_box[‘name’] . ‘”>’ . $meta_box[‘std’] . ‘</textarea><br />’;
break;
}
}
}// 创建面板
function seo_post_meta_box() {
global $theme_name;
if (function_exists(‘add_meta_box’)) {
add_meta_box(‘seo_post_meta_box’, ‘SEO设置’, ‘seo_post_meta_boxes’, ‘post’, ‘normal’, ‘high’);
}
}
// 保存数据
function save_seo_post_postdata($post_id) {
global $post, $seo_post_meta_boxes;
foreach ($seo_post_meta_boxes as $meta_box) {
if (!wp_verify_nonce($_POST[$meta_box[‘name’] . ‘_noncename’], plugin_basename(__FILE__))) { ///报错位置
return $post_id;
}
if (‘page’ == $_POST[‘post_type’]) {
if (!current_user_can(‘edit_page’, $post_id)) return $post_id;
} else {
if (!current_user_can(‘edit_post’, $post_id)) return $post_id;
}
$data = $_POST[$meta_box[‘name’] . ”];
if (get_post_meta($post_id, $meta_box[‘name’] . ”) == “”) add_post_meta($post_id, $meta_box[‘name’] . ”, $data, true);
elseif ($data != get_post_meta($post_id, $meta_box[‘name’] . ”, true)) update_post_meta($post_id, $meta_box[‘name’] . ”, $data);
elseif ($data == “”) delete_post_meta($post_id, $meta_box[‘name’] . ”, get_post_meta($post_id, $meta_box[‘name’] . ”, true));
}
}
// 触发
add_action(‘admin_menu’, ‘seo_post_meta_box’);
add_action(‘save_post’, ‘save_seo_post_postdata’);// 页面相关自定义栏目 $new_meta_page_boxes = array( "custom_title" => array( "name" => "custom_title", "std" => "", "title" => "SEO自定义页面标题", "type"=>"text"), "description" => array( "name" => "description", "std" => "", "title" => "文章描述,留空则自动截取首段一定字数作为文章描述", "type"=>"textarea"), "keywords" => array( "name" => "keywords", "std" => "", "title" => "文章关键词,多个关键词用半角逗号隔开", "type"=>"text"), ); // 面板内容 function new_meta_page_boxes() { global $post, $new_meta_page_boxes; //获取保存 foreach ($new_meta_page_boxes as $meta_box) { $meta_box_value = get_post_meta($post->ID, $meta_box['name'] . '', true); if ($meta_box_value != "") //将默认值替换为已保存的值 $meta_box['std'] = $meta_box_value; echo '<input type="hidden" name="' . $meta_box['name'] . '_noncename" id="' . $meta_box['name'] . '_noncename" value="' . wp_create_nonce(plugin_basename(__FILE__)) . '" />'; //选择类型输出不同的html代码 switch ($meta_box['type']) { case 'title': echo '<h4>' . $meta_box['title'] . '</h4>'; break; case 'text': echo '<h4>' . $meta_box['title'] . '</h4>'; echo '<span class="form-field"><input type="text" size="40" name="' . $meta_box['name'] . '" value="' . $meta_box['std'] . '" /></span><br />'; break; case 'textarea': echo '<h4>' . $meta_box['title'] . '</h4>'; echo '<textarea id="seo-excerpt" cols="40" rows="2" name="' . $meta_box['name'] . '">' . $meta_box['std'] . '</textarea><br />'; break; } } } function create_meta_page_box() { global $theme_name; if (function_exists('add_meta_box')) { add_meta_box('new-meta-boxes', '页面SEO设置', 'new_meta_page_boxes', 'page', 'normal', 'high'); } } function save_page_postdata($post_id) { global $post, $new_meta_page_boxes; foreach ($new_meta_page_boxes as $meta_box) { if (!wp_verify_nonce($_POST[$meta_box['name'] . '_noncename'], plugin_basename(__FILE__))) { //这里报错 return $post_id; } if ('page' == $_POST['post_type']) { if (!current_user_can('edit_page', $post_id)) return $post_id; } else { if (!current_user_can('edit_post', $post_id)) return $post_id; } $data = $_POST[$meta_box['name'] . '']; if (get_post_meta($post_id, $meta_box['name'] . '') == "") add_post_meta($post_id, $meta_box['name'] . '', $data, true); elseif ($data != get_post_meta($post_id, $meta_box['name'] . '', true)) update_post_meta($post_id, $meta_box['name'] . '', $data); elseif ($data == "") delete_post_meta($post_id, $meta_box['name'] . '', get_post_meta($post_id, $meta_box['name'] . '', true)); } } add_action('admin_menu', 'create_meta_page_box'); add_action('save_post', 'save_page_postdata');
-
2022年1月24日 上午11:27 #22312
上传图片
-
2022年1月24日 上午11:28 #22314
-
2022年1月24日 上午11:29 #22315
请问这个怎么处理啊
Notice: Undefined index: custom_title_noncename in /www/wwwroot/seoyh.net/wp-content/themes/bit/inc/gn/seo/admin-meta.php on line 62 -
2022年1月24日 上午11:35 #22316
数组判空,或者用三目运算在未定义时返回空字符串,例如:$_POST[$meta_box[‘name’] . ‘_noncename’] ?? ”
-
-
作者帖子
- 哎呀,回复话题必需登录。