标签: wordpress

woocommerce get_woocommerce_currency_symbol()

我正在开发一个woocommerce WordPress插件的扩展.

我想在自定义函数中显示循环外的货币符号

我有以下内容:

function my_function( ) {
   global  $woocommerce;
   echo get_woocommerce_currency_symbol();
}
Run Code Online (Sandbox Code Playgroud)

我不知道为什么,但这不输出符号?我错过了什么吗?

wordpress woocommerce

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

如何从字符串输出中删除回车符?

我使用wordpress作为CMS并尝试输入用户字段以填充Google Map脚本中的信息窗口.我使用它来选择id并从自定义字段中提取内容.

除非自定义字段中有任何打破脚本的html,否则它可以正常工作.
我看了htmlspcialchar和htmlentities,但不是剥离一切我想让它逃脱所以它仍然有效,并且html完好无损.有什么建议?我是PHP的新手,非常感谢任何指针.

过了一段时间,我仍然无法找到一个很好的解决方案.TheDeadMedic建议我使用esc_js

但是那打印了所有实际的html代码而不是渲染它.

感谢nickfs,因为该解决方案略胜一筹,但如果输出中有任何回车符,脚本仍然会中断,这对CMS来说不是那么好.

我试过的其他东西就是使用trim函数..这就是我现在所处的位置,只要输出中没有\ r \n就可以工作.$ snip字符串mapExcerpt字段是返回的来源:

