Questions tagged «functions»

功能是执行特定任务的一系列程序指令。它打包为一个单位,可在应执行相应任务的任何地方使用。

30
您的functions.php文件的最佳代码收集
请点击问题或答案左侧的向上箭头,对问题和您认为有用的答案进行投票。 与许多现在正在查看此文章的其他人一样,我一直在阅读各种博客,论坛和讨论组,以学习和提高我的wordpress技能。在过去的12个月中,我一直致力于通过向functions.php文件中添加代码来替代插件的使用。尽管我完全同意插件在许多情况下非常有用,但我的经验证明,尽管有插件存在,但在90%的使用情况下,实际使用它可能会造成不必要的复杂性和兼容性问题。另外,在很多情况下,此类插件添加了我不需要或不需要的菜单和其他管理元素。 我经常发现通过分析插件的代码,我可以剥离我想要的代码并将其硬编码到我的functions.php。这为我提供了所需的确切功能,而不必包含不必要的元素。 因此,这篇文章的目的是我试图吸引您(读者/管理员/开发人员)与我和其他人在这里分享您认为有用的任何代码位,这些代码位已添加到主题function.php文件中以扩展或增强WordPress,而无需使用插入。 当您在此处提交回复时,请给每个代码位一个标题,让我们知道您是否知道与哪个版本的wordpress兼容,包括最能描述其功能的描述,以及(如果适用)包括原始链接。您在其中找到信息的插件或来源。 我期待着您的所有答复,当然,无论何时发现它们,我都会不断添加自己的新发现。


6
home_url()和site_url()有什么区别
我的理解是site_url()返回wordpress核心文件所在的位置。 因此,如果我的博客托管于,http://example.com/blog则site_url()返回http://example.com/blog 但是那home_url()又有什么不同呢?对我来说,home_url()返回相同的内容:http://example.com/blog 如果正确,那么我可以让wordpress返回http://example.com/吗?

8
如何以正确的方式在插件中包含PHP文件
我的问题是,在主插件文件上包含如下所示的PHP文件时: include(WP_PLUGIN_URL . '/wordpress-group-buying/ipn/paypal-ipn.php'); // or include_once(WP_PLUGIN_URL . '/wordpress-group-buying/ipn/paypal-ipn.php'); // or require(WP_PLUGIN_URL . '/wordpress-group-buying/ipn/paypal-ipn.php'); // or require_once(WP_PLUGIN_URL . '/wordpress-group-buying/ipn/paypal-ipn.php'); 在该文件上,我调用了WordPress函数,例如: add_action('hook', 'callback'); 我得到: 致命错误:调用未定义函数add_action() 现在在您说“使用if(**function_exists**('add_action')){” 之前,如果我使用它,那将是行不通的。 问题: 正确的方法是什么? 有什么区别include,include_once,require做当我使用巫婆?

9
从the_archive_title中删除“ Category:”,“ Tag:”,“ Author:”
我的主题的archive.php中包含以下代码: <?php the_archive_title( '<h1 class="page-title">', '</h1>' ); ?> 这给了我诸如“类别:俄罗斯”,“标签:美国”,“作者:约翰”之类的标题。 我想删除“类别:”,“标记:”和“作者:”部分,仅显示类别,标记和作者名称。 有谁知道如何做到这一点? 谢谢。

5
更改管理员菜单标签
最后一天,我使用functions.php文件为我的客户站点完全自定义了WordPress。我为自己能完成的工作量以及为客户带来的便利程度感到惊讶。 我已为未以管理员身份登录的用户删除了某些菜单项。我希望(从我读过的书中知道可以做到)是找到一种方法来重命名某些菜单项(管理区域的左侧边栏)。例如,将文章更改为文章。 如果有人可以提供functions.php文件的代码或向我指出方向,我将不胜感激!

