我的函数中有这段代码。php:
// Disable theme single views
function fq_disable_single_cpt_views() {
$queried_post_type = get_query_var(\'post_type\');
$cpts_without_single_views = array( \'ait-item\' );
if ( is_single() && in_array( $queried_post_type, $cpts_without_single_views ) ) {
wp_redirect( home_url( \'/sorry\' ), 301 );
exit;
}
}
add_action( \'template_redirect\', \'fq_disable_single_cpt_views\' );\'
将特定帖子类型的单页请求重定向到创建的页面。因此,如果有人进入某个类别,单击帖子永久链接,他们会被定向到一个专用页面。
如果这篇文章没有特色,我现在只想应用上面的内容。因此,如果他们的帖子有特色,它仍然会指向真正的帖子,而不是重定向。
我遇到的问题是理解是否可以从函数中实现这一点。php。主题文件使用Nette框架,我对此不太有信心。这是显示“isfeatured”查询的主题片段。我想知道如何使用if语句来执行此操作?
{var $dbFeatured = get_post_meta($post->id, \'_ait-item_item-featured\', true)}
======================================================
**
其他问题未回答
**
感谢您回答上述问题,下面是想要获取get\\U post\\U meta的所有人的答案。
我现在想知道是否可以使用用户角色而不是get\\u post\\u meta,因此如果某个帖子属于某个用户,而该用户的角色不是经过验证的成员,则会被重定向,但如果该帖子属于经过验证的成员,则会转到主配置文件。
使用下面的解决方案,我尝试了这段代码,但我看不出我做错了什么?
function fq_disable_single_cpt_views() {
$queried_post_type = get_query_var(\'post_type\');
$cpts_without_single_views = array( \'ait-item\' );
$user_meta=get_userdata($user_id); $user_roles=$user_meta->roles; if (in_array("cityguide_84d6da05", $user_roles)){}
if ( is_single()
&& in_array( $queried_post_type, $cpts_without_single_views )
&& ("0" === $_ait_item_item_featured)
) {
wp_redirect( home_url( \'/sorry\' ), 301 );
exit;
}
}
add_action( \'template_redirect\', \'fq_disable_single_cpt_views\' );
仅供参考,cityguide\\u 84d6da05是已验证成员的用户角色。