WordPress

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

1
批准评论挂钩?
我希望在评论获得批准后向订阅者发送电子邮件。 法典中的两项行动是: 1。 add_action('comment_post', 'callback', $priority, $accepted_args); 参数为comment_ID和approval status(0或1)。 2。 add_action('edit_comment', 'callback', $priority, $accepted_args); 有论点 comment_ID 默认情况下,评论在发布时不会被批准,因此我认为批准时会对其进行编辑,但在法典中尚不清楚。批准评论时应使用哪个选项?
8 comments 

1
像qTranslate一样重写多语言网站的规则?
我想编写自己的用于语言切换的小插件。为此,第一件事就是使重写规则运行。我已经在网上浏览了2个小时,但是还没有找到我的问题的答案。 我想有这样的:http://www.mysite.com/de/post-title/或http://www.mysite.com/de/projects/project-title/ 因此,基本上,我想做的是保留当前url及其所有参数,只需在站点url和路径之间添加当前活动的语言片段即可。到目前为止,这是我的代码: function rewrite_rule_de(){ add_rewrite_tag('%lang%','([^&]+)'); add_rewrite_rule('^de/(.+?)/?$', 'index.php?p=$matches[1]&lang=de', 'bottom'); global $wp_rewrite; $wp_rewrite->flush_rules(); } add_action('init', 'rewrite_rule_de');

4
模板零件名称是否有变量?
您使用get_template_part()(或locate_template())称为模板的人有一种方法可以知道您所使用的模板。 例如,如果您get_template_part('loop','archive');从archive.php 然后在您的loop-archive.php文件中工作。有没有一种方法可以定义一个具有当前模板部件名称的变量$template = 'loop-archive'。更好的是,也许分为两部分,分别是“循环”和“归档”,但我可以通过一些字符串拆分来做到这一点。 问题#10537似乎有点相关,但似乎没有涵盖模板部分。

2
如何自定义插件,同时保持升级能力
我目前正在对我的WordPress插件之一进行重大更新。 该插件使用户可以从几种可用的皮肤中进行选择。我经常被要求创建自定义皮肤。为了防止这种皮肤在升级时被删除,我必须使用WordPress挂钩来禁用插件的自动更新。这显然不是理想的,因为我希望他们仍然能够更新插件。问题是WordPress处理更新的方式-它只是删除插件文件夹并安装新版本。因此,删除实际上不是旧版本一部分的文件。 目前,解决该问题的唯一方法是拥有两个外观文件夹,一个位于插件文件夹中,一个位于上载文件夹中,这真的是我可以为用户提供此外观的唯一方法吗?

2
从管理员中删除“帖子”,但显示自定义帖子
签出后:http : //codex.wordpress.org/Function_Reference/remove_menu_page, 我成功使用以下代码从菜单中隐藏了一些内容: add_action( 'admin_menu', 'my_remove_menu_pages' ); function my_remove_menu_pages() { remove_menu_page('link-manager.php'); remove_menu_page('tools.php'); remove_menu_page('users.php'); remove_menu_page('edit-comments.php'); } 但是,“帖子页面”和自定义帖子类型页面似乎都在上运行/wp-admin/edit.php。 因此,我正在寻找一种隐藏帖子菜单栏的方法,但仍显示我添加的自定义帖子类型的菜单。

1
如何从现有的永久链接中删除日期?
在对博客上的日期进行了一些研究之后,将其从现有帖子中删除似乎是一个好主意。 考虑: 自托管(在Bluehost上) 现有职位超过1000个 所有帖子均由Google编制索引,其中许多链接都来自其他域。许多帖子都链接到博客中。不想断开链接。 不想失去Pagerank或Google内帖子的年龄。这非常重要,因为大多数流量都来自Google,而且许多网页的排名都不错。 当前的URL是: http://www.thedomain.com/blog/2012/07/01/blah-blah-blah-blah/ 新网址应为 http://www.thedomain.com/blah-blah-blah-blah/ 我知道可以用ModRewrite完成,但这是最好的方法吗?Google会知道这是同一篇文章吗? 是否可以更改永久链接?

1
根据图像尺寸更改JPEG压缩
短。我希望将“大”图像压缩90%,将“中”图像压缩60%。您知道很多事情,有时较大的图像会遭受高压缩,而其他较小的图像则不会。 此功能允许重新采样所有jpg图像 function custom_jpg_compression($args) { return 90; } add_filter('jpeg_quality', 'custom_jpg_compression'); 如何按图像尺寸过滤?
8 filters  images 


