Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Wordpress中的AJAX导航-Permalinks的问题_Jquery_Ajax_Wordpress_Navigation_Permalinks - Fatal编程技术网

Jquery Wordpress中的AJAX导航-Permalinks的问题

Jquery Wordpress中的AJAX导航-Permalinks的问题,jquery,ajax,wordpress,navigation,permalinks,Jquery,Ajax,Wordpress,Navigation,Permalinks,这就是我现在的处境: 我编写了一个博客主题,它类似于一张桌子,上面有很多东西,用户可以拖动,移动元素等等。博客的主要部分放在一本书中,你可以使用页面标记和翻页来浏览这些类别 为了给用户留下他/她实际上在使用“书”的印象,我首先使用了复杂的结构(主要涉及页面标记的位置): 每个类别都使用自己的模板(category-4.php、category-5.php等) single.php导致类别敏感模板(总共6个类别) 当我完成时,我发现有太多的流量是由图形元素造成的,因为它们每次点击都被重新加载,页面

这就是我现在的处境:

我编写了一个博客主题,它类似于一张桌子,上面有很多东西,用户可以拖动,移动元素等等。博客的主要部分放在一本书中,你可以使用页面标记和翻页来浏览这些类别

为了给用户留下他/她实际上在使用“书”的印象,我首先使用了复杂的结构(主要涉及页面标记的位置):

  • 每个类别都使用自己的模板(category-4.php、category-5.php等)
  • single.php导致类别敏感模板(总共6个类别)
  • 当我完成时,我发现有太多的流量是由图形元素造成的,因为它们每次点击都被重新加载,页面速度非常慢。所以我考虑了一个AJAX解决方案,最后使用了ezjax解决方案(http://www.fluidbyte.net/index.php?view=simple-ajax内容转换器(ezjax),它基本上是一个脚本,允许所有具有特定类的HREF加载到index.php中的特定div中。当链接的内容被加载到div中时,我将交互背景的代码(通过这种方式保存流量)保存在其他模板文件中,通过这种方式保存流量

    您可以查看running页面并查看导航的工作方式

    基本上这正是我想要的,但它仍然会带来一些麻烦:

  • 由于单篇文章的模板文件、类别(例如)不包含背景,因此您不能真正使用永久链接来创建它们。实际上你可以这样做,但它看起来像是页面的一半(http://www.palimpsest.eu/2011/02/01/differenzierung/). 显然,让访问者对内容有一个“正常”的看法是很重要的

  • 出于某种原因,一些需要与帖子ID连接的插件(如Sexybookmarks或Flattr)无法工作。我想原因与1有关。问题

  • 下面是我的方法,我想问一下你认为哪一个是最好的(或者给其他解决问题的方法一些启示):

  • 使single.php询问您是内联浏览还是来自外部站点,然后导入两个不同的模板(一个简短的模板和一个包含所有图形内容的模板)。在这种情况下,我不知道如何让single.php实现您的目标

  • 我曾考虑过使用AJAXed Wordpress,但我不确定它是否适合我的需要。我也没有看到很多关于导航模块的文档

  • 不会刷新临时internet文件中已有内容的任何其他方式

  • 如果能得到如何处理这个问题的建议,我将不胜感激

    致以最良好的祝愿,
    劳拉

    欢迎来到SO。我不确定我是否理解您到底想做什么,但对于仅在WP中请求内容的AJAX,这里有一个常见的难题: 你想要的链接,当点击加载一个页面像往常一样。但是您也希望使用相同的链接通过AJAX加载相同的页面,这样就不希望同时加载布局

    假设这是问题的核心,我通常会这样处理:

    // functions.php
    function is_ajax_request() {
      return (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) &&   
              strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest');
    }
    
    
    // e.g. in index.php or any other template file:
    <?php if (!is_ajax_request()) { get_header(); }  ?>
    
    // ... Rest of your template ...
    
    <?php if (!is_ajax_request()) { get_footer(); } ?>
    
    //functions.php
    函数是\u ajax\u request(){
    返回(!empty($_服务器['HTTP_X_REQUESTED_WITH'])和
    strtolower($_服务器['HTTP_X_REQUESTED_WITH'])='xmlhttprequest');
    }
    //例如,在index.php或任何其他模板文件中:
    // ... 模板的其余部分。。。
    
    这样,如果通过AJAX请求模板文件,则只加载内容,否则页面将照常加载

    如果这对你有帮助,请告诉我,或者进一步解释一下你的目标。
    我注意到这里的人对太长的问题都很害羞。所以-越短越好;)

    嘿,波拉布劳,谢谢你的回答。因此,如果我得到了正确的代码,我将在我的模板中放入两个代码:一个用于案例1(AJAX:),另一个用于案例2(普通链接:很抱歉,它太长了……但不幸的是,我无法将问题缩短,所以我尝试通过结构化来弥补;)你知道那些试图获取帖子ID的插件有什么问题吗?只有当你请求页面时,它才会呈现标题(包含你所有的CSS/JS等),而不是使用AJAX,这通常意味着当你使用AJAX时,你会得到普通的内容,这通常也很好,因为你已经拥有了所有其他内容(导航、样式、标题等)。因此,不要在模板中使用
    get_header()
    ,只需使用
    if(!is_ajax_request()){get_header();}
    。无需
    其他
    必要。嘿,Polarblou,我实现了代码,它工作起来很有魅力。我首先必须清理一下代码(尽管它仍然很凌乱)导致某些特定的部分必须重新加载,仍然在index.php的正文中。然而,我仍然在与另一个问题作斗争:插件的问题。如果现在你输入一篇单独的文章,sexybookmark栏会像一个符咒一样工作。它不会与AJAX加载一起工作。类似Smoothgallery的东西也是如此。对此有什么建议吗?谢谢再次为你的帮助。现在页面开始呈现。你能在这个问题上显示一些代码吗?我没有任何经验,这些插件,所以我需要看看你是如何实现它。-如果你觉得这个问题已经解决,但产生了一个新的,你可能想考虑关闭这一点,通过标记它解决和OP。用更多的细节来描述一个新的。