Black Friday Sale!

Automatic 15% off all orders over $100!

Loading. Please wait...

Print-on-demand for businesses

Empower your brand with custom products—seamlessly designed, printed, and fulfilled under your own label.

Get started

Start with a blank canvas...

Designers, sellers, and marketplace entrepreneurs—meet your new wholesale production partner. Print Legacy makes it easy to create, personalize, and deliver high-quality products with no minimums—so you can scale your business without the risk.

Custom
Socks

$6.99

Customize

( ! ) Warning: Attempt to read property "name" on false in /home/jlahijani/Sites/printlegacy.com/site/templates/_pseudo-product-item.php on line 12 Call Stack #TimeMemoryFunctionLocation 10.0001464320{main}( ).../index.php:0 20.32087244816ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55 30.32087244816ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484 40.32097245232ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:998 50.32097245232ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416 60.32317253848ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 8408; public $name = 'full-custom'; public $parent = '/'; public $template = 'basic'; public $title = 'Full Custom'; public $seo_title = ''; public $seo_description = ''; public $summary = ''; public $seo_keywords = ''; public $og_title = ''; public $og_description = ''; public $x_title = ''; public $x_description = ''; public $og_image = '(Pageimages) '; public $body = ''; public $data = ['title' => 'Full Custom', 'seo_title' => '', 'seo_description' => '', 'summary' => '', 'seo_keywords' => '', 'og_title' => '', 'og_description' => '', 'x_title' => '', 'x_description' => '', 'og_image' => class ProcessWire\Pageimages { ... }, 'body' => ''] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114 70.40767671624ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:193 80.40767671624ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 8408; public $name = 'full-custom'; public $parent = '/'; public $template = 'basic'; public $title = 'Full Custom'; public $seo_title = ''; public $seo_description = ''; public $summary = ''; public $seo_keywords = ''; public $og_title = ''; public $og_description = ''; public $x_title = ''; public $x_description = ''; public $og_image = '(Pageimages) '; public $body = ''; public $data = ['title' => 'Full Custom', 'seo_title' => '', 'seo_description' => '', 'summary' => '', 'seo_keywords' => '', 'og_title' => '', 'og_description' => '', 'x_title' => '', 'x_description' => '', 'og_image' => class ProcessWire\Pageimages { ... }, 'body' => ''] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484 90.40787674176ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1099 100.40787674176ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484 110.40787674592ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:998 120.40787674592ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416 130.40807680608ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:581 140.40807680608ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'forms' => class ProcessWire\FormBuilder { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\UserPage { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'order' => class ProcessWire\NullPage { ... }, 'checkout' => class ProcessWire\CheckoutPage { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'automatic_discount' => class ProcessWire\DiscountPage { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484 150.40807681960ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:998 160.40807681960ProcessWire\TemplateFile->___render( ).../Wire.php:413 170.40837708648require( '/home/jlahijani/Sites/printlegacy.com/site/templates/basic.php ).../TemplateFile.php:328 180.40857709224include( '/home/jlahijani/Sites/printlegacy.com/site/templates/_section-products-full-custom-01.php ).../basic.php:15 190.41767732168ProcessWire\Wire->__call( $method = 'include', $arguments = [0 => '_products-list.php', 1 => ['products' => class ProcessWire\PageArray { ... }, 'class' => 'grid gap-2 grid-cols-2 lg:gap-6 lg:grid-cols-3']] ).../_section-products-full-custom-01.php:20 200.41767732168ProcessWire\WireHooks->runHooks( $object = class ProcessWire\WireFileTools { }, $method = 'include', $arguments = [0 => '_products-list.php', 1 => ['products' => class ProcessWire\PageArray { ... }, 'class' => 'grid gap-2 grid-cols-2 lg:gap-6 lg:grid-cols-3']], $type = ??? ).../Wire.php:484 210.41777733504ProcessWire\Alef->ProcessWire\{closure:/home/jlahijani/Sites/processwire-modules/Alef/Alef.module.php:527-556}( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\WireFileTools { ... }, 'method' => 'include', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'WireFileTools:100.0:include', 'cancelHooks' => FALSE, 'when' => 'before'] } ).../WireHooks.php:1090 220.41797734944ProcessWire\wireIncludeFile( $filename = '/home/jlahijani/Sites/printlegacy.com/site/templates/_products-list.php', $vars = ['products' => class ProcessWire\PageArray { public $count = 6; public $items = [...]; public $selectors = '' }, 'class' => 'grid gap-2 grid-cols-2 lg:gap-6 lg:grid-cols-3'], $options = [] ).../Alef.module.php:554 230.41797734944ProcessWire\WireFileTools->___include( $filename = '/home/jlahijani/Sites/printlegacy.com/site/templates/_products-list.php', $vars = ['products' => class ProcessWire\PageArray { public $count = 6; public $items = [...]; public $selectors = '' }, 'class' => 'grid gap-2 grid-cols-2 lg:gap-6 lg:grid-cols-3'], $options = [] ).../Functions.php:552 240.41797740832include( '/home/jlahijani/Sites/printlegacy.com/site/templates/_products-list.php ).../WireFileTools.php:1613 250.43617796640ProcessWire\Wire->__call( $method = 'include', $arguments = [0 => './_pseudo-product-item.php', 1 => ['p' => class ProcessWire\ProductCustomizerPage { ... }]] ).../_products-list.php:10 260.43617796640ProcessWire\WireHooks->runHooks( $object = class ProcessWire\WireFileTools { }, $method = 'include', $arguments = [0 => './_pseudo-product-item.php', 1 => ['p' => class ProcessWire\ProductCustomizerPage { ... }]], $type = ??? ).../Wire.php:484 270.43627797976ProcessWire\Alef->ProcessWire\{closure:/home/jlahijani/Sites/processwire-modules/Alef/Alef.module.php:527-556}( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\WireFileTools { ... }, 'method' => 'include', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'WireFileTools:100.0:include', 'cancelHooks' => FALSE, 'when' => 'before'] } ).../WireHooks.php:1090 280.43637798760ProcessWire\wireIncludeFile( $filename = '/home/jlahijani/Sites/printlegacy.com/site/templates/./_pseudo-product-item.php', $vars = ['p' => class ProcessWire\ProductCustomizerPage { public $id = 7281; public $name = 'custom-blanket'; public $parent = '/products/'; public $template = 'product_customizer'; public $numChildren = 4; public $title = 'Custom Blanket'; public $product_category = FALSE; public $data = [...] }], $options = [] ).../Alef.module.php:554 290.43637798760ProcessWire\WireFileTools->___include( $filename = '/home/jlahijani/Sites/printlegacy.com/site/templates/./_pseudo-product-item.php', $vars = ['p' => class ProcessWire\ProductCustomizerPage { public $id = 7281; public $name = 'custom-blanket'; public $parent = '/products/'; public $template = 'product_customizer'; public $numChildren = 4; public $title = 'Custom Blanket'; public $product_category = FALSE; public $data = [...] }], $options = [] ).../Functions.php:552 300.43647803072include( '/home/jlahijani/Sites/printlegacy.com/site/templates/_pseudo-product-item.php ).../WireFileTools.php:1613 ">

