我正在对现有的Wordpress主题进行一些更改。
public function checkTv( $post ) {
global $title;
if ( ! empty( $post['season'] ) ) {
$videourl ='shows'.$title. $post['season'].'-'. $post['episodio'];
}
return $videourl;
}
此处$videourl
包含所需的URL格式。一切正常,但是$title
值未在URL中并置。它会被自动跳过。标题上我有the。
拨打电话的方式
$postmeta = doo_postmeta_episodes($post_id);
$videourl = $this->checkTv( $postmeta );
$title
已声明为全局,并且标题值是从函数中获取的。
答案 0 :(得分:2)
PHP不会跳过$title
变量:您的函数中未定义它,因此为空。要使用在函数外部定义的变量,您需要将global
指令放在函数内部:
public function checkTv($post) {
global $title;
//...
}
这将通知函数您要使用的$title
与在函数外部声明的Intent
相同。
答案 1 :(得分:0)
尝试一下:
$videourl = 'shows'
. get_the_title($post)
. '-'
. $post['season']
. '-'
. $post['episodio'];
更新:根据您所说的需要塞子而非标题的注释,请尝试以下操作:
$slug = get_post_field('post_name', $post);
$videourl = 'shows'
. $slug
. '-'
. $post['season']
. '-'
. $post['episodio'];
答案 2 :(得分:0)
感谢您的帮助。我解决了问题在于范围,但声明其全局性并不能解决问题。我在从$ post_id获得的函数中使用$ post传递了另一个参数,它解决了问题。 感谢您的努力