Questions tagged «php»

对于有关用WordPress核心,插件和主题编写的服务器端编程语言的问题。关于在WordPress上下文之外使用PHP的问题不在主题之列,但可能会在Stack Overflow上提出。

2
如何在媒体上传-WP v3.5中默认选择图像尺寸
和我一起裸露。我想在“媒体上载”弹出页面中默认选择一个自定义图像尺寸。在Wordpress v3.4.2和更低版本中,此优雅的代码可以正常工作: function my_insert_custom_image_sizes( $sizes ) { // get the custom image sizes global $_wp_additional_image_sizes; // if there are none, just return the built-in sizes if ( empty( $_wp_additional_image_sizes ) ) return $sizes; // add all the custom sizes to the built-in sizes foreach ( $_wp_additional_image_sizes as $id => $data …
12 php  functions  filters  media 

1
printf(__()); 工作?
今天,我通过一个主题来更好地理解WordPress和模板。我发现了这一点: <?php printf( __('Designed by %s', 'Anyword'), '<a href="http://www.example.com">Blub</a>' ); ?> 我知道它显示“ Designed by Blub”(链接Blub的位置),但是这是什么__()意思,为什么要插入字符串?什么是Anyword? 有人可以为我确切解释这句话吗?

5
WordPress和魔术引号
我一直在写一些Wordpress插件,而Wordpress在将魔术引号放在POST和GET数据上时遇到了一些问题。 具体来说,\ wp-includes \ load.php中的“ wp_magic_quotes”函数在wp-settings.php中被调用(大概在每个响应中)。即使我在PHP设置中关闭了魔术引号,此函数也会在数据中添加魔术引号。 /** * Add magic quotes to $_GET, $_POST, $_COOKIE, and $_SERVER. * * Also forces $_REQUEST to be $_GET + $_POST. If $_SERVER, $_COOKIE, * or $_ENV are needed, use those superglobals directly. * * @access private * @since 3.0.0 */ function wp_magic_quotes() { …
12 php  plugins 

6
哪里存储由插件/主题创建的PHP文件
在某些情况下,插件或主题需要在以后可以包含它的某个地方创建一个php文件。例如验证码插件,或诸如twig / smarty之类的模板系统(在我的情况下,这是用于小部件集合的简单模板引擎)。 该文件应该在哪里创建? 我唯一能想到的地方是wp-content/uploads/,但这听起来不对:) 那么,有没有安全的地方可以创建文件,而不用担心它们会在WordPress /插件/主题更新中被删除? 一种解决方案是在themes / plugins目录中创建一个子主题/目录。

5
PHP最佳实践
在做诸如single.php之类的模板并且将php包裹在html中时,最好这样做: 启动+停止PHP?例如 <h1 class="post-tilte"><?php the_title(); ?></h1> <p class="post-content"><?php the_content();?></p> 要么 回声HTML和Escape PHP?例如 - <?php echo '<h1 class="post-title">' . get_the_title() . '</h1> <p class="post-content"' . get_the_content() . '</p> 我没有一个自由释放的选择,发现自己都做,只是好奇地听到一些想法
11 php  wp-query  escaping 

2
我应该在插件中使用spl_autoload_register()吗?
当我在插件中使用spl_autoload_register时,我得到: Fatal error: Uncaught exception 'LogicException' with message 'Class wp_atom_server could not be loaded' wp-includes\pluggable-deprecated.php on line 182 我做了一些阅读,发现了各种修复方法。 有人说不要在WordPress中使用spl_autoload_register。 准确吗? 我确定我可以找到该错误的“修复程序”,但是我不确定我想在每个WP版本中都这样做。 如果不使用自动加载功能,应该如何加载我的课程?这是现在打破的东西: spl_autoload_extensions(".php"); spl_autoload_register(); use MyPluginClasses\Student as MS; $student = new MS\Student(); echo $student->sayHello(); 在学生中: <?PHP namespace MyPluginClasses\Student { class Student{ public function __Construct(){ echo "Hello Johnny"; } public …

3
如何从帖子ID获取永久链接和标题?
我存储了一个帖子ID数组,我想将这些帖子列为链接,这意味着我需要获取帖子ID-$ id的标题和永久链接。以下if条件将回显该列表,这意味着我必须以某种方式将$ id替换为永久链接和标题。目前,该代码仅列出了职位ID号。 <?php if(count($related)){ echo "<div>Read More<ul>"; foreach($related as $id){ echo "<li>$id</li>"; } echo "</ul></div>"; } ?>
11 permalinks  title  array  php  id 

8
有没有一种方法可以使用Wordpress用户,但无需加载整个Wordpress核心?
我有一个Wordpress网站和一个Web应用程序,只能由注册(Wordpress)用户使用。 现在,我正在加载wp-blog-header.php以检查用户是否已登录。一切工作正常,但是由于在每个请求(包括AJAX)上我都必须加载Wordpress内核,因此它明显降低了我的应用程序速度(占总数的70%以上)加载时间)。 有没有使用Wordpress用户的简单方法,而无需加载整个Wordpress核心? 更新:我需要知道哪个用户已登录,安全性也很重要。 谢谢!
11 php 

2
如何触发WooCommerce订单完成电子邮件?
我希望能够在WooCommerce结帐流程的另一个阶段触发WooCommerce订单完成电子邮件。因此,我已经从后端禁用了WooCommerce订购完整的电子邮件,现在正在寻找一行代码,这些代码将在我想要的位置触发电子邮件。我做了一些研究,发现了如何删除订单完整的电子邮件,但没有找到如何手动触发它。有小费吗? 谢谢!
10 php  woocommerce 

1
Mega Menu Walker
我正在尝试创建一个大型菜单浏览器。不幸的是,步行者完全逃避了我的编码知识。我真的可以使用一些帮助使其正常工作。这是我需要的功能: 总结第二级<ul>在<section>。[完成] 当用户<li>在第二级中将类“ break”设置<ul>为时,<li>请重新开始<ul>。如果它是<li>列表中的第一个列表,则不要执行任何操作以防止形成空的无序列表。[完成] 当用户<li>在具有子级的第一级中将类“ widget”设置为时<ul>,请将小部件附加到该类的末尾<ul>。[完成] 将类添加mega-menu-columns-#到<li>包含具有多个列和/或小部件的下拉菜单的第一级元素中。#表示<ul>元素数,小部件+1(如果存在)。[完成] 我有一些代码可以执行某些操作,但不是全部。以下是切除部分: 将第二级包装<ul>在<section>: function start_lvl(&$output, $depth = 0, $args = array()) { if ($depth == 0) { $output .= "<section>"; } $output .= "<ul class=\"sub-menu\">"; } function end_lvl(&$output, $depth = 0, $args = array()) { $output .= "</ul>"; if ($depth == 0) { $output …

2
使用PHP函数返回HTML模板页面
我想创建一个可以使用简码插入到我的网站的表单。 如果我可以在单独的文件中创建HTML部分,然后将其插入PHP短代码(以将页面的逻辑与将其简化为短代码的机制分开),那将是非常不错的。 我该怎么办? -更新- 这就是我所做的:我有两个文件。一个叫做“ profiletemplate.php”,另一个叫做“ scodes”。它们都是我使用初始化它们的init.php为我的网站制作的插件的一部分。这是他们的内容: init.php <?php require_once(dirname(__FILE__).'/pages/scodes.php'); ?> scodes.php function jf_testcode() { include dirname(__FILE__) . 'profiletemplate.php'; } add_shortcode('testfield', 'jf_testcode'); profiletemplate.php <?php // Template for my form shortcode ?> <form> Testing </form> 然后,我在网站页面上使用[testfield]短代码。 更新2 因此,此方法有效,但未在调用短代码的位置插入HTML。相反,它只是在页面顶部插入内容(例如,如果我在函数中说“ echo'Testing”而不是'return'Testing”)。

4
在pluggable.php之前加载插件时,如何在插件中调用wp_get_current_user()?
当前结果是“ PHP致命错误:调用未定义函数wp_get_current_user()”,这是有道理的,但无济于事。 我需要使用$ current_user。 这是我当前正在使用的代码: $wp->init(); do_action( 'init' ); // Check site status $file='http://xxxxxxxx.com/wp-admin/wp_includes/pluggable.php'; if ( is_multisite() ) { if ( true !== ( $file = ms_site_check() ) ) { require( $file ); die(); } unset($file); } // Get the current user's info $current_user = wp_get_current_user(); if ( !($current_user instanceof …

4
仅某些帖子格式的get_posts
我正在尝试仅使用“常规”帖子格式的文章(而不是链接,旁白,引号等格式)创建存档列表。 如何has_post_format( 'standard' )在下面的代码中实现或类似的方法? 我一直无法找到get_posts仅要求特定格式类型的查询。 <?php // Get the posts $myposts = get_posts('numberposts=-1&orderby=post_date&order=DESC'); ?> <?php foreach($myposts as $post) : ?> <?php // Setup the post variables setup_postdata($post); $year = mysql2date('Y', $post->post_date); $month = mysql2date('n', $post->post_date); $day = mysql2date('j', $post->post_date); ?> <p> <span class="the_article"> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> </span> …

1
限制不活动的小部件的数量
我试图将“ wp_inactive_widgets”侧边栏中的小部件数量限制为最多10个,因为小部件管理页面的运行速度非常慢: add_filter('pre_update_option_sidebars_widgets', 'cleanup_inactive_widgets', 10, 2); function cleanup_inactive_widgets($new, $old){ if(!empty($new['wp_inactive_widgets']) && count($new['wp_inactive_widgets']) > 10) $new['wp_inactive_widgets'] = array_slice($new['wp_inactive_widgets'], -10, 10); return $new; } 这显然是可行的,但问题是小部件实例选项仍保留在数据库中,无论小部件实例是否存在于边栏中。 有谁知道一种删除小部件选项的方法吗? 我找到了解决方案: 编辑:在某些情况下,它似乎也从其他侧边栏中删除了小部件,我不确定是什么原因导致的... if(!empty($new['wp_inactive_widgets']) && count($new['wp_inactive_widgets']) > 10){ // find out which widget instances to remove $removed_widgets = array_slice($new['wp_inactive_widgets'], 0, -10); // remove instance options foreach($removed_widgets as …
10 php  widgets  options 


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.