这是我第一次尝试编写自定义wordpress主题, 而我快要准备了。虽然存在一些错误, 但是我尝试了几种其他方法来修复它们, 但均未成功。
链接是www.studiosimplicit.com/wp。
我的第一个问题是事件页面(www.studiosimplicit.com/wp/events)上的nivo滑块。最初, 我在插件本身方面遇到了问题, 即图像相互堆叠。为了解决这个问题, 我手动添加了代码以调用nivo .js文件, 这似乎可以解决该问题。但是现在正在加载图像, 但是图像没有加载。
我已经检查了图像的URL, 这不是问题。我还启用了”缩略图后”功能(如nivoslider网站上建议的那样, 作为对我的问题的常见修复), 但似乎并未修复。当我切换到默认主题时, 滑块工作正常, 这毫无价值。当我激活自定义主题时, 它就中断了。
我的第二个问题是一个应该设置全屏背景图像的插件, 该插件会自动调整大小以适合浏览器宽度。同样, 当我切换到默认主题时, 该插件可以工作, 但是当我切换到自定义主题时, 它会中断。
请帮忙!
#1
听起来, 你的自定义主题缺少允许插件更改/输出其代码的通用钩子。
举一个简单的例子, 每个主题都应该在输出页面的<head>部分中的某个位置调用wp_head()。这允许插件”钩”入你的<head>, 例如, 输出代码以加载其Javascript。
这是一个真实的例子。 WordPress Twentyeleven主题在其header.php文件中具有此功能(传统上是主题的一部分, 其输出任何页面的<head>部分):
... other <head> stuff
wp_head();
?>
</head>
WP Nivo滑块在调用wp_enqueue_script时(例如在其wp-nivo-slider.php文件中)使用此代码。在幕后, wp_enqueue_script使用Twentyeleven主题中的wp_head()钩子将请求的Javascript include输出到<head>部分(通过略带via回的路径, 默认情况下以wp_print_head_scripts结尾)。
因此, 基本上, 如果插件可以使用提供的主题, 但不能与你的自定义主题一起使用, 则你的任务是找到该插件尝试使用的主题中缺少的挂钩。
如果查看WordPress主题开发文档, 则会在”插件API挂钩”部分下找到主题应包含的挂钩列表。具体来说是:
- wp_head
- wp_footer
- wp_meta
- comment_form
对于大多数插件而言, 重要的是wp_head和wp_footer。这是大多数Javascript包含在此处的内容, 无论是在head还是footer部分中(就在结束<body>标记之前)。
大多数插件(例如Javascript滑块, 图片库等)只会在网站的<head>或页脚部分中添加一两个新脚本, 并且可能会在<head>部分中包含CSS文件来为其内容设置样式, 因此, 通常这两个是他们唯一需要的钩子。
因此, 我的初步建议是确保你的自定义主题在其<head>部分的末尾包括对wp_head()的调用(从你已有的工作主题中复制代码)以及对wp_footer()的调用, 在结束</ body>标记之前。很有可能使大多数基于Java的插件正常工作。
#2
仅作记录:我有一个类似的问题, 我不得不替换该行
<?php echo get_the_content() ?>
与此:
<?php echo the_content() ?>
但是我还必须包括wp_head和wp_foot, 如Matt所解释。
#3
只包括
<?php include_once( ABSPATH . 'wp-admin/includes/plugin.php' ); ?>
<?php wp_head()?>
在开始之前和之后肯定会起作用。
评论前必须登录!
注册