WordPress

WordPress开发人员和管理员的问答

5
将参数传递给管理菜单页面回调?
情况:我正在开发一个插件,并且正在将其作为一个类进行开发,一切正常,直到遇到这种情况。我想把事情弄干净一点,然后尝试一下。 class MyPlugin { function __construct() { add_action('admin_menu', array(&$this, 'myplugin_create_menus'); } //I don't want to write a function for every options page I create //so I prefer to just load the content from an external file. function load_view($filename) { $view = require(dirname(__FILE__).'/views/'.$filename.'.php'); return $view; } //Here is where the problem …


2
将页面属性元框和页面模板添加到帖子编辑页面?
(主持人注意:标题最初是“如何向POSTS编辑器添加“页面属性”和/或“页面属性>模板”选择器”) WP当前仅允许将“模板”分配给Pages(即post_type=='page'。),我也想将此功能扩展到Posts(即,post_type=='post'。)。 如何将“页面属性”元框,更具体地说是模板切换器添加到帖子编辑器? 我假设这是我将放置在functions.php主题代码中的代码。 更新:通过将选择框html添加到我现有的自定义元选项框中,我设法将硬编码模板下拉菜单添加到我的帖子编辑器中。这是我正在使用的代码... add_meta_box('categorydiv2', __('Post Options'), 'post_categories_meta_box_modified', 'post', 'side', 'high'); 这是写出选项和模板选择框的函数... //adds the custom categories box function post_categories_meta_box_modified() { global $post; if( get_post_meta($post->ID, '_noindex', true) ) $noindexChecked = " checked='checked'"; if( get_post_meta($post->ID, '_nofollow', true) ) $nofollowChecked = " checked='checked'"; ?> <div id="categories-all" class="ui-tabs-panel"> <ul id="categorychecklist" class="list:category categorychecklist form-no-clear"> …

12
网站拥有自己域名的多站点中的Cookie
我决定将几个独立的Wordpress网站集成到一个多站点安装中。 我创建了带有子目录的全新多站点安装,创建了带有子目录URL的MU网络站点,并从原始独立站点导出了内容,然后将该内容导入了子目录MU站点。 然后,我从cPanel中删除了原始的独立站点,并将MU站点的域名设置为原始域名。 该站点使用其原始域名加载,但是当我尝试登录到domainname.com/wp-admin(使用全新的多站点的网络管理员用户凭据)时,出现错误消息: 错误:Cookies被浏览器阻止或不支持。您必须启用Cookie才能使用WordPress。 Cookie 已在Chrome 中启用。 我尝试将以下内容添加到wp-config.php: define('COOKIE_DOMAIN', false); 但问题仍然存在。 如果我使用WP Migrate DB Pro,将独立网站拉入MU子目录站点,然后从cPanel删除独立站点,然后将MU子目录站点的URL设置为原始独立站点的域名,则会发生相同的问题。该网站的前端加载正常,我只是无法登录到管理员。 帮助表示赞赏。
14 multisite 

3
如何在插件中加入JavaScript
这次我很努力地尝试在插件文件夹中包含JavaScript文件。 我正在尝试通过从主题目录传输窗口小部件文件来创建插件。我复制了窗口小部件文件,但是该窗口小部件文件取决于JavaScript文件,因此我在插件目录中创建了/ js /文件夹。该文件的托管位置“ jquery.repeatable.js” 我使用了这段代码,但似乎没有包含js文件- function Zumper_widget_enqueue_script() { wp_enqueue_script( 'my_custom_script', plugin_dir_url( __FILE__ ) . 'js/jquery.repeatable.js' ); } add_action('admin_enqueue_scripts', 'Zumper_widget_enqueue_script'); 我在论坛上搜索了此内容-https : //stackoverflow.com/questions/31489615/call-a-js-file-from-a-plugin-directory 但这仍然没有帮助。 我正在重新总结我的问题。在我的插件目录中,此文件夹下有一个js文件-/ js / 我希望包含它是正确的过程,我还需要注册一些东西吗? 这部分有什么问题'admin_enqueue_scripts'吗?

6
从REST API V2获取WP导航菜单
我正在尝试使用WP REST API v2插件从JSON响应中获取导航菜单。 没有针对REST API v2的导航菜单插件扩展,仅针对V1。 从Codex WordPress帖子类型中,我了解到导航菜单被视为帖子类型。 从Rest API Doc中,这是我们获取以下类型的帖子的方式: GET http://demo.wp-api.org/wp-json/wp/v2/types/<type> 我试图这样得到它: URL : http://localhost/wptest/wp-json/wp/v2/types/nav_menu_item 我收到403错误。 {"code":"rest_cannot_read_type","message":"Cannot view type.","data":{"status":403}} 服务器理解了我的请求,但拒绝提供数据。 问:我该如何解决?

3
重新启动4.2 utf8mb4数据库升级
我在旧服务器上将WP更新为4.2,这与utf8mb4升级要求不符。 我移到了另一个满足这些要求的服务器,但是WP不再启动此数据库升级:/wp-admin/upgrade.php说Your WordPress database is already up-to-date。我尝试将wp_post表手动设置为utf8mb4,但我所有的特殊字符都变成了``...''。 有什么方法可以maybe_convert_table_to_utf8mb4通过简单的升级来强制启动,而又不会丢失我所有的特殊字符? 谢谢!
14 database 

1
随机数验证如何工作?
我可以看到wp_nonce_field在隐藏字段中生成一个值。 <input type="hidden" id="message-send" name="message-send" value="cabfd9e42d" /> 但是据我所知,wp_verify_nonce没有使用该值,但我可能是错的。 看起来它正在使用会话令牌进行验证。 $expected = substr( wp_hash( $i . '|' . $action . '|' . $uid . '|' . $token, 'nonce'), -12, 10 ); if ( hash_equals( $expected, $nonce ) ) { return 1; } 那么在隐藏字段中具有value属性有什么意义呢?

2
如何允许用户角色在仅低于其级别的角色下创建新用户?
我的网站中还有三个角色。 医生 接待员 客人 这些角色通过以下代码添加: * adding Doctor role */ $doctor_role = add_role('Doctor', __('Doctor'), array('read'=>'true')); /* adding Receptionist role */ $receptionist_role = add_role('Receptionist', __('Receptionist'), array('read'=>'true')); /* adding Guest role */ $guest_role = add_role('Guest', __('Guest'), array('read'=>'true')); 默认情况下,Administrator角色创建所有其他角色。但是我想按用户级别限制此分配角色。我的意思是: 管理员-应该能够创建所有角色用户-默认情况下是可能的。 Doctor- 仅应能够创建Receptionist和Guest角色用户 接待员-应该能够创建Guest角色的用户ONLY 访客- 不允许创建任何用户。 怎么办 如果我不使用任何插件就可以实现这一目标,那就更好了。

4
将模板文件用于特定的URL,而不创建页面
我想知道是否可以将模板文件用于特定的URL,而不必为该模板创建页面。 这是我的简化问题: 我已经在WP中创建了一个页面,其中包含一些链接内容,这些链接内容指向带有某些尾随表单数据的特定URL:(mysite.com/retail/?a=test&b=1234)。 我希望该URL(零售)自动使用子主题目录中的模板文件template-retail.php,而无需创建名为“零售”的页面并从中选择模板页面。template-retail.php文件中只有外部内容,而Wordpress本身没有任何内容。 这可能吗?

3
如何在不同的自定义帖子类型之间设置父子关系
我刚刚在帖子类型“短片”和帖子类型“卡通系列”之间建立了帖子/父级关系。 我使用以下代码在meta框中添加内容,以从另一种帖子类型分配父项: add_action('admin_menu', function() { remove_meta_box('pageparentdiv', 'episodes', 'normal'); }); add_action('add_meta_boxes', function() { add_meta_box('episodes-parent', 'Cartoon Series', 'episodes_attributes_meta_box', 'episodes', 'side', 'default'); }); function episodes_attributes_meta_box($post) { $post_type_object = get_post_type_object($post->post_type); if ( $post_type_object->hierarchical ) { $pages = wp_dropdown_pages(array('post_type' => 'cartoon-series', 'selected' => $post->post_parent, 'name' => 'parent_id', 'show_option_none' => __('(no parent)'), 'sort_column'=> 'menu_order, post_title', 'echo' …

2
如果CDN失败,如何为Font Awesome提供本地后备?
我正在尝试开发Wordpress主题,并弄清楚如果CDN失败或者我在没有Internet连接的本地服务器上开发主题时,如何为Font Awesome提供本地后备。 我想到的解决方案是这样的(伪代码): if ( $CDN_IS_AVAILABLE ) { wp_enqueue_style( 'font-awesome', '//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css', false ); } else { wp_enqueue_style('font-awesome', get_template_directory_uri() . '/css/font-awesome/css/font-awesome.min.css', false, '4.0.3' ); } 谢谢!
14 cdn 

6
更改CSS后,浏览器中的CSS不会更新
我正在我的wordpress网站的CSS上工作。当我进行更改并刷新页面时,更改不会反映出来。当我清除浏览器历史记录并缓存时,更改仍会反映出来。当我查看页面的源代码并查看css文件时,它具有更改之前的旧内容。我该如何进行更新以进行开发?

4
在存档模板中显示Yoast WordPress SEO标题
Yoast的WordPress SEO插件允许用户向分类学术语存档页面添加SEO标题和元描述。然后将其用于文档的开头。 我正在尝试将分类术语的SEO标题显示为我的分类档案模板中的H1。 要在帖子,帖子类型或页面中做到这一点很容易: echo get_post_meta($post->ID, '_yoast_wpseo_title', true); 在存档模板上,此功能无效。 有谁知道如何使它工作? 屏幕截图示例 这是特定标签术语的标题。我正在尝试在我的存档模板中显示此标题-但随后显示一个自定义分类术语。 最终代码 这就是我最终在archive.php模板中使用的内容。如果您使用的是自定义分类法,则此方法有效。对于标签或类别,请查看下面的Mike Madern的答案。 <h1 class="archive-title"> <?php if ( is_tax() ) : $taxonomy = get_queried_object()->taxonomy; $term_id = get_queried_object()->term_id; $meta = get_option( 'wpseo_taxonomy_meta' ); $title = $meta[$taxonomy][$term_id]['wpseo_title']; //printf( '<pre>%s</pre>', print_r( get_option( 'wpseo_taxonomy_meta' ), 1 ) ); if ( isset($meta) && …

1
如何为多个用户使用同一封电子邮件
我有一个很大的多站点。我收到一个启用选项,要求多个用户可以使用同一封电子邮件。我发现一个插件“允许多个帐户”无法正常工作。我应该为此找到其他解决方案。我知道我可以在每封电子邮件中使用+ sometext之类的方式,因此它与Wordpress的显示方式有所不同。您还有其他解决方案可以在这里完成吗?
14 multisite  users 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.