1
當從PHP 5.6切換到7.0時。我需要根據這個腳本來做。我正在嘗試在wordpress中應用重寫規則,但遇到了一個奇怪的PHP問題。通過變量創建的Dinamic屬性在PHP 7.0中不起作用。使用動態屬性變量不起作用的重寫屬性PHP 7.0
$rule = [ 'name' => 'profile',
'rule' => 'author_base',
'rewrite' => 'profile',
'position' => 'top',
'replace' => true,
'dynamic' => true
];
global $wp_rewrite;
global $wp;
$wp->add_query_var($rule['name']);
if(isset($rule['replace']) && $rule['replace']) {
var_dump($rule['rule']); // author_base
$wp_rewrite->$rule['rule']=$rule['rewrite']; // this doesn't work
$wp_rewrite->author_base=$rule['profile']; // this works
var_dump($wp_rewrite->$rule['rule']) // return null => BAD
var_dump($wp_rewrite->author_base); // returns 'author' => OK
// In PHP 5.6 Works both including $wp_rewrite->$rule['rule']
} else {
add_rewrite_rule($rule['rule'], $rule['rewrite'], $rule['position']);
}
是,工作,注意到,這也適用於PHP 5.6 TH'{}' – user3467855