标签: wordpress

在WordPress插件中调用TinyMCE

有没有办法将TinyMCE添加到我自己的WordPress插件中?

我的后端脚本中有一个textarea,并希望将此区域变为TinyMCE WYSIWYG可编辑字段.有没有办法做到这一点?

wysiwyg演示截图

此代码对我不起作用:

<?php
    wp_tiny_mce(false,array("editor_selector" => "test"));
?>
<textarea class="test" id="test" name="test"></textarea>
Run Code Online (Sandbox Code Playgroud)

它显示了javascript错误

f is undefined
Run Code Online (Sandbox Code Playgroud)

Firebug截图: TinyMCE错误

这也不起作用:

<textarea class="theEditor" id="videogalerie-add_description" name="videogalerie-add_description"></textarea>
Run Code Online (Sandbox Code Playgroud)

javascript php wordpress plugins tinymce

38
推荐指数
3
解决办法
3万
查看次数

传递额外参数以进行回调

我有以下功能.Wordpress功能,但这确实是一个PHP问题.他们$term根据artist_lastname每个对象元数据中的属性对对象进行排序.

我想$meta在第一个函数中传入一个字符串.这将允许我重用此代码,因为我可以将其应用于各种元数据属性.

但我不知道如何将额外的参数传递给usort回调.我试图制作一个JS风格的匿名函数,但服务器上的PHP版本太旧了,引发了语法错误.

任何帮助 - 或者向手册右上角推 - 都非常感激.谢谢!

function sort_by_term_meta($terms, $meta) 
{
  usort($terms,"term_meta_cmp");
}

function term_meta_cmp( $a, $b ) 
{
    $name_a = get_term_meta($a->term_id, 'artist_lastname', true);
    $name_b = get_term_meta($b->term_id, 'artist_lastname', true);
    return strcmp($name_a, $name_b); 
} 
Run Code Online (Sandbox Code Playgroud)

php wordpress callback usort

38
推荐指数
3
解决办法
3万
查看次数

WordPress wp_title在索引页面上留空

我是WordPress的新手,刚刚安装了3.3.1版本.

我做了一些关于这个问题的谷歌搜索,并找到了一些答案,但它们与版本2.7相关,并且是2-3岁.

基本上,该wp_title功能在每个页面上工作正常,除了我的主页,它返回空白,我没有任何标题.我可以硬编码标题,但我宁愿不这样做.

有罪的代码行:

<title><?php wp_title ( '| So Fresh n\' So Clean', true,'right' ); ?></title>
Run Code Online (Sandbox Code Playgroud)

我找不到有关3.3.1中发生的这个问题的任何事情,所以很清楚我做错了什么.

wordpress title

38
推荐指数
4
解决办法
4万
查看次数

如何获取WordPress中的当前插件目录?

我需要获取当前的插件目录

[wordpress_install_dir]/wp-content/plugins/plugin_name
Run Code Online (Sandbox Code Playgroud)

(如果getcwd()从插件中调用,则返回[wordpress_install_dir],安装的根目录)

感谢帮助

php wordpress plugins

37
推荐指数
5
解决办法
9万
查看次数

PHP因子30从Linux到Windows的性能差异

我们的团队正在开发WordPress插件,并在几个独立的服务器上提供托管实例.我们的WordPress安装由Git管理,所有服务器都部署了相同的源和WordPress设置,只有数据库中的域和实际数据不同.对于每个安装,MySql都在同一主机上运行.WordPress专门在每台服务器上运行.

但是,在Windows Server 2008 RC2上部署此设置后,我们发现与其他服务器相比,性能差异显着:页面生成时间从平均值上升.使用PHP生成的页面为400ms到4000-5000ms.对于Apache提供的静态资源,速度与linux上的速度大致相同.

所以我们采取了一些措施来缩小问题范围:

  1. 确保没有运行的防病毒软件或其他Windows域内容干扰
  2. 收集分析数据以在脚本执行期间识别时间杀手
  3. 测试不同的服务器和硬件设置
  4. 仔细检查Apache和PHP配置是否存在明显的配置错误

经过一些分析后,我们很快发现我们的Windows机器上正则表达式的评估速度非常慢.评估10.000正则表达式(preg_match)在Linux上大约需要90ms,在Windows上需要3000ms.

下面提供了分析,系统测试和配置细节.我们不想优化这个脚本(我们知道该怎么做).我们希望脚本在Windows上以与Linux上相同的速度运行(给出与opcache/...相同的设置).无需优化脚本的内存占用.

更新:一段时间后,系统似乎耗尽内存,触发内存异常和随机分配.有关详细信息,请参阅下方.重启Apache/PHP现在解决了这个问题.

跟踪_get_browser是:

File (called from)
require wp-blog-header.php (index.php:17)
wp (wp-blog-header.php:14)
WP->main (functions.php:808)
php::do_action_ref_array (class-wp.php:616)
php::call_user_func_array (wp-includes/plugin:507)
wp_slimstat::slimtrack  (php::internal (507))
wp_slimstat::_get_browser (wp-slimstat.php:385)
Run Code Online (Sandbox Code Playgroud)

更新2:某些原因我不记得我们回到激活PHP作为我们服务器上的Apache模块(同样会导致性能不佳).但今天他们跑得非常快(约1秒/请求).添加Opcache可以将其降低到~400ms/req.Apache/PHP/Windows保持不变.

1)分析结果

在所有机器上使用XDebug进行分析.通常我们只收集了一些运行 - 这些足以显示大部分时间(50%以上)花费的位置:[get_browser][1]WordPress插件的方法wp-slimstats:

