【问题标题】:Wordpress categories list with jquery load()带有 jquery load() 的 Wordpress 类别列表
【发布时间】:2017-06-26 01:08:11
【问题描述】:

一个“选择”元素是由一个 wordpress 插件 (PHP) 创建的,我想用 jQuery 的 .load() 函数在其中添加元素。

jQuery:

$("#ugc-input-post_category").load("../wp-content/themes/anim-theme/post-category.php");

post-category.php:

<?php echo '<h1>TEST</h1>'; $categories = get_categories(); foreach ( $categories as $category ) : echo '<option value="' . $category->term_id . '">' . $category->name . '</option>'; endforeach; ?>

返回“TEST”的回显函数有效,并且“h1”元素出现在“select”元素中,但不是应该由循环生成的不同类别。但是,当我在页面的 PHP 代码中添加 PHP 代码时,它可以工作并生成类别列表。所以我认为这是 load() 函数的问题。

非常感谢!

【问题讨论】:

  • 你不能把h标签放在&lt;select&gt; ....只有&lt;optgroup&gt;&lt;option&gt;
  • 路径也全错了。阅读如何在 wordpress 中使用 ajax。您需要一个 action 并使用正确的 ajax 端点和注册方法

标签: php jquery wordpress


【解决方案1】:

当代码包含在普通页面中时,WordPress 使用从通过 WordPress 主循环加载的页面派生的数据,因此他们可以根据您正在显示的页面知道要获取哪些数据。

但是当你从单独的文件中加载时,他们没有为他们准备好数据,所以它无法正确显示数据。

那么下一个问题是你要不要使用Ajax方法来加载页面?

如果没有,请改用 PHP 'include',以便它可以生成自服务器加载以来的日期。

如果使用 Ajax,请编写一个返回 'json' 的 Ajax 函数并使用 jQuery 显示它们。

祝你好运

【讨论】:

  • 感谢您的回答。 PHP 应该将 html 生成到使用 wordpress 插件生成的 HTML 元素中。所以我认为我不能使用 PHP 'include'。
猜你喜欢
  • 2011-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-25
  • 2011-08-23
  • 2013-10-22
  • 1970-01-01
  • 2013-02-20
相关资源
最近更新 更多