6
如何自定义the_archive_title()?
在我的子主题中archive.php,我有以下代码用于显示存档页面的标题: <?php the_archive_title( '<h1 class="page-title">', '</h1>' ); ?> 但这会将我的标题显示为“ Category:Category Title ”,而不是不带前置“ Category:”的标题。 我的第一反应是覆盖get_the_archive_title()从wp-includes/general-template。但是从我读到的内容来看,即使使用儿童主题的替代内容,显然我也不应该改变wordpress的核心内容。 那么控制输出的最佳实践是the_archive_title()什么?


2
指向父主题而非子主题的get_template_directory_uri
我遇到的问题是get_template_directory_uri指向父主题,例如 site/wp-content/themes/twentythirteen/myGallery/gallery_functions_include.php 但我想指出我的孩子主题 site/wp-content/themes/child-twentythirteen/myGallery/gallery_functions_include.php 我正在使用的是 include (TEMPLATEPATH . '/myGallery/gallery_functions_include.php');


10
从the_content删除空的段落?
大家好,我只是想防止在wordpress帖子中创建空段落。尝试手动间隔内容时,这种情况经常发生。 我不知道为什么这没有生效? /*Remove empty paragraph tags from the_content*/ function removeEmptyParagraphs($content) { /*$pattern = "/<p[^>]*><\\/p[^>]*>/"; $content = preg_replace($pattern, '', $content);*/ $content = str_replace("<p></p>","",$content); return $content; } add_filter('the_content', 'removeEmptyParagraphs'); 编辑/更新: 似乎问题是这样的: function qanda($content) { // filters for [q=some question] and [a=some answer] // wraps it inside of <div class="qanda"><div class="question"> </div><div class="answer"> …

5
如何检查您是否在WP Admin部分的特定页面中?例如,如何检查我是否在“用户”>“您的个人资料”页面中?
我正在构建一个插件,我想在管理头中添加一些javascript,但仅适用于某些管理页面。我并不是指您自己创建的WordPress页面中的页面,而是现有的管理部分页面(如“您的个人资料”,“用户”等)。是否有专门用于此任务的wp函数?我一直在寻找,我只能找到布尔函数is_admin和动作钩子,但不能找到仅检查的布尔函数。

3
为什么“自定义帖子类型”中不显示“精选图片”?
我在我的functions.php中添加了缩略图支持,并添加了以下内容 // Add Thumbnail Support add_theme_support('post-thumbnails'); set_post_thumbnail_size( 140, 140, true ); 我用创建自定义帖子类型 // Create Custom Post Type for Work add_action( 'init', 'create_post_type' ); function create_post_type() { register_post_type( 'custom_post', array( 'thumbnail', 'labels' => array( 'name' => __( 'Custom' ), 'singular_name' => __( 'Custom' ) ), 'public' => true, 'has_archive' => true, …

5
为什么要使用function_exists?
我注意到很多WordPress主题的开发人员都会在functions.php中使用它 if (function_exists('register_nav_menus')) { register_nav_menus (array('primary' => 'Header Navigation')); } 对我来说,我总是对我在functions.php中使用的每个函数都使用add_action 因此,以上内容将写为: add_action('init', 'my_register_nav_menus'); function my_register_nav_menus() { register_nav_menus (array('primary' => 'Header Navigation')); } 我有两个问题: 为什么在第一种方法中使用if语句? 哪一种是正确的方法?
30 functions 

1
如何在子主题中覆盖父函数?
我一直在阅读并尝试找出解决方法,但是由于某些原因,我似乎无法在子主题中覆盖父函数。 我将TwentyTen用作父级-谁能告诉我为什么我的子主题中的此功能没有覆盖父级功能? // Override read more link function osu_twentyten_continue_reading_link() { return ' <a href="'. get_permalink() . '">' . __( 'Read on <span class="meta-nav">→</span>', 'twentyten-child' ) . '</a>'; } function osu_twentyten_auto_excerpt_more( $more ) { return ' …' . osu_twentyten_continue_reading_link(); } remove_filter( 'excerpt_more', 'twentyten_auto_excerpt_more' ); add_filter( 'excerpt_more', 'osu_twentyten_auto_excerpt_more' ); 我以为您必须先删除过滤器/操作等,然后再重新添加对不对? 谢谢, 大须

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.