protected static function _get_browser(){
    // Load cache
    @include_once(plugin_dir_path( __FILE__ ).'databases/browscap.php');
    // browscap.php contains $slimstat_patterns and $slimstat_browsers

    $browser = array('browser' => 'Default Browser', 'version' => '1', 'platform' => 'unknown', 'css_version' => 1, …
Run Code Online (Sandbox Code Playgroud)

php linux windows wordpress performance

37
推荐指数
1
解决办法
2万
查看次数

WordPress rest API OAuth curl命令

我有WordPress休息APIWordPress OAuth服务器设置插件设置,并且 每次呼叫内容没有给我OAuth令牌或OAuth秘密时,我尝试使用http://sevengoslings.net/~fangel/oauth-explorer/进行身份验证我需要.

我尝试了这些步骤 https://wordpress.org/support/topic/json-rest-api-from-mobile-app-with-authentication

1. Enter base url (http(s)://your.domain.com/oauth1
2. Access token = request
3. Authorize = authorize
4. Access_Token = access
5. Enter your consumer key and secret (leave method as HMAC-SHA1)
Run Code Online (Sandbox Code Playgroud)

点击即可Get Request Token获得通话内容

我应该在Call Content中得到这个

Call content now = 

oauth_token=xxxxxxxxxxxxxxx&oauth_token_secret=xxxxxxxxxxxxxxxxxxxxx&oauth_call_back_confirmed=true
Run Code Online (Sandbox Code Playgroud)

但我只能得到这个

 page not found 
Run Code Online (Sandbox Code Playgroud)

在这里,他们无法使三脚OAuth1.0a工作,所以他们使用基本的OAuth,这需要另一个插件,不建议用于生产.

我应该使用不同的签名方法吗?

我正在寻找两个curl命令来从服务器获取OAuth授权,另一个用于交换此授权以获取访问令牌+刷新令牌.

php wordpress curl oauth

37
推荐指数
1
解决办法
1962
查看次数

在线代码着色服务

我想知道是否有人知道我们粘贴代码的在线服务,它会生成该代码的彩色html源代码.它可以是PHP,HTML,CSS,Javascript,C,Java.

想法是,一旦我有彩色的HTML代码,我可以很容易地把它放在我的wordpress.com博客.我知道[sourcecode language="whatever"]但只是想知道支持多种语言的在线服务.的好处是,我可以选择我的代码,在线服务的任何色彩风格/主题.

谢谢

javascript php c# wordpress

36
推荐指数
3
解决办法
6892
查看次数

WooCommerce:通过价格优惠将产品添加到购物车?

$replace_order = new WC_Cart();
$replace_order->empty_cart( true );
$replace_order->add_to_cart( "256", "1");
Run Code Online (Sandbox Code Playgroud)

以上代码将产品添加256到购物车1时间.但我遇到的问题是我希望能够完全覆盖产品价格...据我所知,我唯一能做的就是将优惠券应用到购物车.

有没有办法将价格完全覆盖到完全定制的东西?

php wordpress class woocommerce

36
推荐指数
4
解决办法
6万
查看次数

WooCommerce按ID返回产品对象

我正在为woocommerce创建一个自定义主题,我需要能够创建一个迷你产品展示.我在找到woocommerce api的文档时遇到了问题.我有一个逗号分隔的产品ID列表,我需要迭代并按顺序显示每个产品ID的自定义迷你产品显示.

$key_values = get_post_custom_values('rel_products_ids');
//get comma delimited list from product

$rel_product_ids = explode(",", trim($key_values, ",")); 
// create array of just the product ids

foreach ( $rel_product_ids as $pid ) { 
    //sequentially get each id and do something with it

    $loop = new WP_Query( array( 'post__in' => $pid ) );
    // also tried ...
    //$loop = new WP_Query( array( 'ID' => $pid ) );

    while ( $loop->have_posts() ) : $loop->the_post(); $_product = &new WC_Product( $loop->post->ID );
        //do stuff here I …
Run Code Online (Sandbox Code Playgroud)

php wordpress woocommerce

36
推荐指数
3
解决办法
10万
查看次数

在Wordpress页面和帖子中插入PHP代码

我想知道使用PHP的访客国家并将其显示在WordPress页面中.但是当我在WordPress页面或Post中添加PHP代码时,它会给我错误.我们如何在Wordpress Page和Post中添加PHP代码.

  <?PHP
   try{
        function visitor_country()
            {

                $client  = @$_SERVER['HTTP_CLIENT_IP'];
                $forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
                $remote  = $_SERVER['REMOTE_ADDR'];
                $result  = "Unknown";
                if(filter_var($client, FILTER_VALIDATE_IP))
                {
                    $ip = $client;
                }
                elseif(filter_var($forward, FILTER_VALIDATE_IP))
                {
                    $ip = $forward;
                }
                else
                {
                    $ip = $remote;
                }

                $ip_data = @json_decode(file_get_contents("http://www.geoplugin.net/json.gp?ip=".$ip));

                if($ip_data && $ip_data->geoplugin_countryName != null)
                {
                    $result = array('ip'=>$ip,
                                    'continentCode'=>$ip_data->geoplugin_continentCode,
                                    'countryCode'=>$ip_data->geoplugin_countryCode,
                                    'countryName'=>$ip_data->geoplugin_countryName,
                                    );
                }

                return $result;
            }


           $visitor_details= visitor_country(); // Output Country name [Ex: United States]
           $country=$visitor_details['countryName'];
Run Code Online (Sandbox Code Playgroud)

php wordpress

36
推荐指数
3
解决办法
13万
查看次数

标签 统计

wordpress ×10

php ×9

javascript ×2

plugins ×2

woocommerce ×2

c# ×1

callback ×1

class ×1

curl ×1

linux ×1

oauth ×1

performance ×1

tinymce ×1

title ×1

usort ×1

windows ×1