WordPress

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

2
我如何在admin上的post.php上知道当前的帖子类型?
我试图用admin_init钩子来做某事,当且仅当用户正在编辑帖子类型为“事件”的帖子(post.php)。我的问题是,即使wordpress指向一个全局变量调用$ post_type。如果我做: global $post_type; var_dump($post_type); 它返回NULL。 但是如果我这样做: global $pagenow; var_dump($pagenow); 它返回我的当前页面。即“ post.php”。 我调查了这个函数,$screen = get_current_screen();但是直到admin_init钩子运行之后才声明,然后到了后期。 所以我的问题是,如何在运行admin_init时找出当前正在编辑的帖子的类型。如果网址是post.php?post=81&action=edit,那么我怎么知道postid = 81是什么类型? 谢谢马尔特

3
如何将不同的CPT连接在一起?
我希望这个问题能在这里出现。 我一直认为将不同的“自定义帖子类型”连接在一起是很常见的需求,例如在自定义分类用法(书籍/作者/标题,电影/演员/导演等)的流行教程示例中。我个人使用“帖子2帖子”,但是支持停止了。 在Google上,最相关的结果现在指向此插件。存在哪些长期替代方案?如果P2P插件完成,今天经验丰富的WordPress Web开发人员将使用什么来设计WordPress的书籍/作者/标题管理系统?

2
WordPress搜索如何在后台工作?
我正在使用WordPress搜索来搜索一系列自定义帖子类型,并允许用户向下钻取每种单独的帖子类型。 但是我发现WordPress并没有首先返回我认为是“最佳”比赛的东西。例如,如果我搜索Microsoft,则在不定期包含该术语的页面之前,仍会返回这些页面。 基本上,我试图找到有关WordPress如何对页面进行排名和确定相关性以及是否可以在不安装任何插件的情况下影响它的信息。 任何帮助,不胜感激。
11 search 


4
在插件中为自定义帖子类型创建自定义存档页面
我正在编写一个插件,用于创建名为“ my_plugin_lesson”的自定义帖子类型: $args = array ( 'public' => true, 'has_archive' => true, 'rewrite' => array('slug' => 'lessons', 'with_front' => false) ); register_post_type ('my_plugin_lesson', $args); 自定义帖子类型具有一个存档,该存档的URL为: http://example.com/lessons 我要自定义此存档的外观;我想以表格格式列出帖子,而不是标准的WordPress博客文章存档。我知道可以通过制作archive-my_plugin_lesson.php文件来在主题中创建自定义存档模板;但是,我希望该插件可以使用任何主题。 如何在不添加或修改主题文件的情况下更改存档页面的内容? 编辑: 我知道我可以使用archive_template过滤器挂钩。但是,所有这一切都是替换主题模板,该模板仍需要特定于主题。例如,几乎每个主题模板都需要的get_header,get_sidebar和get_footer功能,但应该是什么内容的ID <div>是什么?每个主题都不同。 我想做的是用我自己的内容替换内容本身,并用它代替存档页面作为我的自定义帖子类型。

1
如何以明文显示内容
我想以纯文本显示我的摘录。我怎样才能做到这一点? 这是我的片段,其中显示了内容: <?php the_content(__( 'Weiterlesen ›','okay')); ?> 我如何更改代码段以简单显示内容? 迎接尼克拉斯


