我目前正在从头开始构建一个WordPress主题,作为"在工作中学习"的一种方式.虽然我过去一直非常依赖PageBuilders,但我在后端工作方面经验丰富.我现在希望创建一个没有任何Pagebuilders的主题作为提高其加载速度等的手段.
目前,我目前正在寻找网站文件的安全性,并且遇到了以下术语:
<?php
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
?>
Run Code Online (Sandbox Code Playgroud)
我理解这会阻止直接访问Web文件.我不完全确定这是什么意思.例如,我仍然可以通过FTP,服务器和WordPress仪表板访问文件.是否有其他直接访问可以防止这种情况?也许阻止通过WordPress插件等访问?
考虑到这一点,我是否应该假设上面的代码应该作为标准放在主题中的每个文件上?会有例外吗?
对此有任何进一步的解释,将不胜感激.
为什么在主题的'function.php'文件中放置WooCommerce功能修改是首选?加班,这会使文件相当大.我的理解是,通常更好的做法是拥有大量组织良好的小文件,而不是更少的大文件.
考虑到这一点,将'wc-template-functions.php'和'wc-templates-hooks.php'文件复制到主题中(同时保持其文件层次结构)并相应地修改这些文件有什么问题?
作为一个侧面请求,从一个相对新手到WooCommerce平台,我会很感激,如果我能得到一个'是的,那个有效'或'不,我已经错过了一些东西'回应我对WooCommerce的理解; 文件,钩子,动作和模板都可以与其中一个一起使用
我的理解:
woocommerce_breadcrumb条目.add_action('woocommerce_before_main_content','woocommerce_breadcrumb', 20, 0 ); 这只是指向woocommerce_breadcrumb在woocommerce_before_main_content钩子内调用.do_action( 'woocommerce_before_main_content' );在必要的位置来输出上述内容.在这种情况下,在所有模板文件中.我目前正在使用 WooCommerce 开发 WordPress 电子商务网站。
我在产品编辑页面常规设置中创建了一个自定义复选框。
我还有一个代码片段,用于在单个产品页面中显示自定义文本字段。
现在,我希望当为产品选中此自定义复选框(在其设置中)时,在单个产品页面中显示此自定义文本字段。
到目前为止我的编码:
为了在 WooCommerce 产品仪表板中创建复选框,我在文件中输入了以下代码functions.php:
<?php
// Display Fields
add_action('woocommerce_product_options_general_product_data', 'woocommerce_product_custom_fields');
// Save Fields
add_action('woocommerce_process_product_meta', 'woocommerce_product_custom_fields_save');
function woocommerce_product_custom_fields(){
global $woocommerce, $post;
echo '<div class="product_custom_field">';
// Custom Product Checkbox Field
woocommerce_wp_checkbox(
array(
'id' => '_custom_product_checkbox_field',
'placeholder' => 'Custom Product Checkbox Field',
'label' => __('Custom Product Checkbox Field', 'woocommerce'),
'desc_tip' => 'true'
)
);
echo '</div>';
}
// Saving Values
function woocommerce_product_custom_fields_save($post_id){
// Custom Product Text Field
$woocommerce_custom_product_checkbox_field = $_POST['_custom_product_checkbox_field'];
if (!empty($woocommerce_custom_product_checkbox_field )) …Run Code Online (Sandbox Code Playgroud)