个性化阅读
专注于IT技术分析

如何修复wordpress自定义主题以与插件配合使用?

这是我第一次尝试编写自定义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()?>

在开始之前和之后肯定会起作用。

赞(0)
未经允许不得转载:srcmini » 如何修复wordpress自定义主题以与插件配合使用?

评论 抢沙发

评论前必须登录!