<?php $post_id = 207; // Wordpress Post ID
$my_post = get_post($post_id);
$mapTitle  = $my_post->post_title;
$mapIMG = get_post_meta($post_id, 'mapImage', true);
$snip = get_post_meta($post_id, 'mapExcerpt', true);
$lat = get_post_meta($post_id, 'lat', true);
$long = get_post_meta($post_id, 'long', true);
$pass_to = '<div class="span-8"><div class="mapTitle">'.$mapTitle.'</div><div class="mapContent">'.$snip.'</div></div>';
$trimmed = trim($pass_to, " \r.");
?>
var point = new GLatLng('<?php echo $lat; $lat; ?>','<?php echo $long; $long; ?>');
var marker = createMarker(point,"<?php echo $mapTitle; $mapTitle; ?>", '<?php echo …
Run Code Online (Sandbox Code Playgroud)

javascript php wordpress google-maps

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

从单一帖子获取Wordpress类别

我正在完成一个WP主题,我在single.php模板上.我遇到了一些问题,因为我需要访问帖子所在的父类别才能显示某些图像和XML内容.

这是我正在谈论的一个例子.以下是单个帖子的结束URL:

/安德鲁/叶技术-2 /

/andrew/是类别,leaf-art-2是单个帖子.当我在单个帖子上时,我无法single_cat_title();返回当前帖子所在的类别.我正在使用single_cat_title();而不是the_category();因为它显示了类别的字符串值,然后我用它来放置艺术家的图片(这是他们的职位.我对url没有任何用处,我只需要带有类别名称的字符串.

这样做有什么好方法吗?我一直在搜索Wordpress Codex和很多论坛,但还没有找到任何答案.


以下是我的原帖.

我已经设置了一个名为"艺术家"的类别,当我运行时,single_cat_title("", false);我可以获取该类别的字符串值,然后使用它来搜索使用XML的相应艺术家图像.

这在category.php模板页面上工作正常.

问题是,当我实际上在一个具有"艺术家"类别的帖子中时,single_cat_title(); 不会向页面输出任何信息,从而使我无法访问XML数据.

我需要在"艺术家">"样本"帖子中,能够从WP获得该类别.

PS以上类别是使用此设置的许多类别中的一个,这就是我无法对其进行硬编码的原因.

php wordpress themes wordpress-theming

28
推荐指数
2
解决办法
10万
查看次数

如果我使用Wordpress而不是php框架来处理复杂但"标准"的webapp,我会失去什么?权衡是否值得?

我知道这已被问了很多,我已经探讨了其他答案,但我仍然有疑问,所以希望这会对辩论产生新的见解.

一年前,我在CodeIngniter中从头开始构建了一个服务调度Web应用程序,具有以下功能:

  • 具有不同角色和功能的用户管理
  • 每个用户的不同后端
  • 用于调度服务的交互式和可管理日历
  • 领土管理和任务
  • 管理服务状态
  • 报告和记录
  • 使用authorize.net计费
  • 前端信息页面

所有相当标准的东西和codeIgniter都很棒.现在,一年后,我正在修改代码.客户需要一些不同的管理功能,例如用于页面的CMS以及添加新服务和更改计算价格点等.我需要添加新的类和代码以使其工作.

在过去的一年里,我深深地投入到Wordpress中,并意识到我可以使用自定义帖子类型,分类法,自定义字段以及通过自定义插件扩展自定义功能,在wordpress中构建整个应用程序.在许多方面,这似乎会更好.

使用Wordpress而不是php框架的优点:

  • 现有基础与CMS,用户管理,熟悉的后端,数据库结构从一开始,节省了大量的开发时间
  • 不断更新安全性
  • 稳定性
  • 健壮性(我知道wordpress可以处理这个,即使它的目的是用于博客)

使用框架的原因:

  • 灵活性
  • ORM
  • MVC
  • 其他?

那么......哪个更好?我真的需要ORM或MVC来完成这个项目吗?如果我使用Wordpress,我觉得我的开发工作和客户端ux会更容易.

如果我切换到wordpress,我还会失去什么?

如何在框架中组合Wordpress,反之亦然?建议?

什么时候使用框架而不是wordpress是有意义的?

php wordpress codeigniter web-applications

28
推荐指数
2
解决办法
9397
查看次数

WooCommerce - 我在哪里可以编辑钩子生成的HTML?

我是WooCommerce的新手.无论如何,我想创建自己的主题,所以我遵循指南并将核心模板文件复制到/ mywordpresstheme/woocommerce /.

一切都很好,我正在编辑模板就好了.

然而,在WooCommerce中钩子和动作的工作方式令我感到困惑,我无法确定生成的HTML的某些部分来自何处.

例如,在content-product.php,有一个获取图像的钩子:

<?php
/*
* woocommerce_before_shop_loop_item_title hook
*
* @hooked woocommerce_show_product_loop_sale_flash - 10
* @hooked woocommerce_template_loop_product_thumbnail - 10
*/
do_action( 'woocommerce_before_shop_loop_item_title' );
?>
Run Code Online (Sandbox Code Playgroud)

但这是什么?它从何而来??在动作名称中是否有任何线索可以找到为编辑它而生成的HTML的位置?

我已经阅读了关于WooCommerce的"钩子和过滤器"的文章,但它没有解释在何种情况下或如何根据案例更改这些内容.

任何帮助将不胜感激.

我是这个系统的新手,我确信我只是在看一些非常明显的东西.

谢谢,Mikey.

wordpress wordpress-theming wordpress-plugin e-commerce woocommerce

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

APC - > APCu/OPCache,性能差

我有一个m3.xlargeEC2实例,我PHP 5.5.11今天更新了.

有了这个更新,它覆盖php55-pecl-apcphp55-pecl-apcu.

在阅读和实验之后,我的理解是APC已被替换OPCache,除了可以带回来的关键值存储APCu.

在将我的配置调整到看起来合理的东西之后,在登录时使用Wordpress现在非常慢,至少300-900ms更糟糕(前端通过清漆缓存,并且工作完美...但是当你使用管理员时故意不是缓存,而是作为罪恶缓慢).

我升级时做了一系列基准测试,每个步骤的样本量很小.随着我的继续,它的恶化程度越来越差.

  • APC(升级前) -->
  • OPCache +没有APCu -->
  • 用于APCu的OPCache + APCu + WP插件

现在我只是闲着OPCache,没有APCu.

  1. 我怎样才能达到相同的性能?我喜欢管理界面,我喜欢它有多快.老实说,我根本看不出这是一种改进,真的很令人沮丧......除非有一些我不知道的超级图书馆.它当然不是我拥有的,或者可能没有配置好.
  2. 假设#1的答案是'你把它配置成球',那么你会介意看看这个并看看这是否合理?

对于我的设置我使用最新的wordpress,一些大插件,但我不能把它们取下,因为它们很重要.幸运的是,清漆可以完成大部分工作.我的网站根目录有4个内核,16GB内存,~10k文件.我也没有真正的硬核应用程序或除了wordpress之外的任何东西,它是一个相当普通的设置.我认为这是可能有用的东西.

配置:

zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=0
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.max_wasted_percentage=5
opcache.use_cwd=1
opcache.validate_timestamps=1
opcache.revalidate_freq=0
opcache.revalidate_path=0
opcache.save_comments=0
opcache.load_comments=0
opcache.fast_shutdown=1
opcache.enable_file_override=0
opcache.optimization_level=0xffffffff
opcache.inherited_hack=1
opcache.dups_fix=0
opcache.blacklist_filename=/etc/php-5.5.d/opcache*.blacklist
opcache.max_file_size=2M
opcache.consistency_checks=1
opcache.force_restart_timeout=180
opcache.error_log=/var/log/php-fpm/5.5/opcache.log
opcache.log_verbosity_level=1
opcache.preferred_memory_model=
opcache.protect_memory=0
Run Code Online (Sandbox Code Playgroud)

php wordpress apc opcache

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

在HTTPS中加载Google字体,内容被阻止

有一个wordpress主题,自动拉取选择字体选择并从谷歌字体请求它.当几个选定页面需要ssl时,字体就变成了missing

查看控制台日志:

[已屏蔽]" https://www.example.com/ "上的页面是通过HTTPS加载的,但是运行了来自" http://fonts.googleapis.com/css?family=Alegreya+Sans:300,400,500,700,800 "的不安全内容:此内容也应通过HTTPS加载.

会进入代码并使用谷歌字体的所有https请求工作吗?这有什么解决方法吗?

找到了源代码......但好像它已经在做了这个......在if逻辑中会出现错误吗?

$prefix = "http";
            if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') $prefix = "https";

            if($get_google_font){

            if(!in_array($rule_split[0], $this->used_fonts))
            {
                $this->extra_output .= "\n<!-- google webfont font replacement -->\n";
                $this->extra_output .= '<link id="google_webfont_'.$this->webfont_count.'" rel="stylesheet" type="text/css" href="'.$prefix.'s://fonts.googleapis.com/css?family='.str_replace(' ','+',$rule_split[0]).$font_weight.'" />';
            }
Run Code Online (Sandbox Code Playgroud)

css wordpress https fonts mixed-content

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

Wordpress:获取自定义类型的所有帖子

我有这个奇怪的问题.我想获取所有自定义类型的帖子,这是我的代码段.

$query = new WP_Query(array(
    'post_type' => 'custom',
    'post_status' => 'publish'
));


while ($query->have_posts()) {
    $query->the_post();
    $post_id = get_the_ID();
    echo $post_id;
    echo "<br>";
}

wp_reset_query();
Run Code Online (Sandbox Code Playgroud)

这只能获得其中的6个,而我在数据库中有超过50条符合该条件的记录.谁能告诉我哪里出错了?

非常感谢!

wordpress

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

致命错误:'break'不在'loop'或'switch'上下文中

我已经设置了一个wordpress博客(我导入了数据库)并且它抛出了这个错误

致命错误:在@home/kbuzz/webapps/kb_blog/wp-content/plugins/types/embedded/common/toolset-forms/lib/adodb-time.inc中,'break'不在'loop'或'switch'上下文中.php在1012行

代码在下面的行10041013

function adodb_tz_offset($gmt,$isphp5)
{
    $zhrs = abs($gmt)/3600;
    $hrs = floor($zhrs);
    if ($isphp5) 
        return sprintf('%s%02d%02d',($gmt<=0)?'+':'-',floor($zhrs),($zhrs-$hrs)*60); 
    else
        return sprintf('%s%02d%02d',($gmt<0)?'+':'-',floor($zhrs),($zhrs-$hrs)*60); 
    break;
}
Run Code Online (Sandbox Code Playgroud)

php wordpress

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

如何在wordpress中获取图像路径

我开发了一个wordpress主题.我在'images'文件夹中有很多图像.但是当我在浏览器中抓取页面时它不会出现

我的代码是

的index.php

<ul>
<li><a href="#"><img src="images/mindset.jpg" width="145" height="32" /></a></li>
Run Code Online (Sandbox Code Playgroud)

在wordpress中有没有获取图像路径的功能?

php wordpress

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