我在wordpress主题中有这个代码,它给了我2个通知
我不是100%确定如何修复它。我尝试过使用isset()
,但这对我不起作用并且不断出现错误。
$post_id = $_GET['post'] ? $_GET['post'] : $_POST['post_ID'];
$template_file = get_post_meta($post_id,'_wp_page_template',TRUE);
$array = array('template-homepage1.php', 'template-homepage2.php');
答案 0 :(得分:2)
你也可以尝试一下。
if(isset($_GET['post']))
{
$post_id = $_GET['post'];
}
if(isset($_POST['post_ID']))
{
$post_id = $_POST['post_ID'] ;
}
答案 1 :(得分:0)
你需要首先初始化变量,或者使用empty()或isset()检查php忽略通知
$post_id = '';$template_file='';
$post_id = (!empty($_GET['post']) ? $_GET['post'] : $_POST['post_ID']) ;
$template_file = get_post_meta($post_id,'_wp_page_template',TRUE);
$array = array('template-homepage1.php', 'template-homepage2.php');
或尝试从php.ini中删除php通知
答案 2 :(得分:0)
您可以尝试使用isset()
检查$_GET
变量和if else
条件是否在需要的地方指定值
if(isset($_GET['post'])
{
$post_id = $_GET['post'];
} else {
if(isset($_POST['post_ID'])
{
$post_id = $_POST['post_ID'];
} else {
$post_id = '';
}
}
答案 3 :(得分:0)
$post_id = isset($_GET['post']) ? $_GET['post'] : isset($_POST['post_ID']) ? $_POST['post_ID'] : 0 ;
但这样使用if可能更具可读性
$post_id = 0;
if(isset($_GET['post'])) $post_id = $_GET['post'];
else if(isset($_POST['post_ID']) $post_id = $_POST['post_ID'];