2
如何检查主题是否处于活动状态?
我想检查一下十二十二主题是否处于活动状态。我知道如果我正在检查一个活动的插件,我会做类似的事情: $active_plugins = apply_filters( 'active_plugins', get_option( 'active_plugins' ) ); if ( in_array( 'plugin-folder/plugin-folder.php', $active_plugins ) ) { //do stuff } else { add_action( 'admin_notices', 'create-a-notice' ); } 检查主题是否处于活动状态以便我可以为该主题运行功能的正确方法是什么?

2
从导航项获取页面ID
我正在尝试获取导航中的所有ID,并将其转换为字符串,以便与之一起使用,wp_query以获取仅在导航栏中列出的页面。获取ID的代码: $menu_name = 'primary'; if ( ( $locations = get_nav_menu_locations() ) && isset( $locations[ $menu_name ] )) { $menu = wp_get_nav_menu_object( $locations[ $menu_name ] ); $menu_items = wp_get_nav_menu_items($menu->term_id); } foreach ( $menu_items as $menu_item ) { $numbers[] = $menu_item->ID; } $number = implode(',',$numbers); 但是它返回了错误的数字。当我转到管理区域并将鼠标悬停在页面上时,屏幕底部地址栏中显示的数字不匹配。我究竟做错了什么?
11 menus  id 

4
仅对functions.php中的非管理员禁用“快速编辑”
我的functions.php中有这个 function remove_quick_edit( $actions ) { unset($actions['inline hide-if-no-js']); return $actions; } add_filter('post_row_actions','remove_quick_edit',10,1); 在滚动已发布帖子列表时删除后端中的快速编辑链接。 它像超级按钮一样工作,但即使是管理员角色也将其禁用。是否可以让它仅对管理员显示,而其余部分仍然显示?谢谢! 解决了,感谢jfacemyer! 这是在functions.php中添加的完整代码 function remove_quick_edit( $actions ) { unset($actions['inline hide-if-no-js']); return $actions; } if ( ! current_user_can('manage_options') ) { add_filter('post_row_actions','remove_quick_edit',10,1); }
11 quick-edit 

2
在WooCommerce中为完成的订单添加第二个电子邮件地址[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为WordPress Development Stack Exchange 的主题。 5年前关闭。 在我问这个问题之前,我知道这里有一个(合法的)犹豫的答案,关于Woo产品,因为他们有自己的支持,应该鼓励他们的用户使用它。我是Woo的付费用户,但无法在他们的付费支持下解决此问题,我的问题是覆盖WP中的类,因此我希望它能引起公平的听证。 我的问题是:将完整的订单电子邮件发送给客户时,我还需要逐字自动接收此电子邮件,就像发送给客户时一样,而不是各种发票PDF创建的其他格式WooCommerce插件。我可以通过更改以下行来轻松完成此操作/woocommerce/classes/emails/class-wc-email-customer-completed-order.php: $this->send( $this->get_recipient(), $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() ); 读书: $this->send( $this->get_recipient(), $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() ); $this->send( me@myemail.com, $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() ); 但是,显然这样的黑客无法在升级中幸存下来。我有一个覆盖WooCommerce模板的子主题。是否有任何等效的机制可以使我以类似的封装方式覆盖类?还是您可以推荐一种替代方法(除了将SMTP服务器设置为将所有外发电子邮件密送至第二个地址)来完成我在客户也收到该电子邮件时接收该电子邮件的特定任务?

1
是否有类似admin_notices的前端?
我是Wordpress的新手,并试图尽可能多地利用该框架。在前端,我想要一个集中的消息区域来显示错误,成功和一般通知,类似于在后端通过admin_notices处理它们的方式。我没有看到类似的前端挂钩。 我想我想问的是我应该在前端执行哪种操作来模仿admin_notices?

2
如何为每个Ajax请求获得唯一的随机数?
我已经看到了一些有关让Wordpress为随后的Ajax请求重新生成唯一随机数的讨论,但是对于我一生,我实际上无法让Wordpress做到这一点–每当我请求我认为应该是新的东西时随机数,我从Wordpress得到了相同的随机数。我了解WP的nonce_life的概念,甚至将其设置为其他名称,但这对我没有帮助。 我不会通过本地化在标题的JS对象中生成随机数,而是在显示页面上生成。我可以让我的页面处理Ajax请求,但是当我从回调中的WP请求新的随机数时,我又得到了相同的随机数,而且我不知道自己在做什么错...最终,我想扩展此功能,以便页面上可以有多个项目,每个项目都具有添加/删除的功能-因此我需要一种解决方案,该解决方案将允许一个页面中的多个后续Ajax请求。 (我应该说我已经将所有这些功能都放入了插件中,因此前端的“显示页面”实际上是该插件附带的功能...) functions.php:本地化,但是我不在这里创建一个随机数 wp_localize_script('myjs', 'ajaxVars', array('ajaxurl' => 'admin-ajax.php'))); 调用JS: $("#myelement").click(function(e) { e.preventDefault(); post_id = $(this).data("data-post-id"); user_id = $(this).data("data-user-id"); nonce = $(this).data("data-nonce"); $.ajax({ type: "POST", dataType: "json", url: ajaxVars.ajaxurl, data: { action: "myfaves", post_id: post_id, user_id: user_id, nonce: nonce }, success: function(response) { if(response.type == "success") { nonce = response.newNonce; …
11 ajax  nonce 

3
如何更改自定义帖子类型的作者?
我做了一个自定义帖子类型,需要能够创建帖子并将其分配给作者。使用帖子很容易做到这一点,因为您可以转到批量编辑屏幕并立即更改作者。但是,当我尝试使用自定义帖子类型执行此操作时,作者框不存在。如何添加功能以更改自定义帖子类型的作者? 编辑:我找到了解决方案,请参见下面的答案。


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.