spot_img
HomeWordPress教程wordpress建站公司 `is_admin` 在服务器端渲染块的后端返回 false

wordpress建站公司 `is_admin` 在服务器端渲染块的后端返回 false

spot_img

JasperAI 10000字免费额度试用

我有一个服务器端呈现的块,其中列出了带有页面缩略图和包含在链接中的标题的卡片。 我希望链接仅在我位于前端时获得 href,这样我就可以避免在后端错误地点击卡片并重定向到卡片页面。 这是我的代码:

$link = is_admin() ? ""
        : " href="https://wordpress.stackexchange.com/questions/343583/" . get_permalink($post->ID) . """;
              
echo <<<CPTItem
    <div class="cpt-list-item"><a class="cpt-list-item__link" $link>
CPTItem;

很遗憾 is_admin() 在块本身的后端返回 false。 我真的不知道为什么,我唯一能想到的是,这是因为该块是服务器端呈现的。 有办法解决吗?

WordPress divi主题

如果后端有服务器端呈现的块,则它是通过 REST API 端点呈现的 /wp/v2/block-renderer/xyz/blockname. 此端点调用您的渲染函数。 在前端直接调用渲染函数。 功能 is_admin() 检查是否请求了后端页面。 在 REST API 请求中没有后端页面,所以函数返回 false 在 REST API 请求上。

相反,您可以通过以下方式检查它是否是 REST API 请求:

if ( defined( 'REST_REQUEST' ) && REST_REQUEST ) {
    return 'Backend';
} else {
    return 'Frontend';
};

5分钟生成10篇英文软文article forge软件试用
siteground guangda
WordPress花园官方账号
WordPress花园隶致力于为广大跨境电商和独立站爱好者提供优质的WordPress教程、Woocommerce教程、Facebook、Twitter、tiktok、Instagram教程和谷歌SEO教程等资料和对应的建站推广服务。关注‘哟派出海’公众号了解最新资讯。粉丝福利:Shopline免费独立站建设14天优惠 商务合作: [email protected]
RELATED ARTICLES