Custom
Blanket

$19.99

Customize

Custom
Wrapping Paper

$17.99

Customize

Custom Pattern
Socks

$6.99

Customize

( ! ) Warning: Attempt to read property "name" on false in /home/jlahijani/Sites/printlegacy.com/site/templates/_pseudo-product-item.php on line 12 Call Stack #TimeMemoryFunctionLocation 10.0001464320{main}( ).../index.php:0 20.32087244816ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55 30.32087244816ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484 40.32097245232ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:998 50.32097245232ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416 60.32317253848ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 8408; public $name = 'full-custom'; public $parent = '/'; public $template = 'basic'; public $title = 'Full Custom'; public $seo_title = ''; public $seo_description = ''; public $summary = ''; public $seo_keywords = ''; public $og_title = ''; public $og_description = ''; public $x_title = ''; public $x_description = ''; public $og_image = '(Pageimages) '; public $body = ''; public $data = ['title' => 'Full Custom', 'seo_title' => '', 'seo_description' => '', 'summary' => '', 'seo_keywords' => '', 'og_title' => '', 'og_description' => '', 'x_title' => '', 'x_description' => '', 'og_image' => class ProcessWire\Pageimages { ... }, 'body' => ''] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114 70.40767671624ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:193 80.40767671624ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 8408; public $name = 'full-custom'; public $parent = '/'; public $template = 'basic'; public $title = 'Full Custom'; public $seo_title = ''; public $seo_description = ''; public $summary = ''; public $seo_keywords = ''; public $og_title = ''; public $og_description = ''; public $x_title = ''; public $x_description = ''; public $og_image = '(Pageimages) '; public $body = ''; public $data = ['title' => 'Full Custom', 'seo_title' => '', 'seo_description' => '', 'summary' => '', 'seo_keywords' => '', 'og_title' => '', 'og_description' => '', 'x_title' => '', 'x_description' => '', 'og_image' => class ProcessWire\Pageimages { ... }, 'body' => ''] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484 90.40787674176ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1099 100.40787674176ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484 110.40787674592ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:998 120.40787674592ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416 130.40807680608ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:581 140.40807680608ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'forms' => class ProcessWire\FormBuilder { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\UserPage { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'order' => class ProcessWire\NullPage { ... }, 'checkout' => class ProcessWire\CheckoutPage { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'automatic_discount' => class ProcessWire\DiscountPage { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484 150.40807681960ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:998 160.40807681960ProcessWire\TemplateFile->___render( ).../Wire.php:413 170.40837708648require( '/home/jlahijani/Sites/printlegacy.com/site/templates/basic.php ).../TemplateFile.php:328 180.40857709224include( '/home/jlahijani/Sites/printlegacy.com/site/templates/_section-products-full-custom-01.php ).../basic.php:15 190.41767732168ProcessWire\Wire->__call( $method = 'include', $arguments = [0 => '_products-list.php', 1 => ['products' => class ProcessWire\PageArray { ... }, 'class' => 'grid gap-2 grid-cols-2 lg:gap-6 lg:grid-cols-3']] ).../_section-products-full-custom-01.php:20 200.41767732168ProcessWire\WireHooks->runHooks( $object = class ProcessWire\WireFileTools { }, $method = 'include', $arguments = [0 => '_products-list.php', 1 => ['products' => class ProcessWire\PageArray { ... }, 'class' => 'grid gap-2 grid-cols-2 lg:gap-6 lg:grid-cols-3']], $type = ??? ).../Wire.php:484 210.41777733504ProcessWire\Alef->ProcessWire\{closure:/home/jlahijani/Sites/processwire-modules/Alef/Alef.module.php:527-556}( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\WireFileTools { ... }, 'method' => 'include', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'WireFileTools:100.0:include', 'cancelHooks' => FALSE, 'when' => 'before'] } ).../WireHooks.php:1090 220.41797734944ProcessWire\wireIncludeFile( $filename = '/home/jlahijani/Sites/printlegacy.com/site/templates/_products-list.php', $vars = ['products' => class ProcessWire\PageArray { public $count = 6; public $items = [...]; public $selectors = '' }, 'class' => 'grid gap-2 grid-cols-2 lg:gap-6 lg:grid-cols-3'], $options = [] ).../Alef.module.php:554 230.41797734944ProcessWire\WireFileTools->___include( $filename = '/home/jlahijani/Sites/printlegacy.com/site/templates/_products-list.php', $vars = ['products' => class ProcessWire\PageArray { public $count = 6; public $items = [...]; public $selectors = '' }, 'class' => 'grid gap-2 grid-cols-2 lg:gap-6 lg:grid-cols-3'], $options = [] ).../Functions.php:552 240.41797740832include( '/home/jlahijani/Sites/printlegacy.com/site/templates/_products-list.php ).../WireFileTools.php:1613 250.51567861912ProcessWire\Wire->__call( $method = 'include', $arguments = [0 => './_pseudo-product-item.php', 1 => ['p' => class ProcessWire\ProductCustomizerPage { ... }]] ).../_products-list.php:10 260.51567861912ProcessWire\WireHooks->runHooks( $object = class ProcessWire\WireFileTools { }, $method = 'include', $arguments = [0 => './_pseudo-product-item.php', 1 => ['p' => class ProcessWire\ProductCustomizerPage { ... }]], $type = ??? ).../Wire.php:484 270.51577863248ProcessWire\Alef->ProcessWire\{closure:/home/jlahijani/Sites/processwire-modules/Alef/Alef.module.php:527-556}( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\WireFileTools { ... }, 'method' => 'include', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'WireFileTools:100.0:include', 'cancelHooks' => FALSE, 'when' => 'before'] } ).../WireHooks.php:1090 280.51597864032ProcessWire\wireIncludeFile( $filename = '/home/jlahijani/Sites/printlegacy.com/site/templates/./_pseudo-product-item.php', $vars = ['p' => class ProcessWire\ProductCustomizerPage { public $id = 8592; public $name = 'custom-pattern-blanket'; public $parent = '/products/'; public $template = 'product_customizer'; public $numChildren = 3; public $title = 'Custom Pattern Blanket'; public $product_category = FALSE; public $data = [...] }], $options = [] ).../Alef.module.php:554 290.51597864032ProcessWire\WireFileTools->___include( $filename = '/home/jlahijani/Sites/printlegacy.com/site/templates/./_pseudo-product-item.php', $vars = ['p' => class ProcessWire\ProductCustomizerPage { public $id = 8592; public $name = 'custom-pattern-blanket'; public $parent = '/products/'; public $template = 'product_customizer'; public $numChildren = 3; public $title = 'Custom Pattern Blanket'; public $product_category = FALSE; public $data = [...] }], $options = [] ).../Functions.php:552 300.51597868344include( '/home/jlahijani/Sites/printlegacy.com/site/templates/_pseudo-product-item.php ).../WireFileTools.php:1613 ">

Custom Pattern
Blanket

$19.99

Customize

Custom Pattern
Wrapping Paper

$17.99

Customize