以编程方式或静态方式向 Wordpress 主题的 <html> 标签添加自定义属性
Posted
技术标签:
【中文标题】以编程方式或静态方式向 Wordpress 主题的 <html> 标签添加自定义属性【英文标题】:Adding a custom attribute to a Wordpress theme's <html> tag programmatically or statically 【发布时间】:2015-05-02 23:47:43 【问题描述】:我正在我的 Wordpress 网站中实现 VideoJS Chromecast 插件,但在我的一生中,我无法弄清楚如何向主题的 <html>
tag 添加自定义属性,如下所示:
<html data-cast-api-enabled="true">
我查看了主题的 wp-header.php 和 wp-page.php,但我不知道我可以在哪里插入这个特定的属性。我要么使用脚本以编程方式执行此操作,要么静态输入 PHP 代码。我是 WP 新手,我曾经随意编写 Joomla 主题的 index.php。
我还安装了插件的example,并且他们的演示 index.html 与使用 VideoJS 播放器实例的 Cast 图标配合得很好。我可以看到使用 Chrome 的内置调试器的唯一区别是该属性未在标记中设置,并且 VideoJS 以“Cast APIs not available. Retrying ...”响应。我看不到其他 JS 或 CSS 错误。
有人知道吗?
非常感谢! 相对论
【问题讨论】:
【参考方案1】:在左侧的“外观”下,然后是“编辑器”,然后在主题内应该是一个普通的“header.php”文件,它实际上是每个 wordpress 页面的 html 的第一部分。
它应该看起来像这样:
<?php /**
* The Header for this theme.
* A bunch of theme info here
*/ ?>
<!DOCTYPE html>
<!-- Here is the first HTML tag for the page -->
<html <?php language_attributes(); ?>>
<head>
<!--... more html and php code follows...-->
【讨论】:
没问题。很高兴我能帮上忙。【参考方案2】:感谢@zarazha 带路。
我碰巧使用的是 Theme.co 的 X 主题,它有 4 个子主题。所有子主题都引用“全局”或父主题。我去 cat 父母的“_header.php”,发现正是上面的。
更准确地说:
<!DOCTYPE html>
<!--[if IE 9]><html class="no-js ie9" <?php language_attributes(); ?>><![endif]-->
<!--[if gt IE 9]><!--><html class="no-js" <?php language_attributes(); ?>><!--<![endif]-->
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?php wp_title(''); ?></title>
<link rel="profile" href="http://gmpg.org/xfn/11">
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<?php do_action( 'x_before_site_begin' ); ?>
<div id="top" class="site">
非常感谢。 *** 太棒了!!! ;)
【讨论】:
以上是关于以编程方式或静态方式向 Wordpress 主题的 <html> 标签添加自定义属性的主要内容,如果未能解决你的问题,请参考以下文章
Wordpress:如何以编程方式创建帖子并在之前检查重复项