1
使用add_filter将新元素插入数组
add_filter('example_filter', function(){ return array( 'tax1' ); } ); add_filter('example_filter', function(){ return array( 'tax2' ); } ); add_filter('example_filter', function(){ return array( 'tax3' ); } ); print_r( apply_filters( 'example_filter', array()) ); 结果是 Array ( [0] => tax3 ) 我无法弄清楚如何使用add_filter将新元素插入此数组。什么是正确的方法?
8 filters  array 

2
有什么方法可以动态更改小部件标题?
我遇到的情况是,几个自定义边栏中有很多小部件。我想知道是否有一种简单的方法来动态更改每个小部件的标题。通常,小部件具有标题字段,您可以手动设置或在插件本身上设置。 我希望将每个帖子的元字段值添加到每个小部件标题中。 逻辑将类似于: $dynamic_title = get_the_title(); // add a filter to change the widget titles per post value // // The widget title would be something like "Recent Posts for $dynamic_title" 我知道有一个widget_title过滤器,但是您如何定位特定的小部件? ps。我无法使用常规register_sidebar参数,因为有许多需要特定标题的小部件。
8 widgets  title 

4
如何获得循环之外的发布日期?
我需要拉出帖子的发布日期,以使帖子自动过期。问题是我无法获得正确的发布日期。 这是我的代码: global $wpdb; $post_ids = $wpdb->get_results( "SELECT ID FROM $wpdb->posts WHERE post_status ='publish'" ); foreach($post_ids as $id){ $postdate = get_the_date("Y-m-d",$id ); //here is what I can figure out ....... ......etc } 当我回显$ postdate时,它给出了错误的日期。不是wp_posts表中存在的日期。 如何正确获取日期?
8 database  date 

1
注册并排队有条件的(浏览器特定的)javascript文件?
该WP.SE社区一直建议使用wp_register_script,并wp_enqueue_script在主题/模板添加脚本(同样地,wp_register_style并wp_enqueue_style为样式表)。 这就是我注册和排队脚本的方式... 首先,我在functions.php中添加类似的内容 add_action('init','wpse54189_register_script'); function wpse54189_register_script(){ //Register scripts wp_enqueue_script( 'jquery' ); wp_register_script( 'aahan_bootstrap_transition', get_template_directory_uri().'/js/bootstrap-transition.js'); wp_register_script( 'aahan_bootstrap_carousel', get_template_directory_uri().'/js/bootstrap-carousel.js', array('aahan_bootstrap_transition')); wp_register_script( 'wpse54189_ajax_comment', get_template_directory_uri().'/js/no-reload-comments.js'); } 然后像这样在模板文件(例如header.php)中调用它 <?php wp_enqueue_script( 'aahan_bootstrap_carousel' ); ?> <?php wp_enqueue_script( 'wpse54189_ajax_comment' ); ?> 现在,至此,我该如何注册和入列特定浏览器可以识别的“条件JavaScript文件”?例如: <!--[if lt IE 9]> <script src="<?php echo get_template_directory_uri(); ?>/js/html5.js" type="text/javascript"></script> <![endif]--> 如何正确注册和入队? PS:我使用Reddle主题,该主题由Automattic的主题牧马人开发。主题的header.php直接使用前面提到的代码-即未排队。那么,这是否意味着这是唯一的方法?



5
自动化备份过程(超过30个网站)
我经营着越来越多的WordPress网站,以及许多针对客户的网站-登录以执行升级变得很烦人。我正在寻找一种自动化过程的方法,最好是从单个命令行脚本开始-一次升级所有站点。 我的理想选择是挂接到WordPress内置的非常好的自动备份中,并从所有30个站点的服务器中触发它。那将涉及文件更新,然后是数据库。 我每隔24小时备份一次的所有网站都没有优先考虑(但是永远不能备份太多!)但是,确定站点是否损坏的一种方法将是另一个有趣的功能。 假设我无法直接挂接到内置备份中,我发现此备份或多或少以我的思维方式运行,但不执行数据库升级。我了解,这可能会使网站容易受到攻击,直到管理员登录并执行更新(最多可能需要72个小时)。 我也熟悉使用SVN和GIT执行更新的概念,但是如果我沿这条路线走下去,我需要找到一种可靠的方法来确保a)/ wp-content文件没有损坏,b )会保留整个网站的文件权限(如果脚本以root用户身份运行)。

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.