我使用此设置了一些主题选项 有用的指南作为模板. 。我想为编辑提供更新这些主题选项的选项,因此我批准了 edit_theme_options功能如下所述.

但是,当作为编辑器登录时,我可以看到“选项”页面,但是当我保存它时,我会得到“作弊?”信息。我检查了wp-admin/options.php页面,代码为:

if ( !current_user_can('manage_options') )
wp_die(__('Cheatin’ uh?'));

因此,如果没有Manage_options功能,您似乎无法编辑选项,这是有道理的。这让我想知道您如何区分一般选项和主题选项。有我想念的东西吗?

有帮助吗?

解决方案

您应该发布数据(通过 <form action="" ...> 到您的主题选项页面,而不是到wp-admin/options.php文件。后者是针对设置下的东西。

另外,我并不是要特别是向任何人扔污垢,而是要始终用一粒盐在网上阅读的技巧。例如,同一网站上的这篇文章提供了极为糟糕的建议:

http://themeshaper.com/customize-blog-posts-touching-theme-files/

function myblog_shareontwitter($content) {

    print $content; ?>

    <p><a href="http://twitter.com/home?status=Currently reading <?php the_permalink(); ?>" title="Click to send this page to Twitter!" target="_blank">Share <em><?php the_title() ?></em> on Twitter</a></p>

<?php }
add_filter('the_content', 'myblog_shareontwitter');

上面的代码被完全损坏:“ the_content”是一个过滤器,WP期望$ content返回而不是回声,并且WP(更不用说插件)期望$ content在调用该功能后仍然存在。此外,如果您不在循环中,the_title()将返回垃圾;这是有问题的,因为自动生成循环外摘录的人将称为“ the_content”。

许可以下: CC-BY-SA归因
scroll top